内容简介: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加载,甚至可以直接进程内展开执行。
插件
Smoke Loader的插件系统很灵活,除了首次启动会尝试下载所有自带插件及插件执行规则,还支持通过自带插件和插件规则。
通过解密plugin共拆解出16个插件,其中若干插件功能相同但适配不同版本操作系统。在我们的测试机上运行时,可以看到Smoke Loader的有效载荷成功创建了9个子进程,每个进程内运行了一个插件。注意,这些进程名虽然是 explorer.exe看似无害,但实际上已经被注入了插件载荷,是恶意进程。具体的注入方式细节,见参考[1]。
更多插件的细节包括:
- 挖矿插件 :它会在收到挖矿指令时下载对应的矿机程序(进程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
“对抗”还是“盗版”?
有人报告近期流行的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的代码。
3. 其它有意思的细节
Loader
套件中的Loader_new_Cyberbunker.exe就是Loader本体。
Loader由注入器和有效载荷组成。注入器负责一些简单的沙箱和逆向对抗工作,并最终把有效载荷注入explorer进程。有效载荷是真正的工作代码。
2018版的注入器,会使用PROPagate的加壳注入方案,这一点在Talos的公开文档中已经提及。通常,Smoke Loader的买家在通过各种渠道传播恶意程序之前,还会继续使用自己的加壳方案对Loader加壳。所以,流行的样本基本上都会有两到三层壳。
上线包和C2指令通信格式
样本运行后,会发送一个数据包向控制台注册,称为上线包或者注册包。2018版注册包的数据结构在既往已公开分析中未见清晰定义,我们可以利用控制台代码中相应部分轻松搞定。
通过分析,我们可以明确该上线包的格式如下:
其中部分字段的意义如下:
- AFFID :也叫Seller ID,这是为了明确分发渠道,用来和合作的团伙分成的标记,在打包的时候硬编码进样本。最常见的取值是 Good, cece 和 new1,不过也有大约15%的样本中这里是空的;
- BOT_WINVER :感染主机的OS版本,从代码看基本支持当前所有Windows个人版系统,从WinXP到Win10,见下图;
BOT_RES:用来确定是否是安装版,因为Smoke Loader发行时会分为可安装版及不可安装版,售价略有不同。这个标记是用来区分版本类型的;
- BOT_CMD :指令编号,控制台定义的指令共有15个,详见下图。
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
参考资料
- [1] https://blog.talosintelligence.com/2018/07/smoking-guns-smoke-loader-learned-new.html
- [2] https://int0xcc.svbtle.com/a-taste-of-our-own-medicine-how-smokeloader-is-deceiving-dynamic-configuration-extraction-by-using-binary-code-as-bait
- [3] https://www.cert.pl/en/news/single/dissecting-smoke-loader/
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Smoke Loader:主体、控制台、插件,以及盗版之殇
- Cloudera Manager 之四(管理控制台)
- MLSQL 控制台预览版 推出啦
- frp 控制台监控dashboard配置
- 超好用的C#控制台应用模板
- 为何把日志打印到控制台很慢?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Collective Intelligence
Toby Segaran / O'Reilly Media / 2007-8-26 / USD 39.99
Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the......一起来看看 《Programming Collective Intelligence》 这本书的介绍吧!