MyKings 是一个长期且顽强的僵尸网络,自 2016年起便活跃至今。自那时以来,它已经蔓延并扩展了其基础设施,以至于来自全球多个分析师还为其起了不同的名字——例如 MyKings、Smominru 以及
DarkCloud。其庞大的基础设施由多个部分和模块组成,包括引导程序、加密货币矿工、投放工具、剪贴板盗窃工具等。
我们的研究表明,自 2019 年以来,MyKings 的操作人员通过与 MyKings 相关的比特币、以太坊和狗狗币加密钱包,至少积累了 2400万美元(可能还更多)。虽然我们不能将这一金额完全归因于 MyKings,但这依然是与 MyKings 的活动紧密相关的一笔可观的数额。
我们在寻找新样本的过程中发现了超过 6700 个独特样本。自 2020 年初(在 Sophos 发布的
之后),我们保护了超过 144,000 名受 Avast威胁的用户,避免了剪贴板盗窃模块的攻击。大多数攻击发生在俄罗斯、印度和巴基斯坦。
从 2020 年 1 月 1 日到 2021 年
10 月 5 日的目标国家示意图
在本系列两篇文章的第一部分中,我们将深入探讨 MyKings已知的剪贴板盗窃模块,重点关注其技术方面、变现方式和传播情况。此外,我们还将分析剪贴板盗窃工具的功能如何帮助攻击者利用 Steam 交易链接和 YandexDisk 链接进行诈骗,从而实现更多的经济收益和恶意软件的传播。
Avast 自 2018 年初以来一直在跟踪 MyKings的剪贴板盗窃模块,但我们无法排除其更早创建的可能性。 已由
SophosLabs 的 Gabor Szappanos 介绍过,但我们能够提供新的技术细节和感染指标(IoCs)。
1. 经济收益
当 Sophos 在 2019 年底发布他们的博客时,他们指出加密货币地址“没有被使用或者从未收到超过几美元”。在追踪新样本后,我们提取了新的钱包地址,并将
Sophos 的 49 个加密货币地址
列表扩展到超过
1300 个。
由于新数据量庞大,我们决定分享我们的 ,该脚本可以查询通过加密账户转移的加密货币金额。由于并非所有区块链都有此功能,我们决定了解攻击者通过比特币、以太坊和狗狗币账户获取了多少收益。经过对这些地址的检查,我们确认通过这些地址转移的加密货币价值超过
24,700,000 美元。我们可以安全地假设,这个数字实际上更高,因为这一金额仅包含来自超过 20种加密货币中的三种的收入。同时需要注意的是,并非所有在加密钱包中的资金都来自于 MyKings 的活动。
在仔细查看交易以及检查投放剪贴板盗窃工具的安装程序的内容后,我们相信部分资金是通过加密货币矿工所获得。剪贴板盗窃模块与加密货币矿工使用相同的钱包地址。
| 加密货币 | 收益 (USD) | 收益(加密货币) | | — | — | — | | 比特币 | 6,626,146.252 [$] | 132.212 [BTC] | | 以太坊 | 7,429,429.508 [$] | 2,158.402 [ETH] | | 狗狗币 | 10,652,144.070 [$] | 44,618,283.601 [DOGE] |
收益表(数据更新至 2021 年 10 月 5 日)
比特币、以太坊和狗狗币钱包的收益直方图
2. 归属
尽管剪贴板盗窃工具及所有相关文件在之前的博客文章中归因于 MyKings,但由于缺乏确凿证据,我们仍希望确认这些说法。一些文章(例如 )指出,某些归属链中的脚本(如
c3.bat
)可能会终止其他僵尸网络 或 其早期版本,这引发了质疑。还有一些文章(比如
)甚至提出与MyKings竞争的复制僵尸网络会删除 MyKings。MyKings 是一个大型的僵尸网络,包含许多模块,
在将所有经济收益归因于这个剪贴板盗窃工具之前,我们希望能证明该剪贴板盗窃工具确实是 MyKings 的一部分。
我们开始对样本 d2e8b77fe0ddb96c4d52a34f9498dc7dd885c7b11b8745b78f3f6beaeec8e191
进行归属分析。该样本是一个 NSIS 安装程序,安装时会同时投放 32 位和 64 位版本的 NsCpuCNMiner。
在 NSIS 头文件中,我们可以看到此 Monero 地址用于矿工配置:
41xDYg86Zug9dwbJ3ysuyWMF7R6Un2Ko84TNfiCW7xghhbKZV6jh8Q7hJoncnLayLVDwpzbPQPi62bvPqe6jJouHAsGNkg2
NSIS 头文件
除了 NsCpuCNMiner,该样本还会将名为 java12.exe
的附加文件投放到
C:\Users\<用户名>\AppData\Local\Temp\java.exe
。该文件的 SHA256 哈希值为
0390b466a8af2405dc269fd58fe2e3f34c3219464dcf3d06c64d01e07821cd7a
,根据我们的数据,该文件是通过安装程序从
http://zcop[.]ru/java12.dat
下载的。此文件也可以从 http://kriso[.]ru/java12.dat
下载(两个地址在不同时间内 contain 多个不同配置的样本)。该文件包含一个剪贴板盗窃工具。同时,可以在剪贴板盗窃工具和 NSIS 配置中找到相同的
Monero 地址。
经过对 Monero 地址的深入研究,我们在
中发现样本
b9c7cb2ebf3c5ffba6fdeea0379ced4af04a7c9a0760f76c5f075ded295c5ce2
使用了相同的地址。该样本是另一个 NSIS 安装程序,安装时会投放 NsCpuCNMiner 和剪贴板盗窃工具。这个 NSIS 安装程序通常以
king.exe
或 king.dat
的名字投放,可以从 http://kr1s[.]ru/king.dat
下载。
下一步,我们查看了地址 http://kr1s[.]ru/king.dat
,发现该地址在不同时间内曾包含文件
f778ca041cd10a67c9110fb20c5b85749d01af82533cc0429a7eb9badc45345c
,通常会被投放到
C:\Users\<username>\AppData\Local\Temp\king.exe
或
C:\Windows\system32\a.exe
。该文件再次是一个 NSIS 安装程序,下载剪贴板盗窃工具,但这次包含了URL
http://js[.]mys2016.info:280/helloworld.msi
和
http://js[.]mys2016.info:280/v.sct
。
URL http://js[.]mys2016.info:280/v.sct
很有趣,因为这个 URL 也被名为 my1.html
或
my1.bat
的样本联系,SHA256 为
5ae5ff335c88a96527426b9d00767052a3cba3c3493a1fa37286d4719851c45c
。
该文件是一个批处理脚本,与同名的 my1.bat
脚本几乎相同,SHA256 为
2aaf1abeaeeed79e53cb438c3bf6795c7c79e256e1f35e2a903c6e92cee05010
,如下所示。
两个脚本都包含相同的字符串,如 C:\Progra~1\shengda
和 C:\Progra~1\kugou2010
。
需要注意两个重要的区别:
- 第 12 行,一个脚本使用地址
http://js[.]mys2016.info:280/v.sct
,而另一个使用地址http://js[.]1226bye.xyz:280/v.sct
。 - 第二个脚本的第 25 行包含第一个脚本没有的命令。你可以发现字符串如
fuckyoumm3
,这是 MyKings 的一个非常著名的标识。
批处理脚本的比较 — 脚本
5ae5ff335c88a96527426b9d00767052a3cba3c3493a1fa37286d4719851c45c
连接到与剪贴板盗窃工具相关的命令与控制
批处理脚本的比较 — 脚本
2aaf1abeaeeed79e53cb438c3bf6795c7c79e256e1f35e2a903c6e92cee05010
连接到与
MyKings 相关的命令与控制
此外,还可以查看名为 c3.bat
的文件,SHA256 为
0cdef01e74acd5bbfb496f4fad5357266dabb2c457bc3dc267ffad6457847ad4
。该文件是另一个批处理脚本,与地址
http://js[.]1226bye.xyz:280/v.sct
进行通信,并包含许多 MyKings 特有的字符串,如 fuckayoumm3
或任务名称 Mysa1
。
归属链
3. 技术分析
我们对剪贴板盗窃工具的技术分析主要集中在新发现上。
3.1 恶意软件目的
剪贴板盗窃工具的主要目的很简单:检查剪贴板中的特定内容,并在匹配定义的正则表达式时进行操控。这种恶意软件依靠用户不期望粘贴与所复制的内容不同的值。很容易注意到,当有人忘记复制并粘贴完全不同的东西(例如某个文本而非账户号码)时,但并不容易注意到一串长的随机数字与字母被更改为相似的字符串,如加密钱包地址。这一替换过程使用
OpenClipboard
、EmptyClipboard
、SetClipboardData
和 CloseClipboard
函数进行。尽管这一功能相当简单,但令人担忧的是,攻击者竟然通过如此简单的方式获得了超过 24,700,000 美元的收益。
简单的剪贴板内容替换流程
如下图所示,大多数用于检查剪贴板内容的正则表达式将匹配特定加密货币的格式,但也有正则表达式用于匹配 Yandex 文件存储、俄罗斯社交网络
VKontakte 的链接或 Steam 交易报价链接。
匹配特定加密货币和 URL 的正则表达式列表
我们发现许多来自
的用户评论,认为自己错误地将钱发送到了涉事账户,并要求或要求退回他们的钱。针对这种恶意活动,我们希望提高公众对这种诈骗的认识,并强烈建议人们在发送资金前始终仔细检查交易细节。
连接到地址 0x039fD537A61E4a7f28e43740fe29AC84443366F6
的用户评论
3.2 防御与特性
其他一些博客文章描述了一些反调试检查和对系统监控工具的防御,但我们无法确认任何新开发。
为了避免多次执行,剪贴板盗窃工具在执行时会检查互斥体。互斥体的名称是动态创建的,具体取决于其在何种操作系统版本上启动。该过程是通过使用
RegOpenKeyExA
函数打开注册表项 SOFTWARE\Microsoft\Windows NT\CurrentVersion
。随后,调用
RegQueryValueExA
函数获取 ProductName
的值。获得的值将与常量后缀 02
连接。通过这种方法,可以获得更多可用的互斥体名称。以下是一些互斥体名称的示例:
Windows 7 Professional02
Windows 7 Ultimate02
Windows 10 Enterprise02
Windows 10 Pro02
Windows XP02
- …
在恶意软件的不同版本中,还会使用来自注册表项 SOFTWARE\Microsoft\Windows NT\CurrentVersion
的备用值,以及
BuildGUID
值。然后同样将该值附加后缀 02
以生成最终的互斥体名称。
此恶意软件的另一种防御机制是试图隐蔽属于攻击者的加密钱包地址。当恶意软件在剪贴板中匹配到任何正则表达式时,它会用硬编码在恶意软件样本中的值替换剪贴板内容。为了防止快速分析和静态提取,替代值是加密的。所用的加密是一种非常简单的
ROT 密码,其中密钥设置为 -1。
为了快速和静态提取样本中的钱包,对整个样本进行解密(这会销毁所有数据,只留下目标值),然后使用正则表达式提取隐藏的替代值。该方法的优点是恶意软件作者已经为我们提供了所有所需的正则表达式,从而使静态信息的提取过程可以轻松自动化。
3.3 新近发现的功能
通过更大数据集的样本,我们还能够揭示检查 URL 的正则表达式的意图。
3.3.1 Steam 交易诈骗
在样本中硬编码的一个正则表达式如下:
((https://steamcommunit))(?!.*id|.*id)(([a-zA-Z0-9.-]+.[a-zA-Z]{2,4})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(/[a-zA-Z0-9%:/-_?.',27h,'~&]*)?
这种表达式旨在匹配 Steam 交易报价链接。Steam平台的用户可以创建交易报价,用以与其他用户交换他们库存中的游戏物品。可以交易的物品的价值仅从几美分起,而最贵的物品则为数百或数千美元。
剪贴板盗窃工具操控交易报价 URL,并更改收件方,使 Steam 用户将物品交给完全不相识的人。交换后的链接变成这样:
https://steamcommunity[.]com/tradeoffer/new/?partner=121845838&token=advSgAXy
总共我们从近 200 个样本中提取了 14 个不同的 Steam 交易报价链接。这些链接指向 14 个 Steam账户——其中一些已被封禁,还有一些设置了隐私限制——但在公开可用的有效账户中,我们能够找到确保这些诈骗发生的信息。一个例子是与上述交易报价链接绑定的账户:
https://steamcommunity.com/id/rosher
在查看该账户的评论区时,我们可以看到许多人因为什么人交易报价链接在不断更改而感到愤怒和好奇。尽管有些人注意到了交易报价链接的变化,我们推测一些交易仍可能完成。我们未能估算通过这种技术能偷取多少资金。
来自 https://steamcommunity.com/id/rosher
的评论
评论翻译:
- 2020 年 10 月 9 日 @ 7:47 pm,为什么我的交易链接变成了你的?
- 2020 年 7 月 21 日 @ 2:16 pm,感谢你搞的交易链接垃圾!!! ???
- 2020 年 6 月 27 日 @ 5:05 am,真是个混蛋,你对链接做了什么?
3.3.2 假 Yandex Disk 链接
另一个功能与正则表达式
((https://yad))+(([a-zA-Z0-9.-]+.[a-zA-Z]{2,4})|([0-9]{1,3}.[0-9]
有关。
这个正则表达式匹配 Yandex Disk 存储的链接。Yandex Disk 是由跨国俄罗斯公司 Yandex 创建的云服务,可用于与 GoogleDrive 或 Dropbox 相似,分享文件。
该技术的目的是匹配用户发送给朋友和家人以分享文件或照片的链接。如果恶意软件在发送者的计算机上运行,被感染的受害者会向所有熟人发送错误的链接。如果恶意软件在接收链接用户的计算机上运行,并将其复制/粘贴到浏览器地址栏,受害者再次打开错误链接。在这两种情况下,错误的链接都会被一位不知情的人打开,受害者从该链接下载文件并打开它们,因为没有理由不相信来自他们所认识的人的文件。
从分析的样本集中,我们提取了以下 4 个指向 Yandex Disk 存储的链接:
https://yadi[.]sk/d/cQrSKI0591KwOg
https://yadi[.]sk/d/NGyR4jFCNjycVA
https://yadi[.]sk/d/zCbAMw973ZQ5t3
https://yadi[.]sk/d/ZY1Qw7RRCfLMoQ
这些链接都包含以 .rar
或 .zip
格式打包的压缩文件,且带有密码保护。密码通常在文件名中写明。例如,文件名为“photos”,密码为
5555
。
https://disk[.]yandex.ru/d/NGyR4jFCNjycVA
的内容
4. 结论
在本系列博客的第一部分中,我们专注于 MyKings 的剪贴板盗窃模块,分析归属链并揭示攻击者在此过程中能够获得的金钱数额。该剪贴板盗窃工具还聚焦于与
Steam 交易报价和 Yandex Disk 文件共享相关的诈骗,进一步向不知情的受害者传播恶意软件。
在本系列的下一部分中,我们将深入探讨——探索下载的某个有效载荷的内容,并提供内部恶意软件的分析。敬请期待!
相关指标 (IoC)
SHA256 哈希
0390b466a8af2405dc269fd58fe2e3f34c3219464dcf3d06c64d01e07821cd7a
0cdef01e74acd5bbfb496f4fad5357266dabb2c457bc3dc267ffad6457847ad4
2aaf1abeaeeed79e53cb438c3bf6795c7c79e256e1f35e2a903c6e92cee05010
5ae5ff335c88a96527426b9d00767052a3cba3c3493a1fa37286d4719851c45c
b9c7cb2ebf3c5ffba6fdeea0379ced4af04a7c9a0760f76c5f075ded295c5ce2
d2e8b77fe0ddb96c4d52a34f9498dc7dd885c7b11b8745b78f3f6beaeec8e191
f778ca041cd10a67c9110fb20c5b85749d01af82533cc0429a7eb9badc45345c
也可以在我们 中找到。
互斥体
Windows 7 Professional02
Windows 7 Ultimate02
Windows 10 Enterprise02
Windows 10 Pro02
Windows XP02
也可以在我们 中找到。
命令与控制及日志服务器
http://2no[.]co/1ajz97
http://2no[.]co/1aMC97
http://2no[.]co/1Lan77
http://ioad[.]pw/ioad.exe
http://ioad[.]pw/v.sct
http://iplogger[.]co/1h9PN6.html
http://iplogger[.]org/1aMC97
http://kr1s[.]ru/doc.dat
http://kr1s[.]ru/java.dat
http://kr1s[.]ru/tess.html
http://u.f321y[.]com/buff2.dat
http://u.f321y[.]com/dhelper.dat
http://u.f321y[.]com/oneplus.dat
http://u.f321y[.]com/tess.html
http://u.f321y[.]com/VID.dat
http://zcop[.]ru/java12.dat
完整列表请查看我们的 。
附录
Yandex Disk 链接
https://disk[.]yandex.ru/d/NGyR4jFCNjycVA
完整列表请查看我们的 。
Steam 交易报价链接
https://steamcommunity[.]com/tradeoffer/new/?partner=121845838&token=advSgAXy
完整列表请查看我们的 。
钱包地址
0x039fd537a61e4a7f28e43740fe29ac84443366f6
0x6a1A2C1081310a237Cd328B5d7e702CB80Bd2078
12cZKjNqqxcFovghD5N7fgPNMLFZeLZc3u
16G1hnVBhfrncLe71SH3mr19LBcRrkyewF
22UapTiJgyuiWg2FCGrSsEEEpV7NLsHaHBFyCZD8nc1c9DEPa5JrELQFr6MNqj3PGR4PGXzCGYQw7UemxRoRxCC97r43pZs
3PAFMSCjWpf5WDxkkECMmwqkZGHySgpuzEo
41xDYg86Zug9dwbJ3ysuyWMF7R6Un2Ko84TNfiCW7xghhbKZV6jh8Q7hJoncnLayLVDwpzbPQPi62bvPqe6jJouHAsGNkg2
7117094708328086084L
AKY1itrWtsmziQhg2THDcR3oJhXsVLRxM7
AXnqKf2Pz6n9pjYfm2hrekzUNRooggjGpr
D6nziu2uAoiWvdjRYRPH7kedgzh56Xkjjv
DAsKfjhtVYnJQ7GTjwPAJMRzCtQ1G36Cyk
DdzFFzCqrht9wkicvUx4Hc4W9gjCbx1sjsWAie5zLHo2K2R42y2zvA7W9S9dM9bCHE7xtpNriy1EpE5xwv7mPuSjhP4FyB9Z1ra6Ge3y
EVRzjX4wpeb9Ys6i1LFcZyTkEQvV9Eo2Wk
GBJOA4BNCXBSYG3ZVU2GXNOOA2JJLCG4JIVNEINHQIZNVMX4SSH5LLK7
LbAKQZutpqA9Lef6UGJ2rRMJkiq7fx7h9z
LUfdGb4pCzTAq9wucRpZZgCF69QHpAgvfE
QNkbMtCmWSCFS1U63PcAxhKufLvEwSsJ8t
qrfdnklvpgmh94dycdsp68qd6nf9fk8vlsr24n2mcp
QrKfx3qsqaMQUVHx8yAd1aTHHRdjP6Tg
qz45uawuzuf0fa3ldalh32z86nkk850e0qcpnf6yye
rNoeET6PH5dkf1VVvuUc2eZYap9yDZiKTm
SPLfNnmUdqmYu1FH2qMcGiU7P8Mwf9Z3Kr
t1JjREG9k58srT42KitRp3GyMBm2x4B889o
t1Suv1nezoZVk98LHu4tRxQ6xgofxQwi54h
VhGTEsM6ewqNBJwDEB2o6bHvRqFdGqu5HM
XdxsHPrsJvsDze4CQkMVVgsuqrHqys791e
Xup4gBGLZLDi9J9VbcLuRHGKDXaUjwMoZV
完整列表请查看我们的 。
脚本
用来查询钱包地址转移的金额的脚本可以在我们的
中找到。
标记为
、、、、