网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > ddos防御

针对国内IP发起攻击的DDoS样本分析(2)

针对国内IP发起攻击的DDoS样本分析

图片九:MainBeikong

执行恶意代码,会先killPid与删除“/tmp/bill.lock”,,在启动目录下存在bash,然后还会判断一些文件且删除,保证唯一性(后面还会在创建该文件)。

这时候就用到了前面的全局变量g_strSN(DbSecuritySpt)伪装在init.d与rc目录下,通过查看写入文件数据,是病毒源文件绝对路径。

针对国内IP发起攻击的DDoS样本分析

图片十:伪装启动源

使用自己封装的函数MkdirPid,创建文件且写入线程文件,我们通过sysdig或者动态执行代码后,追踪恶意行为,这时候创建以全局变量g_strGL(lod)后缀的文件记录Pid如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十一:写入Pid

MainBeikong函数进入了结尾,函数清理了环境(因为每执行一个函数就会fork()创建新进程,退出当前进程),把自己加入系统服务中,为下一步执行MainBackdoovr做预热准备,如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十二:MainBeikong

(注:windows使用OD等工具可以在新线程创建回调进行附加下断,也可以在Thread 运行回调时候可以下断,Linux fork或者processthread配合exit就很难下断新进程,提供思路,使用IDC写脚本修改二进制机器码与汇编指令,达到实现完整的动态调试效果。)

(4)MainBackdoorv模块

MainBackdoorv函数是病毒中尤为重要一个环节,这里是恶意攻击的执行点,也是重点分析的函数,如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十三:MainBackdoorv

该函数会判断是否已存在getty.lock.ak,g_strBDG(selinux)全局变量解密的数据创建的文件,如果不存在则创建该文件且获取全局变量g_strBDSN,selinux针对getty文件,如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十四:selinux伪装

(5)MainProcess模块

MainProcess包含了C&C通信,自己也构建了服务端,创建了大量的线程(多线程方式),有着良好的线程锁与线程池来控制攻击线程。不同的操作使用了不同封装类来调用对象执行,用this作为参数,而this作为回调函数列表,以指针偏移方式去寻址调用恶意代码,是一个非常复杂的函数,重点分析如下:

针对国内IP发起攻击的DDoS样本分析

图片十五:MainProcess执行流程

MainProcess先是利用了谷歌公开的服务器更新了域名,网络抓包如图八,这个比较有意思,如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十六:InitDNSCache

接着初始化了大量的攻击ip,如图四所示,感染了/usr/lib/libamplify.so动态链接模块,而且初始化了ATK(攻击)模块及this偏移,如下所示:

针对国内IP发起攻击的DDoS样本分析

图片十七:ATK模块

动态调试过程中还发现了函数感染了大量的文件,并拥有755的权限,提取被感染的文件名称,如下所示:

(责任编辑:admin)