搬砖日记 | 来活了,还是APT攻击
从事应急响应的小伙伴总是有那么些共鸣。例如:
或许是个人功力有限,总是会遇到各种“乱来”的应急响应,锤炼着“安服仔”脆弱的心志。给小伙伴们分享一个具有 APT 性质组织利用 Linux 预加载技术隐藏的 Linux.Rootkit 应急取证排查的故事。
威胁监测告警
话说一天,正在摸鱼的二狗子突然接到内部威胁告警排查工单。
据工单描述是某客户现场 TDP 出现多次 APT 攻击失陷告警,需要落地响应排查,同时通知客户做好互联网出口阻断。
情报研判&阻断
经情报分析研判,有关 IOC 属于某商业 APT 组织,且深度研判该 IOC 属于最新狩猎到的伪供应链攻击关联情报。
结合情报的严重程度,需要再次验证情报准确性和情报复现。情报关联木马本地测试时,确定木马会伪造系统守护进程[rcu_sched],而在木马排查过程中比较快速排查确认的点是通过PID进行快速筛选(系统守护进程是在系统初始化时就已经/优先启动,因此系统守护进程PID基本是< 300)。
在排查到疑似木马进程PID:1417,解析PID:1417详细进程信息为本地测试关联样本。
本地复盘情报后,心中暗自窃喜现场排查难度不大,场面可控。
终端排查
然而,现实打脸总是那么光速。现场上机排查时却并没有发现伪造系统守护进程[rcu_sched]。
现实总是那么蹂躏着理想!?
难道是情报有误?资产没定位好?情报在前期已经确认无误,告警频率持续稳定也都符合感染特征,客户反馈终端定位没错,而且有关终端的其他辅助告警也有。难道是情报本地复现木马执行流没有走完导致排查有差异?冥冥之中,似有高人点拨?
Linux 预加载劫持链接库
关于 Linux 预加载劫持链接库隐藏,大致有以下三种方法:
Linux预加载劫持链接库 | ||
---|---|---|
劫持方法 | 命令行 | 操作解析 |
LD_PRELOAD劫持 | echo LD_PRELOAD | 显示LD_PRELOAD环境配置 |
export LD_PRELOAD | 导出环境变量使该环境变量生效 | |
unset LD_PRELOAD | 解除设置的LD_PRELOAD环境变量 | |
/etc/ld.so.preload预加载劫持 | cat /etc/ld.so.preload | 查看/etc/ld.so.preload预加载动态链接库信息,如果没有发现该文件可以尝试使用 busybox cat /etc/ld.so.preload 命令; |
mv [/etc/ld.so.preload-link] [temp-sample] | 先清除/etc/ld.so.preload预加载动态链接库,使其无法加载恶意链接库,从而无法对有关文件、进程、网络进行隐藏; | |
echo ‘’ > /etc/ld.so.preload | 清除预加载动态链接库地址,解除木马隐藏; | |
/etc/ld.so.preload链接被修改劫持 | strace -f -e trace= file /bin/ls | 使用strace命令来查看预加载的配置文件是不是/etc/ld.so.preload文件 |
busybox cat [filepath] | 用busybox检查预加载动态链接库链接 | |
mv [linpath] [despath] | 清除预加载动态链接库地址,解除木马隐藏; |
cat /etc/ld.so.preload
通过 cat /etc/ld.so.preload 找到攻击者设置的动态链接库地址 /usr/local/lib/crct10dif_intel.so。如果显示不存在此目录文件,则建议尝试使用 busybox cat 命令排查。
经过分析,此动态链接库为该 APT 组织所常用的用户态 Rootkit,用于隐藏自身的文件和网络连接。随后清除链接库模块,使其预加载库失效不能有效隐藏目录和文件等信息。
ps aux|grep [rcu_sched]
重新查看系统守护进程 [rcu_sched],发现高值 PID 的伪造系统进程。
lsof -f -p 27342
排查伪 [rcu_sched] 详细进程信息,找到木马 /usr/local/bin/virtio_helper。
ls -la /etc/rc.d/init.d/
stat crcr10dif_intel.so
查看用户态 Rootkit : crct10dif_intel.so 的修改时间,发现此文件是在9月3日15时47分修改的。
stat virtio_helper
查看木马 virtio_helper 的修改时间,发现此文件 virtio_helper 是在9月3日15时47分修改的。
find / -type f −newermt ‘2021−09-03 15:00:00’ ! -newermt ‘2021−09−03 23:00:00’
查找临近时间修改的文件。
经过分析,此木马会将登录此机器的 ssh 密码回传,URL 为 http://instance.linuxthe.com/in.php。
查看 /etc/pam.d/sshd,发现此文件在9月3日16时被修改,稍晚于Rootkit 修改时间。
在9月3日15时39分,redis 生成 dump.rdb。
尝试登录 redis,登录成功,redis 存在未授权访问登录问题。
木马功能分析
[rcu_sched] 的用户态木马具有 DownFile 文件下载功能,和内核模块交互隐藏文件,HideFile,新增 DNS,修改 DNS,删除文件创建文件,隐藏进程等功能,具有反弹加密后的 shell 功能。
pam_shter.so 后门木马主要窃取终端 ssh 用户证书,同时还负责上传终端窃取数据和下载更新木马组件。
处置行动建议
- Kill -9 恶意 PID;
- Rm -rf 恶意文件/后门。
| 命令 | 解析 |
| —- | —- |
| rm -rf /usr/local/bin/virtio_helper | 删除rootkit后门 |
| rm -rf /etc/rc.d/init.d/virtio_helper | 删除后门自启动项 |
| rm -rf /usr/lib64/security/pam_shter.so
rm -rf /usr/lib64/security/crct10dif_intel.so
rm -rf /usr/lib64/security/pam_shter.so
rm -rf /etc/ld.so.preload | 删除后门木马 |
安全加固建议
- 建议做好威胁检测联动阻断,同时有序做好内部网络区域权限划分隔离和资产管理。
- 建议实时或定期更新补丁/版本,并测试资产接口只对内部网络区域开放。
- 建议内部建立统一且唯一办公终端软件来源,且有关软件工具必须来源官网下载并做好安全审核。
- 做好内部安全设备运营。
幕后组织情报溯源
微步在线威胁情报云监控显示,其幕后是某 APT 组织,包括国内金融、高科技、教育等相关行业的数十个目标均被该组织攻陷,相关核心数据被窃取,损失惨重。该 APT 组织擅长伪供应链攻击,暨利用广告网站来推广被投毒的运维工具(iterm2、navicat、snailsvn 、rinetd ),在某搜索引擎的相关搜索结果中排名前列,这使得该问题影响范围十分广泛。
时间 | 攻击事件 | 涉及地区行业 |
---|---|---|
2019年3月 | Eset研究发现该APT组织多起针对亚洲地区游戏公司的攻击活动。 | 亚洲、游戏 |
2019年7月 | 攻击至少有 6 家德国工业的旗舰 DAX 公司。 | 欧洲、工业 |
2020年4月 | 针对俄罗斯、韩国、台湾省、香港特区游戏公司进行针对性攻击。 | 亚洲、游戏 |
2020年11月 | 利用开源端口转发工具 rinetd 遭投毒攻击国内互联网办公企业。 | 国内金融、科技、互联网、房地产、游戏、制造 |
2021年5月-2022年2月 | 利用MacOS 平台上的多款常用运维工具遭攻击者投毒。 |
注:以上插图部分来自网络,如有侵权,联系删除!