应急响应案例27-Linux Rootkit系列之DDG家族

admin 2025年6月7日02:02:04评论0 views字数 2591阅读8分38秒阅读模式

总结:

rootkit表现最明显的特征其中之一就是隐藏进程。

本篇文章rootkit主要的还是使用/etc/ld.so.preload来进行的库文件劫持,删除这个库文件劫持很简单,只需置空删除即可。

这个病毒还有的主要特征是与DDG家族的恶意软件有关,特别是其迭代版本,主要特点是通过修改cron文件来实现持久化。

1. 概述

1.1 隐藏进程

春节期间同事遇到的一起应急,处理一段时间后还其进程还存在,这种情况下协助进行处置,直接利用top命令来看CPU未发现占用CPU比较高的进程,但是CPU的利用率达到了99.4%。

应急响应案例27-Linux Rootkit系列之DDG家族

但是利用busybox top命令来看其是kthreadd,其PID为52068,这种就是典型的Rootkit的表现,隐藏进程。

应急响应案例27-Linux Rootkit系列之DDG家族

1.2 隐藏网络连接

直接利用netstat -anltp看了一下其网络连接,有个进程的PID定位不到。

应急响应案例27-Linux Rootkit系列之DDG家族

再使用busybox来看一下,可以看到其PID。

应急响应案例27-Linux Rootkit系列之DDG家族

通过上面的分析,可以看到其在进程和网络连接上面均做了隐藏,这种就是典型的Rootkit的表现。

2.分析

基于这种情况考虑应该是库文件劫持,根据其使用的原理其主要利用两种方式:

LD_PRELOAD/etc/ld.so.preload

不过主流是对/etc/ld.so.preload来实现的,我们直接利用busybox来看一下:

应急响应案例27-Linux Rootkit系列之DDG家族
    发现存在/lib64/libstdc++.so,该文件大概率是恶意的,直接拷贝下来丢进VT分析。

2.1 so文件分析

直接利用VT来分析可以看到其是一个已知的恶意文件,并且被标示为Rootkit

应急响应案例27-Linux Rootkit系列之DDG家族

文件MD5为:

28a29d471947b1b1fdc23820afda6140

通过静态分析,可以看到其相关的进程和so文件如下:

应急响应案例27-Linux Rootkit系列之DDG家族

2.2 ssh私钥

通过分析其/root/.ssh/目录下存在authorized_keys文件,这个是ssh私钥文件,经分析这个是攻击者入侵以后留的持久化后门,用来进行ssh登陆的

应急响应案例27-Linux Rootkit系列之DDG家族

2.3 处置

2.3.1 删除so文件

直接将相关的so文件删除

busybox chattr -i /etc/ld.so.preloadbusybox cat "" > /etc/ld.so.preload

2.3.2 删除ssh私钥

直接rm -rf删除还删除不了,使用lsattr来分析,其被加了i只读的属性,直接利用chattr -i来删除其只读属性,然后再删除就可以了:

应急响应案例27-Linux Rootkit系列之DDG家族

2.3.3 删除恶意进程

直接利用kill -9 52068 来删除相关的挖矿进程

2.4 持久化删除相关的进程以后,过一段时间来看还是存在,这里面肯定是有持久化的,目前主流的持久化技术参考:

https://www.yuque.com/feiniao112/rq5bav/tstm5yhttps://www.yuque.com/feiniao112/rq5bav/gg59gi

其实主流还是利用cron来实现的,其主要配置如下:

#全局配置文件/etc/crontab/var/spool/cron/root/var/spool/cron/crontabs/root/etc/cron.d//etc/cron.daily/etc/cron.weekly/etc/cron.hourly/etc/cron.monthly

大多数情况下,都是通过上面三个来实现持久化,但是本次是通过修改cron.daily和cron.hourly等来实现持久化的,

通过/var/log/cron*日志可以看到其有两处定时加载的:

/etc/cron.hourly/etc/daily

其加载的项有:

0anacronmcelog.cronntpdate00webalizercertwatchcups......
应急响应案例27-Linux Rootkit系列之DDG家族

对其一项一项分析,发现其恶意的定时任务为ntpdate

应急响应案例27-Linux Rootkit系列之DDG家族
应急响应案例27-Linux Rootkit系列之DDG家族

对这个crondr分析,其文件MD5为:

fa448d6cca0308f0c182d687c9d732b1

应急响应案例27-Linux Rootkit系列之DDG家族

里面关联到一个不错的github,其主要是利用Yara来进行恶意文件检测的:

https://github.com/Neo23x0/signature-base

可以看到其IOCS是持续的更新的:

应急响应案例27-Linux Rootkit系列之DDG家族
应急响应案例27-Linux Rootkit系列之DDG家族

这里面直接将相关的持久化删除就可以了:

/etc/cron.daily/etc/cron.hourly

同时把相关的恶意文件删除:

/bin/crondr

        这里再去观察其CPU,发现正常了

应急响应案例27-Linux Rootkit系列之DDG家族

3. DDG迭代版本

通过本次应急中遇到的样本为:

28a29d471947b1b1fdc23820afda6140

我们关联到了DDG家族,其手法有DDG家族目前已知的版本相似,这里面可以参考360 netlab的甲鱼大佬的github

https://github.com/0xjiayu/DDGBotnetTracker/blob/master/v2/data/jobs.json

部分相同的进程

应急响应案例27-Linux Rootkit系列之DDG家族

其V2版本也存在利用ssh私钥进行持久化的功能,但是这里面还存在不同的地方,应该是DDG新迭代的版本,主要的表现就是其持久化是通过修改cron来实现:

     /etc/cron.daily

            /etc/cron.hourly

4. IOCs

本次DDG挖矿家族是一个迭代的版本,其主要是持久化的迭代,相关的技术如下所示:

持久化

/etc/cron.daily/etc/cron.hourly 

持久化项

0anacron

        mcelog.cron

        ntpdate

        00webalizer

        certwatch

        cups

        ...

挖矿样本

/bin/crondr 

库文件劫持

/etc/ld.so.preload/lib64/libstdc++.so ssh

后门

/root/.ssh/authorized_keys 

恶意进程

kthreadd

5. 总结攻防之间总是在不断的对抗,还是要不断的跟进技术发展。另外分析的时候还是要按照安全检查的所有项来分析。

这个案例中,库文件劫持很容易定位到了,但是其持久化项一直没有定位到,主要原因就是自己没有按照其安全检项来进行,这个虽然前期个人知道,但是就是没有落地,另外,日志分析也是重要的项,这个案例中也可以通过分析/var/log/cron*分析其定时任务来关联到其恶意的项。

原文始发于微信公众号(Ice ThirdSpace):应急响应案例27-Linux Rootkit系列之DDG家族

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月7日02:02:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   应急响应案例27-Linux Rootkit系列之DDG家族https://cn-sec.com/archives/3867085.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息