02 上机抓“老狐狸”
1、定位进程及文件
cat /proc/[PID]/exe > /tmp/threatbook/malware
,来获取该进程已被删除的源文件,如图:(1)排查~/.profile和~/.bashrc文件
首先想到的是文件~/.profile
和~/.bashrc
被加料?。
之前就有部分挖矿家族(如TeamTNT)便通过修改这两个文件来实现SSH登陆实现自启动。不过经过排查,显然这两个文件并没有被篡改⚠️。
注:~/.profile
是在系统启动时执行shell命令;~/.bashrc
是用户登录时执行shell命令。
(2)排查系统命令被篡改
排查完~/.profile和~/.bashrc文件没有问题后,便开始怀疑会不会是sshd
或是其他命令被篡改了呢?便使用命令rpm -Va
进行系统完整性检查,排查系统命令是否被替换(重点关注S、5、T)。
经初步排查,发现系统命令/usr/bin/hostname好像有点可疑。
PS:事后我也测试了rkhunter(用于检测命令篡改的工具),发现其并不能发现hostname命令是被篡改的。这里如果有人知道为什么的话,欢迎在评论中留言讨论一下。
于是便将/usr/bin/hostname拿下来,经过分析,确实存在问题。
首先hostname文件加了魔改后的UPX壳(无法直接使用upx -d
脱壳),一眼黑。经过徒手脱壳后,发现该文件是经过篡改的hostname文件,如图:
注:Linux下手脱UPX变型壳,可参考此文章:https://xz.aliyun.com/t/6881
在保留原本的hostname功能的情况下,在调用时会执行如下命令,将文件/lib64/libss.so.3.0拷贝至/tmp/<random uuid>,然后运行拷贝后的文件/tmp/<random uuid>,最终再将拷贝后的文件删除,具体命令如下:
[ `ps -ef|grep ntsd|grep -v grep|wc -l` -gt 2 ] &&
(3)hostname实现SSH登录自启?
现在定位到了OldFox是通过篡改hostname,来运行恶意进程[ntsd]的。但是如何失陷的SSH登陆自启的呢?难道SSH登陆时会调用hostname?带着这样疑惑,使用sysdig
抓取了ssh登陆的进程调用操作,竟发现在ssh登陆时,服务端确实会调用hostname进程,不得不说有点东西❗sysdig抓取到的进程调用信息如图:
注:Sysdig与Procmon、火绒剑等工具差不多,可以记录进程、网络、文件等操作行为。
因此便清楚的知道了OLdFox组织是通过篡改hostname文件来实现的SSH登陆自启,恶意软件自启流程如图:
3、[ntsd]进程名又是如何伪造的呢?
4、高端的攻击者,往往使用最简单的攻击方式
2. 内容引用,请注明出处:以上内容引自公众号“微步在线应急响应团队”
原文始发于微信公众号(微步在线应急响应团队):“OldFox”露出的狐狸尾巴|APT应急实录