内容简介:Smoke Loader 是一个在黑市上公开销售的僵尸网络软件。其活动时间可以追溯到2011年,虽然近年来已经被多次曝光,但保持持续升级,非常活跃。在我们统计中,仅最近半年活跃的样本就超过 1,500 个。我们在跟踪这一家族的过程中,捕获了一套完整的恶意程序套件,包括其主体Loader、控制台Panel,以及控制台中包含的插件。对这套样本的分析使我们对其运行机制有了更深入的了解,这将是本文的主要内容之一。分析过程中,我们还遇到一组被修改过的特例样本。虽然有人认为这组样本是作者在对抗安全研究人员提取C2主控域
Smoke Loader 是一个在黑市上公开销售的僵尸网络软件。其活动时间可以追溯到2011年,虽然近年来已经被多次曝光,但保持持续升级,非常活跃。在我们统计中,仅最近半年活跃的样本就超过 1,500 个。
我们在跟踪这一家族的过程中,捕获了一套完整的恶意程序套件,包括其主体Loader、控制台Panel,以及控制台中包含的插件。对这套样本的分析使我们对其运行机制有了更深入的了解,这将是本文的主要内容之一。
分析过程中,我们还遇到一组被修改过的特例样本。虽然有人认为这组样本是作者在对抗安全研究人员提取C2主控域名,但仔细分析后,我们认为这是第三方做“盗版”。这部分的分析和研判过程,是本文的主要内容之二。
Smoke Loader相关的分析文档已经很多,本文不会涉及已经被公开的部分。相关内容,读者可以参阅文末参考部分。
Smoke Loader 套件分析
套件中的文件结构见后图,说明如下:
- 本体,Loader_new_Cyberbunker.exe
- Web控制台,Panel ,使用未加密的 PHP 语言编写
- 插件,包括 Panel/mods 和 Panel/keylogger,等
- mysql数据库建库脚本 smoke_1.sql,插件规则会存储在这个数据库里
- Smoke Loader的功能介绍,smoke_features.txt
- 安装说明
图 1. Smoke Loader 目录结构
控制台
套件中的 Panel 目录,就是其控制台。将其部署后,得到一个Web控制界面,这是一个标准的Smoke Loader的控件台,样式布局和网上流传的控制台基本一致。
通过对照恶意软件自带功能说明,可以了解该控制台包括以下12大类功能:
- 盗号
- 浏览器表单数据收集
- 密码嗅探,包括Ftp和邮件
- 伪DNS,即域名劫持
- 文件搜索,实现全盘文件监控
- 进程监控
- DDOS攻击
- 键盘记录
- 邮件盗窃
- 隐藏窗口版TeamViewer
- 门罗币挖矿
- 用户自定义程序
其存储位置和执行方式也略有不同:
- 前9个功能,从“盗号”到“邮件盗窃”:对应 Panel/mods/plugins中,这是一个自定义格式加密的插件集合。通过逆向可以看到,其中有效的可执行体共计16个。运行时需通过创建进程explorer.exe和内存注入进行加载。
- 隐藏窗口版TeamViewer:对应 Panel/mods/tv。运行时由相应的控件插件下载并创建子进程执行。
- 门罗币挖矿:对应 Panel/mods/minerXX。运行时由相应的控件插件下载并创建子进程执行。
- 用户自定义程序:Smoke Loader的用户还可以指定任意恶意程序进行加载,既可以从控制台直接下发,也可以从指定的URL下载执行。加载的方式也很灵活,可以直接执行也可以作为dll加载,甚至可以直接进程内展开执行。
图 2. Smoke Loader 的Panel控制台,Web界面
图 3. Smoke Loader 自带功能介绍文件
图 4. Smoke Loader 用户自定义功能界面
插件
Smoke Loader的插件系统很灵活,除了首次启动会尝试下载所有自带插件及插件执行规则,还支持通过自带插件和插件规则。
通过解密plugin共拆解出16个插件,其中若干插件功能相同但适配不同版本操作系统。在我们的测试机上运行时,可以看到Smoke Loader的有效载荷成功创建了9个子进程,每个进程内运行了一个插件。注意,这些进程名虽然是 explorer.exe看似无害,但实际上已经被注入了插件载荷,是恶意进程。具体的注入方式细节,见参考[1]。
图 11. 控制台将数据库中的插件规则下发给 bot
图 12. 测试机中已经运行起来的插件们
更多插件的细节包括:
- 挖矿插件 :它会在收到挖矿指令时下载对应的矿机程序(进程wuauclt.exe)配合启动参数执行挖矿任务。
- DDoS插件 :支持多种常见的DDoS攻击类型,如http get flood, http post flood, download flood, udp flood, syn flood, tcp flood, https get flood, http slowloris flood
- 表单信息盗取插件 :支持常见的浏览器,包括 IE, Firefox, Chrom, Opera, Chromium, Yandex browser, Amigo browser, QQ browser, outlook, Thunderbird
图 13. 挖矿插件运行示例
图 14. DDoS攻击插件支持的攻击类型
图 15. 表单窃取插件支持的浏览器列表
“对抗”还是“盗版”?
有人报告近期流行的Smoke Loader出现了版本[2],以对抗C2抽取系统,我们也观察到一组类似样本。
这组样本的目的,实际上不仅可能是“对抗”,我们分析后认为其目的是“盗版”。我们认为这个版本的改动来自第三方而非原作者,目的不是为了对抗安全研究人员分析,而是为了突破原始作者在售出的Loader中写死C2的限制。
这组样本共88个,有个共同点是其中残存了两个并不生效的C2:
- hxxp://185.35.137.147/mlp/
- hxxp://185.35.137.147/mlp/
从残存C2出发,我们在手头的其它样本中关联到了有着相同C2、并且生效的样本。我们将后者称为原始样本,前者称为修改版本。通过对比,我们注意到以下特点,并据此认定这组版本是经过二进制Patch的“盗版”:
- 相同的残存C2 :所有修改版本中的残存C2是一样的,暗示这组样本同源;
- C2存储方式 :原始样本中是加密存储的,修改样本是明文存储的;
- 主备C2机制 :原始样本中是支持的,修改样本是不支持的;
- C2验证机制 :原始样本有验证机制,会通过验证两个C2的CRC32值来决定是否安装启动项以及是否加载插件,修改版本直接用汇编空指令NOP覆盖了验证代码,跳过了验证机制;
Smoke Loader 在黑市有销售,一套完整的Smoke Loader公开售价约850美元。开发者采用许可证的销售模式,给每个买家发布一套定制好的系统,包含了Loader+Panel。值得注意的是,如果想变更C2就需要重新生成Loader,而每重新生成一个Loader需要10美元。这组“盗版”Loader就可以突破原作者的这个限制。
Patch后的盗版Loader支持全部功能。但这种Patch方案非常粗暴缺点很明显,硬编码使得一个Loader最多只能支持一个有效C2。样本的网络行为和我们的统计数据也都证实了这一结论。
“盗版”中的三处关键 Patch 代码
该版本中有三处关键的Patch代码,分析如下,截图见后:
- 第一处Patch :直接替换了C2配置信息解密函数,将C2明文编码在代码中,调用解密函数时直接返回C2地址。后图可见,每次调用解密函数返回的C2都是代码段中的“hxxp://jsoc8492.us/jd/”;
- 第二处Patch :覆盖了验证第一C2的代码。正版样本会计算第一C2的CRC值,然后和加密key做比较,如果失配则不会加载插件;
- 第三处Patch :与第二处类似,覆盖了验证第二C2的代码。
图 16. Patch 1,替换了C2配置信息的解密函数
图 17. Patch 2, 使用空指令NOP覆盖以跳过第一C2验证机制
图 18. Patch 3, 使用空指令NOP覆盖以跳过第二C2验证机制
3. 其它有意思的细节
Loader
套件中的Loader_new_Cyberbunker.exe就是Loader本体。
Loader由注入器和有效载荷组成。注入器负责一些简单的沙箱和逆向对抗工作,并最终把有效载荷注入explorer进程。有效载荷是真正的工作代码。
2018版的注入器,会使用PROPagate的加壳注入方案,这一点在Talos的公开文档中已经提及。通常,Smoke Loader的买家在通过各种渠道传播恶意程序之前,还会继续使用自己的加壳方案对Loader加壳。所以,流行的样本基本上都会有两到三层壳。
图 5. 流行的Smoke Loader样本通常会有两到三层壳
上线包和C2指令通信格式
样本运行后,会发送一个数据包向控制台注册,称为上线包或者注册包。2018版注册包的数据结构在既往已公开分析中未见清晰定义,我们可以利用控制台代码中相应部分轻松搞定。
图 6. 解密后的上线包
图 7. 控制台代码中定义的上线包数据结构
通过分析,我们可以明确该上线包的格式如下:
图 8. Smoke Loader 上线包的格式
其中部分字段的意义如下:
- AFFID :也叫Seller ID,这是为了明确分发渠道,用来和合作的团伙分成的标记,在打包的时候硬编码进样本。最常见的取值是 Good, cece 和 new1,不过也有大约15%的样本中这里是空的;
- BOT_WINVER :感染主机的OS版本,从代码看基本支持当前所有Windows个人版系统,从WinXP到Win10,见下图;
图 9. Smoke Loader 能够感染主机的OS版本
- BOT_RES :用来确定是否是安装版,因为Smoke Loader发行时会分为可安装版及不可安装版,售价略有不同。这个标记是用来区分版本类型的;
- BOT_CMD :指令编号,控制台定义的指令共有15个,详见下图。
图 10. Smoke Loader 支持的指令类型
4. IoC统计
我们对近半年收集到的 Smoke Loader样本做了一些简单的统计,详细数据请参考附录IOC:
- 样本: 1656 个
- C2: 296个
- Affid:42个
破解版相关统计:
- 原始版本 vs 破解版样本:约为1568比88
- 破解版中生效的 C2 URL 个数 : 27 个
- 这些C2 URL 涉及到的域名 : 15 个
按照Affid (Seller ID)进行分组,样本的统计情况如下。其中Good、cece、new1 是这个渠道较大的消费者,三者合计占据了 88%。NA 是样本中该处为空的情况:
affid count % Good 826 49.9% cece 395 23.9% [NA] 238 14.4% new1 77 4.7% 1501 21 1.3% 0 13 0.8% Pitt 12 0.7% 1301 9 0.5% sel1 7 0.4% Form 5 0.3% OTHER 52 3.1%
5. IoC
Malware Sample md5
完成的md5列表超过 1,500 行,可以在这里 下载。下面列出了前十条记录:
001dacf6608df69d485514a172fff05d 00521a5e800a85de875b703e9bc1f507 00891f91904955fb69fad4488f96741a 008d5eb400e41fcb87ef64db276013dc 009e213b63a4830adf5df372261ae6b0 00b8a47bdf14880ebeba6bebc3ea7dbc 00c5063e13752357b35c097c4c0f7059 00eef71e18381a537b1750c7f2983025 01162c00d54b976536d692173ef3e039 013748c007f80fb7cc2c42ca424e4733
Malware C2
完整的C2 列表超过 250 行,可以在这里 下载,下面是前十条记录。其中各字段的含义如下。
- version 版本号
- req_key 发包数据的rc4加密key
- res_key 收包数据的rc4解密key
- remaining_c2 “盗版”中残存的C2
- affid Seller ID
- md5 count 有多少独立样本包含该C2
关于 C2 列表的一些细节:
- 大部分的样本中会有2到5个C2,但也有个别样本中包含 75 个C2 之多;
- 有些C2 相关的样本,在升级之后 req_key, res_key 会发生变化;
# NA C2 version req_key res_key remaining_c2_if_exists affid md5_count 0 http://makak.bit/2/ 2018 0xe5400000 0xa6b397e0 Good 826 1 http://mytter.ru/2/ 2018 0xe5400000 0xa6b397e0 Good 826 2 http://svoloch.club/2/ 2018 0xe5400000 0xa6b397e0 Good 826 3 http://d3s1.me/2/ 2018 0x3b22e540 0xa6b397e0 cece 395 4 http://kiyanka.club/2/ 2018 0x3b22e540 0xa6b397e0 cece 395 5 http://proxy-exe.bit/2/ 2018 0x3b22e540 0xa6b397e0 cece 395 6 http://5gssghhs2w.org/2/ 2018 0xe5400000 0xa6b397e0 new1 77 7 http://dvhwzq.ru/2/ 2018 0xe5400000 0xa6b397e0 new1 77 8 http://hdxaet.ru/2/ 2018 0xe5400000 0xa6b397e0 new1 77 9 http://hghwwgh6.info/2/ 2018 0xe5400000 0xa6b397e0 new1 77
参考资料
以上所述就是小编给大家介绍的《Smoke Loader:主体、控制台、插件,以及盗版之殇》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Smoke Loader:主体、控制台、插件,以及盗版之殇
- Cloudera Manager 之四(管理控制台)
- MLSQL 控制台预览版 推出啦
- frp 控制台监控dashboard配置
- 超好用的C#控制台应用模板
- 为何把日志打印到控制台很慢?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网站运维技术与实践
饶琛琳 / 电子工业出版社 / 2014-3 / 69.00元
网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。 《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同......一起来看看 《网站运维技术与实践》 这本书的介绍吧!