搬砖日记 | 来活了,还是APT攻击

从事应急响应的小伙伴总是有那么些共鸣。例如:
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图1
或许是个人功力有限,总是会遇到各种“乱来”的应急响应,锤炼着“安服仔”脆弱的心志。给小伙伴们分享一个具有 APT 性质组织利用 Linux 预加载技术隐藏的 Linux.Rootkit 应急取证排查的故事。

威胁监测告警

话说一天,正在摸鱼的二狗子突然接到内部威胁告警排查工单。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图2
据工单描述是某客户现场 TDP 出现多次 APT 攻击失陷告警,需要落地响应排查,同时通知客户做好互联网出口阻断。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图3

情报研判&阻断

经情报分析研判,有关 IOC 属于某商业 APT 组织,且深度研判该 IOC 属于最新狩猎到的伪供应链攻击关联情报。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图4

结合情报的严重程度,需要再次验证情报准确性和情报复现。情报关联木马本地测试时,确定木马会伪造系统守护进程[rcu_sched],而在木马排查过程中比较快速排查确认的点是通过PID进行快速筛选(系统守护进程是在系统初始化时就已经/优先启动,因此系统守护进程PID基本是< 300)。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图5
在排查到疑似木马进程PID:1417,解析PID:1417详细进程信息为本地测试关联样本。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图6
本地复盘情报后,心中暗自窃喜现场排查难度不大,场面可控。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图7

终端排查

然而,现实打脸总是那么光速。现场上机排查时却并没有发现伪造系统守护进程[rcu_sched]。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图8
现实总是那么蹂躏着理想!?
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图9
难道是情报有误?资产没定位好?情报在前期已经确认无误,告警频率持续稳定也都符合感染特征,客户反馈终端定位没错,而且有关终端的其他辅助告警也有。难道是情报本地复现木马执行流没有走完导致排查有差异?冥冥之中,似有高人点拨?
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图10

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 命令排查。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图11
经过分析,此动态链接库为该 APT 组织所常用的用户态 Rootkit,用于隐藏自身的文件和网络连接。随后清除链接库模块,使其预加载库失效不能有效隐藏目录和文件等信息。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图12

ps aux|grep [rcu_sched]

重新查看系统守护进程 [rcu_sched],发现高值 PID 的伪造系统进程。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图13

lsof -f -p 27342

排查伪 [rcu_sched] 详细进程信息,找到木马 /usr/local/bin/virtio_helper。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图14

ls -la /etc/rc.d/init.d/

排查系统开机启动项,了解木马启动项。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图15

stat crcr10dif_intel.so

查看用户态 Rootkit : crct10dif_intel.so 的修改时间,发现此文件是在9月3日15时47分修改的。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图16

stat virtio_helper

查看木马 virtio_helper 的修改时间,发现此文件 virtio_helper 是在9月3日15时47分修改的。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图17

find / -type f −newermt ‘2021−09-03 15:00:00’ ! -newermt ‘2021−09−03 23:00:00’

查找临近时间修改的文件。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图18
经过分析,此木马会将登录此机器的 ssh 密码回传,URL 为 http://instance.linuxthe.com/in.php。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图19
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图20
查看 /etc/pam.d/sshd,发现此文件在9月3日16时被修改,稍晚于Rootkit 修改时间。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图21
在9月3日15时39分,redis 生成 dump.rdb。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图22
尝试登录 redis,登录成功,redis 存在未授权访问登录问题。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图23

木马功能分析

[rcu_sched] 的用户态木马具有 DownFile 文件下载功能,和内核模块交互隐藏文件,HideFile,新增 DNS,修改 DNS,删除文件创建文件,隐藏进程等功能,具有反弹加密后的 shell 功能。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图24
pam_shter.so 后门木马主要窃取终端 ssh 用户证书,同时还负责上传终端窃取数据和下载更新木马组件。
微步应急团队-放牛娃 - 搬砖日记 | 来活了 - 图25

处置行动建议

  1. Kill -9 恶意 PID;
  2. 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 | 删除后门木马 |


安全加固建议

  1. 建议做好威胁检测联动阻断,同时有序做好内部网络区域权限划分隔离和资产管理。
  2. 建议实时或定期更新补丁/版本,并测试资产接口只对内部网络区域开放。
  3. 建议内部建立统一且唯一办公终端软件来源,且有关软件工具必须来源官网下载并做好安全审核。
  4. 做好内部安全设备运营。

    幕后组织情报溯源

    微步在线威胁情报云监控显示,其幕后是某 APT 组织,包括国内金融、高科技、教育等相关行业的数十个目标均被该组织攻陷,相关核心数据被窃取,损失惨重。该 APT 组织擅长伪供应链攻击,暨利用广告网站来推广被投毒的运维工具(iterm2、navicat、snailsvn 、rinetd ),在某搜索引擎的相关搜索结果中排名前列,这使得该问题影响范围十分广泛。
时间 攻击事件 涉及地区行业
2019年3月 Eset研究发现该APT组织多起针对亚洲地区游戏公司的攻击活动。 亚洲、游戏
2019年7月 攻击至少有 6 家德国工业的旗舰 DAX 公司。 欧洲、工业
2020年4月 针对俄罗斯、韩国、台湾省、香港特区游戏公司进行针对性攻击。 亚洲、游戏
2020年11月 利用开源端口转发工具 rinetd 遭投毒攻击国内互联网办公企业。 国内金融、科技、互联网、房地产、游戏、制造
2021年5月-2022年2月 利用MacOS 平台上的多款常用运维工具遭攻击者投毒。

注:以上插图部分来自网络,如有侵权,联系删除!