文章插图
图片十一:写入Pid
MainBeikong函数进入了结尾,函数清理了环境(因为每执行一个函数就会fork()创建新进程,退出当前进程),把自己加入系统服务中,为下一步执行MainBackdoovr做预热准备,如下所示:
文章插图
图片十二:MainBeikong
(注:windows使用OD等工具可以在新线程创建回调进行附加下断,也可以在Thread 运行回调时候可以下断,Linux fork或者processthread配合exit就很难下断新进程,提供思路,使用IDC写脚本修改二进制机器码与汇编指令,达到实现完整的动态调试效果 。)
(4)MainBackdoorv模块
MainBackdoorv函数是病毒中尤为重要一个环节,这里是恶意攻击的执行点,也是重点分析的函数,如下所示:
文章插图
图片十三:MainBackdoorv
该函数会判断是否已存在getty.lock.ak,g_strBDG(selinux)全局变量解密的数据创建的文件,如果不存在则创建该文件且获取全局变量g_strBDSN,selinux针对getty文件,如下所示:
文章插图
图片十四:selinux伪装
(5)MainProcess模块
MainProcess包含了C&C通信,自己也构建了服务端,创建了大量的线程(多线程方式),有着良好的线程锁与线程池来控制攻击线程 。不同的操作使用了不同封装类来调用对象执行,用this作为参数,而this作为回调函数列表,以指针偏移方式去寻址调用恶意代码,是一个非常复杂的函数,重点分析如下:
文章插图
图片十五:MainProcess执行流程
MainProcess先是利用了谷歌公开的服务器更新了域名,网络抓包如图八,这个比较有意思,如下所示:
文章插图
图片十六:InitDNSCache
接着初始化了大量的攻击ip,如图四所示,感染了/usr/lib/libamplify.so动态链接模块,而且初始化了ATK(攻击)模块及this偏移,如下所示:
文章插图
图片十七:ATK模块
动态调试过程中还发现了函数感染了大量的文件,并拥有755的权限,提取被感染的文件名称,如下所示:
文章插图
文章插图
图片十八:被感染文件
线程创建及类Manager调用,使用Socket创建了服务端,用来接收客户端(ip组中返回的数据),Send发送大量的数据如下所示:
文章插图
文章插图
文章插图
图片十九:SocketDDos
这个样本比较独特的地方,维护了很多对象,对this指针进行调用列表赋值,作为创建新线程参数传入 。在构造函数里进行了初始化,在析构释放执行了部分操作,如下所示:
文章插图
文章插图
文章插图
图片二十:ObjectRef
最后找到了关键攻击函数ProssMain,封装了各类型的DDoS攻击,如下所示:
文章插图
图片二十一:DDos攻击封装
(Ps:附上一张DDoS攻击状态图(模拟),直观的感受DDoS对服务器带来的性能影响与危害 。)
文章插图
图片二十二:DDos攻击感官图
四、恶意域名,IP及被攻击IP整理
推荐阅读
- 国内公开首个月球样本实验室的意义 月球土壤研究成果
- lv2021早春什么时候上市 lv2021新款五合一国内什么时候出
- 国产化妆品哪个牌子好 国内化妆品牌排行榜
- 锡兰红茶的价格和品质优于国内红茶
- 国内最长跨海地铁隧道 最长过海地铁隧道贯通
- 喝茶存在的6误区
- 华为手机的5个小功能
- 智能手机|国内各大手机品牌已削减近20%订单:你多久没换手机了?
- Python5大主要用途
- 人力资源|卑微求职内涵李宇春!怒揭公司老底遭针对,何洁为何沦落于此?