目录导航
介绍
2021 年 7 月,CPR 发布了一系列三份出版物,涵盖了Formbook和XLoader恶意软件家族如何运作的不同方面。我们描述了 XLoader 如何在其作者突然停止销售Formbook 后出现在暗网社区以填补空白。我们进行了深入的技术分析,然后描述了适用于 macOS 的 XLoader,以及两个恶意软件家族如何隐藏整个操作的核心——命令和控制 (C&C) 基础架构的共同点和差异。然而,世界并没有停滞不前,这也适用于恶意软件网络世界。
在我们的出版物发布几个月后,我们在野外发现了一个新的 XLoader 版本,它是我们之前描述的所有版本的升级。与 XLoader 之前的实现相比,增强版对恶意软件逻辑的关键部分进行了重大修改,真正值得区分。
在本文中,我们描述了恶意软件作者应用到 XLoader 以掩盖 C&C 基础设施的更改——这比我们之前看到的任何东西都要多。现在,在 Xloader 用作烟幕的数千个合法域中,区分小麦和谷壳并发现真正的 C&C 服务器变得更加困难。我们解释了我们如何深入本质,并在不断发展的僵尸网络中识别出真正的 C&C 节点。
深度技术隐藏
Formbook 恶意软件已经很长时间没有更新了。这个窃取程序的最新版本是 4.1,我们已经在 2020 年观察到了这个版本的样本。这让我们有理由相信 Formbook 已经停产。
同时,我们去年描述的Formbook 的继任者XLoader 自我们发布以来已经收到了2 次更新。在本文中,我们描述了我们在 XLoader 版本 2.5 中发现的最重要的变化。
伪装真正的 C&C 服务器——2021 年使用的方法
所有 XLoader 示例在其配置中都有 64 个域和一个 URI。XLoader 配置与 Formbook 配置具有相同的结构。在早期版本中,Formbook 使用单独存储在配置中的 URI 来访问其 C&C 服务器。恶意软件配置中的 64 个域实际上是诱饵,旨在分散研究人员的注意力。
在 Formbook 4.1 版中,恶意软件开发人员增加了另一个隐藏级别,该级别也迁移到了 XLoader 的早期版本(最高 2.5)。真正的 C&C 服务器的域名隐藏在 64 个诱饵中,而一直被认为是 C&C 服务器地址的 URI 成为另一个诱饵,可以指向合法网站。上述版本的恶意软件随机选择了16个诱饵域,其中两个被替换为虚假的C&C服务器地址和一个真实的C&C服务器地址。真正的 C&C 服务器在很长一段时间后才被访问。
这看起来已经很复杂了。但是,较新的版本引入了更复杂的算法。
新版本 – 新级别的保护
在我们于 2021 年 8 月发布《揭示 XLoader 的 C&C 基础架构》一个月后,新版本 XLoader 的第一批样本正式出现。乍一看,我们没有看到任何差异,因为配置结构保持完全相同。
然而,当在沙盒中模拟样本时,我们注意到了一个变化。与早期版本不同,该示例具有较长的仿真时间,可以访问超过 16 个域。这种行为迫使我们放弃自动分析工具并用反汇编程序武装自己。我们很快发现了导致检测到的异常的部分代码。与之前的版本一样,XLoader 首先创建一个包含 16 个域的列表,这些域是从存储在配置中的 64 个域中随机选择的。每次尝试访问选定的 16 个域后,都会执行以下代码:
这段代码的目的是用新的随机值部分覆盖访问域的列表。因此,如果 XLoader 运行时间足够长,它将访问新的随机选择的域。重要的是要注意只有前 8 个值被覆盖,其余 8 个值与启动后立即选择的值相同。
另外,XLoader,正如我们所想,保存了它的 C&C 服务器的索引并且不允许它被覆盖:
然而,在检查应该是 XLoader C&C 服务器的主机时,发现其中许多主机没有响应或者看起来是合法的,例如这个:
此外,它们中的大多数仅在各种配置中出现一次,这使它们成为我们对真正的 C&C 候选人的初步赌注中的失败者。从我们之前的研究中,我们记得真正的 C&C 服务器的数量相对较少(我们发现恶意软件使用的 90,000 个域中不到 100 个 C&C 服务器),并且它们在不同 XLoader 客户的许多活动中被重用。
在这种情况下,我们还发现许多域在属于不同活动的样本中多次出现。但是,这些域属于诱饵列表,乍一看并不突出。让我们看看其中一些域指向的网站。根页面看起来像是著名域名注册商和托管服务提供商(通常是 Hostinger 和 Namecheap)的停放域名页面:
但是,如果我们查看页面的源代码并与服务提供者生成的原始页面进行比较,我们会发现许多不同之处:
在伪造的 Hostinger 页面中,我们还看到了一些视觉差异:
然后,我们从相应网站收集了所有可能是恶意主机的 IP 地址和根页面。似乎所有域都指向几个 IP 地址范围,所有这些都属于 Namecheap。一些域指向相同的 IP 地址。
域名 | IP | 根页面MD5 hash | 描述 |
bubu3cin.com | 162.0.214.189 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
highpacts.com | 162.0.216.5 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
hype-clicks.com | 162.0.223.146 | f891f22cd94c80844fcfe6fddb4b7912 | Fake Namecheap |
moukse.com | 162.0.223.146 | f891f22cd94c80844fcfe6fddb4b7912 | Fake Namecheap |
besasin09.com | 162.0.223.94 | 8d85df16ced80502c796649e4c806d31 | Future home of… |
brasbux.com | 162.0.223.94 | 8d85df16ced80502c796649e4c806d31 | Future home of… |
finsits.com | 162.0.225.82 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
arabatas.com | 162.0.225.82 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
ocvcoins.com | 162.0.238.238 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
gingure.com | 162.0.238.238 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
coalmanses.com | 162.213.253.206 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
fendoremi.com | 162.213.253.206 | ce866938b246a89fd98fc6a6f666d21c | Fake Hostinger |
noun-bug.com | 199.188.206.146 | f891f22cd94c80844fcfe6fddb4b7912 | Fake Namecheap |
cobere9.com | 199.188.206.146 | f891f22cd94c80844fcfe6fddb4b7912 | Fake Namecheap |
…
尽管所有 IP 地址都属于 Namecheap,但所有网站都显示似乎“正在建设中”的页面,主要是伪造的 Namecheap 或 Hostinger 托管域名页面。
看起来我们找到了 C&C 服务器,但是否可以在恶意软件配置的 64 个诱饵域列表中区分它们?
现在让我们看看填充 XLoader 2.5 中 16 个域的初始列表的函数,并将其与 XLoader 2.3 中的函数进行比较:
正如我们所见,XLoader 2.5 引入了一个额外的代码,它用一个固定值替换了列表中的一个域。有趣的是,这个值没有出现在代码的其他任何地方,也没有被保存;它在 16 个域列表中的位置是随机选择的。
由于前 8 个域在第一次命中后被新值覆盖,因此该域有 50% 的机会被覆盖。但是,我们认为这是指向真正 C&C 服务器的域。
域选择方案如下:
如果真正的 C&C 域出现在列表的第二部分,则在每个周期中大约 80-90 秒访问一次。如果它出现在列表的第一部分,它将被另一个随机域名覆盖。
但是,这个域仍有可能再次出现在列表中。这是可能的,因为覆盖列表第一部分的 8 个域是随机选择的,而真正的 C&C 域可能就是其中之一。在这种情况下,真正的 C&C 服务器在下一个周期被访问的概率是7/64或1/8,具体取决于“ fake c2(2) ”域的位置(参见上图 9)。
恶意软件作者再次证明了他们高超的技术技能和开箱即用的方法。通过在恶意软件中实施大数定律,他们实现了两个目标:他们不仅将真实的 C&C 服务器伪装在常见的沙盒仿真(通常很短)中,而且还保持了恶意软件的有效性。
在下表中,我们提供了在给定时间范围内不再访问真实 C&C 服务器的概率。我们考虑了服务器在任何给定周期中出现的最低可能概率,即7/64,以及两个周期之间可能的最长暂停时间,即90 秒。
时间流逝 | 真实C&C服务器未被访问的概率 | 备注 |
9 minutes | 50% | 就像抛硬币一样 |
15 minutes | 31% | 不到三分之一 |
18 minutes | 25% | 四分之一 |
30 minutes | 10% | 十分之一 |
1 hour | 1% | 百分之一 |
2 hours | 0.09% | 少于万分之一 |
2.5 hours | 0.0009% | 少于百万分之一 |
我们从表中看到,在 100 万次启动中,只有一种情况下恶意软件可能在 2.5 小时内无法访问真正的 C&C 服务器。实际上,这种事件的概率甚至更低,因为一个周期可以在 80 到 90 秒之间变化,而真正的 C&C 服务器在一个周期中出现的概率可能更高,等于 1/8。
根据访问域之间的延迟,即使 9 分钟也足以欺骗模拟器并防止检测到真正的 C&C 服务器。同时,恶意软件在概率论的帮助下维护的定期击退期允许它在不牺牲功能的情况下将受害者保留为僵尸网络的一部分。
XLoader 2.6
2022 年 5 月 5 日,我们发现了一个新版本的 XLoader 恶意软件。XLoader v2.6 的主要更新涉及网络通信。真实 C&C 服务器的随机索引现在保存在恶意软件状态结构中:
在每个通信周期中,当恶意软件覆盖访问域列表中的前 8 个条目时,它会保留真实和虚假 C&C 域的值:
因此,现在每个通信周期都会访问真正的 C&C 服务器,或者大约 80-90 秒访问一次。
但是,只有当恶意软件在 x64 系统中运行时,才会激活此逻辑。当它在 x86 系统中运行时,变量real_c2_index存储的值与 fake_c2_index 中存储的值相同。这导致在 x86 系统中运行时,以与 63 个诱饵中的任何一个相同的概率访问真正的 C&C 服务器。这看起来像是一种规避技术,因为目前很多沙盒仍然使用 x86 虚拟机。
结论
为了继续经营下去,恶意软件攻击者必须站在进步的最前沿,并发明新的技巧来尽可能延长他们创作的生命。在 XLoader 恶意软件的案例中,我们看到了这样一个过程的生动例子。
2021 年 7 月,我们描述了在 XLoader v.2.3 滥用的数千台合法服务器中发现真实 C&C 服务器的方法。升级后的 XLoader v.2.5 利用概率论中的大数定律的力量对该算法进行了重大更改。这些修改同时实现了两个目标:僵尸网络中的每个节点保持稳定的击退率,同时欺骗自动化脚本并阻止发现真正的 C&C 服务器。后者确实变得更加困难,但并非不可能。
在本文中,我们描述了您需要采取的所有步骤,以及您需要注意的所有细节,以便在每个 XLoader 示例中遇到的 65 个中识别真正的 C&C 域。我们分析了超过 100,000 个域,在众多被滥用的域中发现了一小部分实际的 C&C 服务器——只有 120 个真实服务器,约占总数的 0.12%。
我们将继续对未来版本可能实施的任何即将发生的更改保持警惕,不仅在 XLoader 中,而且在其他恶意软件系列中也是如此。
Check Point保护
Check Point 在其网络、云、用户和访问安全解决方案中提供零日保护。无论您是在云、数据中心还是两者兼有,Check Point 的网络安全解决方案都可以在不影响网络性能的情况下简化您的安全,为简化操作提供统一的方法,并使您能够扩展以实现持续的业务增长。 昆腾 提供最佳的零日保护,同时降低安全开销。
SandBlast 网络保护:
Trojan.WIN32.Formbook.A
Trojan.WIN32.Formbook.B
Trojan.WIN32.Formbook.C
Trojan.WIN32.Formbook.D
Trojan.WIN32.Formbook.E
Trojan.WIN32.Formbook.F
Trojan.WIN32.Formbook.G
Trojan.WIN32.Formbook.H
Trojan.WIN32.Formbook.I
Trojan.WIN32.Formbook.J
Trojan.WIN32.Formbook.K
Trojan.WIN32.Formbook.L
Trojan.WIN32.Formbook.M
Trojan.WIN32.Formbook.N
Trojan.WIN32.Formbook.O
Trojan.WIN32.Formbook.P
Trojan.WIN32.Formbook.Q
Trojan.WIN32.Formbook.R
Threat Emulation保护
Infostealer.Win32.Formbook.C
Infostealer.Win32.Formbook.D
Infostealer.Win32.Formbook.E
Infostealer.Win32.Formbook.gl.F
Infostealer.Win32.Formbook.TC
Formbook.TC
Infostealer.Win32.XLoader.TC
XLoader.TC
Trojan.Mac.XLoader.B
附录:侵害指标(IOCs)
XLoader 示例
SHA256 | 版本 | C&C域名 |
c3bf0677dfcb32b35defb6650e1f81ccfa2080e934af6ef926fd378091a25fdb | 2.6 | travelsagas.com |
77ed8c0589576ecaf87167bc9e178b15da57f7b341ea2fda624ecc5874b1464b | 2.6 | click-tokens.com |
041992cc47137cb45d4e93658be392bb82cdc7ec53f959c6af4761d41dfc9160 | 2.6 | motarasag.com |
e704bc09c7da872b5d430d641e9bd7c8c396cf79ea382870e138f88d166df4a8 | 2.6 | tumpiums.com |
a7023d5b16691b20334955294a80c10d435e24048f6416d1b3af3c58d0b48954 | 2.5 | sasanos.com |
862fba20ce7613356018ca44f665819522f862f040b34410a58892229aba6d9c | 2.5 | binbin-ads.com |
d56e8522cf147e2b964a5a03e51a17d24d4cb3a4a20f36ef3fd3caeda0b105f3 | 2.5 | range4tis.com |
59048fa3b523121866f79a8a2f7a3c9c7cf609a98be5a1ec296030de2353d559 | 2.5 | cablinqee.com |
XLoader C&C服务器
域名 | IP |
besasin09.com | 162.0.223.94 |
brasbux.com | 162.0.223.94 |
munixc.info | 162.0.223.94 |
ceser33.com | 162.0.223.94 |
ducer.info | 199.192.23.209 |
amenosu.com | 199.192.23.209 |
sanfireman.info | 199.192.23.209 |
trc-clicks.com | 199.192.25.68 |
bantasis.com | 199.192.25.68 |
brass-tip.info | 199.192.25.68 |
neurosise.com | 199.192.30.112 |
finsith.com | 199.192.30.112 |
gate334.com | 199.192.30.112 |
seo-clicks6.com | 199.192.30.247 |
tangodo9.info | 199.192.31.5 |
nu865ci.com | 199.192.31.5 |
rapibest.com | 199.192.31.5 |
recbi56ni.com | 199.192.31.5 |
heinousas.com | 66.29.143.39 |
pordges.com | 66.29.143.39 |
serenistin.com | 66.29.143.39 |
aminsfy.com | 66.29.155.250 |
dempius.com | 66.29.155.250 |
buge-link.com | 66.29.155.250 |
norllix.com | 66.29.155.250 |
sacremots.com | 66.29.155.250 |
beputis4.com | 68.65.121.46 |
bubu3cin.com | 162.0.214.189 |
highpacts.com | 162.0.216.5 |
finsits.com | 162.0.225.82 |
arabatas.com | 162.0.225.82 |
cutos2.com | 162.0.225.82 |
nropes.com | 162.0.233.84 |
gogoma3.com | 162.0.233.84 |
fraiuhs.com | 162.0.233.84 |
busipe6.com | 162.0.238.116 |
bupis44.info | 162.0.238.116 |
gesips.com | 162.0.238.116 |
ocvcoins.com | 162.0.238.238 |
gingure.com | 162.0.238.238 |
nifaji.com | 162.0.238.238 |
coalmanses.com | 162.213.253.206 |
fendoremi.com | 162.213.253.206 |
cusio3c.com | 162.213.253.206 |
nutri6si.com | 162.213.253.206 |
breskizci.com | 192.64.116.180 |
high-clicks.com | 192.64.116.180 |
gunnipes.com | 199.192.23.164 |
dugerits.com | 199.192.23.164 |
keepitng.com | 199.192.23.164 |
fellasies.com | 199.192.28.149 |
butuns.com | 199.192.28.149 |
bendisle.com | 66.29.155.108 |
ci-ohio.com | 66.29.155.108 |
minimi36.com | 66.29.155.108 |
pedorc.com | 68.65.121.125 |
cures8t.com | 68.65.121.125 |
mecitiris.com | 162.0.222.70 |
high-clicks2.com | 162.0.224.219 |
nerosbin.info | 162.0.231.105 |
b8ceex.com | 162.0.231.105 |
dashmints.com | 162.0.231.244 |
rap8b55d.com | 198.54.112.103 |
rastipponmkh.com | 199.192.17.24 |
blendeqes.com | 199.192.17.24 |
private-clicks.com | 199.192.26.170 |
abros88.com | 199.192.30.127 |
bracunis.com | 199.192.30.127 |
hugefries3.com | 199.192.30.127 |
saint444.com | 63.250.44.164 |
bra866.com | 66.29.130.171 |
hype-clicks.com | 162.0.223.146 |
moukse.com | 162.0.223.146 |
ammarus.com | 162.0.223.146 |
cablinqee.com | 162.0.223.146 |
funtabse.com | 162.0.223.146 |
gulebic.com | 162.0.223.146 |
catdanos.com | 199.188.206.146 |
noun-bug.com | 199.188.206.146 |
cobere9.com | 199.188.206.146 |
ranbix.com | 199.188.206.146 |
tes5ci.com | 199.188.206.146 |
blackbait6.com | 199.188.206.146 |
mimihin.com | 199.192.18.217 |
cesiesis.com | 199.192.18.217 |
moreosin.com | 199.192.18.217 |
side-clicks.com | 199.192.29.43 |
davinci65.info | 199.192.29.43 |
plick-click.com | 199.192.29.43 |
redandseven.com | 199.192.29.61 |
berdisen.com | 199.192.29.61 |
arches2.com | 199.192.29.61 |
price-hype.com | 199.192.30.202 |
becbares.com | 199.192.30.202 |
budistx.com | 199.192.30.202 |
dain6544.com | 199.192.30.202 |
erisibu85.com | 199.192.30.202 |
piecebin.com | 66.29.133.181 |
probinns.com | 66.29.133.181 |
bumabagi.com | 66.29.133.181 |
hughers3.com | 66.29.133.181 |
n4sins.com | 66.29.133.181 |
busy-clicks.com | 66.29.140.185 |
minismi2.com | 66.29.140.185 |
wecuxs.com | 66.29.140.185 |
lopsrental.lease | 66.29.140.185 |
alpeshpate.com | 66.29.142.52 |
motometics.com | 66.29.142.52 |
cinasing.com | 66.29.142.52 |
gamusemenu.com | 66.29.142.52 |
kraines3.com | 66.29.142.52 |
ban-click.com | 66.29.145.216 |
butsins.com | 66.29.145.216 |
earches3.com | 66.29.145.216 |
jervinse.com | 66.29.154.112 |
gimbases.com | 66.29.154.112 |
motarase.com | 66.29.154.112 |
cusmose.com | 66.29.154.157 |
becu84ts.com | 66.29.154.157 |
buresdx.com | 66.29.154.157 |
travelsagas.com | 162.0.216.71 |
click-tokens.com | 66.29.142.85 |
motarasag.com | 162.0.233.154 |
tumpiums.com | 66.29.155.51 |
sasanos.com | 45.132.241.87 |
binbin-ads.com | 31.220.18.33 |
range4tis.com | 45.15.25.154 |
转载请注明出处及链接