14号上午接到同事报告,某主机cpu占用至100%并出现可疑进程,安全部接手调查后结论如下:

主机未限制端口访问,ssh端口暴露外网外部大量ip(100+)对主机进行暴力破解,且从13号21:12分开始陆续有6外网ip成功验证ssh验证成功后自动化程序部署后门,并加入至计划任务,第一个成功执行的恶意计划任务时间为22:21:01,发现多处后门,但比对后发现实际可执行文件有两个(通过部分行为及连接ip判断两个文件为同一伙人所留),其余只是文件名不同14号上午由于恶意进程导致机器cpu占用100%,后门被发现0x01 过程

分析过程如下:

登入主机后,找到可疑进程PID

进入proc/进程目录找到对应文件绝对路径在/usr/bin目录下,stat信息如下:

#!bash[[email protected] 13146]# stat /usr/bin/faksiubbri file: `/usr/bin/faksiubbri' Size: 610224 Blocks: 1200 IO Block: 4096 regular fileDevice: 802h/2050d Inode: 312739 Links: 1Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2015-01-14 10:33:13.000000000 +0800Modify: 2015-01-14 10:29:06.000000000 +0800Change: 2015-01-14 10:29:06.000000000 +0800[[email protected] 13862]# stat /usr/bin/ohzxttdhqkfile: `/usr/bin/ohzxttdhqkSize: 625622 Blocks: 1232 IO Block: 4096 regular fileDevice: 802h/2050d Inode: 312741 Links: 1Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2015-01-14 10:32:59.000000000 +0800Modify: 2015-01-14 10:29:26.000000000 +0800Change: 2015-01-14 10:29:26.000000000 +0800

初步判断入侵时间在14号上午10:29分附近并且已有root权限

通过strings查看文件内容发现远程ip及其他信息

搜索ip发现为香港主机,并且在微博上发现如下信息

结合strings其他信息,确定该文件为恶意程序,目前首先要判断攻击者通过什么途径入侵进来,此处绕了一些弯路,原因如下几点:

服务器运行了web、ftp服务,但非root权限last并未发现异常登录信息、history未发现可疑操作、且默认ssh端口禁止对外开放,故忽视了ssh入侵的判断服务器存在bash漏洞,导致怀疑是bash漏洞+提权、但未发现可疑的accesslog此前stat文件判断时间有误,事后发现管理员之前有kill程序进程操作,进程结束后会删除自身并生成新的文件,所以stat到的时间信息其实是管理员kill进程的时间

后来有同事在网上查到该ddos后门通过ssh暴力破解方式传播,才重新把目光放到ssh。与相关人员确认得知,服务器由于特殊原因对外开放了22端口,并且机器为弱口令,结合此信息,推测服务器为暴力破解ssh入侵,故排查secure日志

6台外网主机有ssh验证成功记录,时间在13号21:12至23:59分之间,其中ip118.193.199.132与ip104.149.220.27在secure日志中无密码错误记录,推测为使用其它主机暴力破解,成功后返回密码使用其余主机登录

查看cron日志发现每3分钟会执行两个恶意脚本

/etc/cron.hourly/cron.sh/etc/cron.hourly/udev.sh

cron.sh文件内容如下

其中/lib/libgcc.so通过文件大小及strings部分内容基本确定与/usr/bin下的恶意程序ohzxttdhqk相同

udev.sh文件内容如下

其中/lib/libgcc4.so通过文件大小及strings部分内容基本确定与/usr/bin下的恶意程序faksiubbri相同

分别查看第一次执行计划任务时间如下

时间上与暴力破解成功时间吻合,基本可判断后门程序通过ssh途径被植入

查看secure日志,取之前发现ip成功验证ssh至断开连接时间差,结果如下

221.235.189.229

62.210.180.180

103.41.124.48

118.193.199.132

175.126.82.235
Jan 13 23:22:23成功认证后无断开信息

104.149.220.27

通过成功验证ssh至断开连接时间差可看到221.235.189.229、62.210.180.180、103.41.124.48时间差为0,推测暴力破解成功后无其他举动,那么结合计划任务运行时间与时间差信息可判断种植后门的两个ip应该为118.193.199.132与175.126.82.235

但118.193.199.132时间差也仅有5秒钟时间,人工很难完成种植后门的操作,由此判断是自动化程序完成

0x02 疑点

目前疑点主要为不清楚后门通过什么方式被部署进来?

验证发现通过scp远程拷贝文件至主机与ssh登录后退出都会产生Received disconnect的日志,如果通过ssh自动化部署,last为何会看不到记录?是否单独清除了相关记录?如果是scp远程拷贝,是通过什么方式执行程序的?目前暂不知晓通过何种方式可以仅将文件放入机器后可以让程序自动执行,是否还有其他部署方式?

0x03 改进建议 排查其他主机是否有重要端口对外