在我们之前对涉及 Facebook 窃取者的活动进行分析时,我们发现了另一个有趣的窃取者。它是用Node.js编写的,打包成可执行文件,通过Telegram bot API 和命令与控制 (C&C) 服务器窃取被盗数据,并使用GraphQL作为 C&C 通信的通道。这篇博客文章调查了这个新的窃取程序,并对其例程和功能进行了深入分析。
感染载体
最近的活动
与之前的活动一样,我们注意到该窃取者是通过恶意大型语言模型 (LLM) 主题的 Facebook 广告进行传播的。这些恶意广告包含指向Google 协作平台上托管的页面的链接,该页面又包含指向Trello(在线项目和任务管理工具)上托管的存档的链接。
图 1. 一个提供 MetaAI 软件包的假 LLM 主题网站
之前的活动
进一步搜索,我们设法找到了滥用 Trello 托管包含窃取者的档案的较旧活动。文件名中使用的关键字包括“营销专家”、“营销招聘”、“简历样本”、“广告活动”、“营销项目”以及 Google、Facebook 和 TikTok 等服务的名称。
图 2.“雇用”列表中的恶意托管包
另一个例子显示了一个冒充 CapCut 视频编辑器的虚假网站,用于欺骗受害者下载该软件包。
图 3. 假装提供 CapCut 视频编辑器的虚假网站
图 4. Trello 上托管的窃取程序的存档名称包含视频编辑工具的名称
Node.js 打包
存档通常包含一个大小在 50 – 70MB 之间的可执行文件。请注意,窃取程序本身的 JavaScript 代码非常小(不到 100KB),但是,嵌入Node.js二进制文件和所有带有pkg 的包会显着增加整体大小。打包后,开发人员将获得一个文件,无需下载和安装任何依赖项。在打包过程中,pkg 使用源映射,其中所有源都合并到一个文件中。
该源映射的偏移量和长度可以在打包的可执行文件的末尾找到。然后,研究人员可以使用提供的信息从包中提取所需的组件。如图 5 所示,app.js(主文件)是应用程序的起点。
图 5. 源映射包含包中包含的所有文件的列表
偷窃者
当窃取程序执行时,它会运行其主要功能,从多个基于Chromium的 Web 浏览器窃取 cookie 和凭据,然后将数据泄露到 C&C 服务器和 Telegram 机器人。它还将客户端订阅到运行GraphQL 的C&C 服务器。当C&C服务器向客户端发送消息时,窃取功能将再次运行。
主要函数例程
处理推送消息
如果威胁参与者将消息推送到受感染的客户端,则收到的消息将具有如图 6 所示的 JSON 格式。该消息的目的是将 _id 分配给受感染的客户端。
图6. 接收到的推送消息格式
客户端收到 _id 后,会向 C&C 服务器发送另一条消息以修改一些后端数据(GraphQL 术语中称为突变)。突变操作包含先前分配的 _id,后跟与当前日期和时间连接的状态消息。随后,目标计算机中所有浏览器的凭据就会被盗。
图 7. 客户端向服务器发送状态消息的变异操作
窃取过程完成后,客户端会向服务器发送另一条状态消息,表明窃取过程已完成。如果服务器在窃取过程中推送消息,客户端会回复“等待完成”消息。
执行处理此类消息的原因是窃取过程的激活。威胁行为者维护着一个正在等待激活(通过接收消息)的受感染客户端的 IP 地址列表。威胁行为者向客户端推送消息后,窃取过程将重新启动。
信息窃取过程
窃取者主要针对以下网络浏览器:
- Microsoft Edge
- Google Chrome
- Opera / OperaGX
- Brave
对于每个浏览器,窃取者都会在“用户数据”文件夹中搜索可用的配置文件。然后,它从 User DataLast Version文件收集用户主路径、配置文件路径、用户数据路径和版本信息。接下来,它从 User DataLocal State中提取加密密钥(用于解密 Chrome cookie 和密码) 并解密。最后,它会杀死浏览器进程。
对于每个可用的配置文件,窃取者都会从NetworkCookies获取所有已保存的 cookie 数据库。然后它会检查名为xs的 Facebook cookie 是否 存在。此 cookie 是一个会话 ID,指示用户是否已登录 Facebook 并使用该个人资料。如果未找到此 cookie,则会跳过配置文件。
它提取属于 Facebook、Google 和 Outlook (live.com) 的所有 cookie,并使用之前从User DataLocal State获取的密钥对所有这些 cookie 进行解密。它还从Login Data检索所有已保存登录凭据的数据库。
此外,窃取者还使用从User DataLocal State获取的密钥解密所有 Facebook、Google 和 Outlook 登录信息(用户名、电子邮件和密码) 。
然后,它检查Local Extension Settings中是否存在 MetaMask 扩展,然后将整个 MetaMask 扩展目录打包到 zip 存档中并将其渗透到 Telegram 机器人。
它获取 Facebook 的c_user cookie 和其他浏览器信息,例如操作系统、版本和体系结构。窃取者还将尝试窃取Facebook 的访问令牌。如果不成功,它将泄露 Facebook cookie、浏览器名称、可执行路径、保存的登录信息、IP 地址和国家/地区代码。然后,窃取者会跳过目标配置文件,继续访问另一个配置文件。
然后,它通过对 C&C 服务器的 GET 请求按顺序泄露以下内容:
最有可能出于备份目的,之前提取的信息也被保存到文本文件中并发送到 Telegram 机器人。
渗漏到 C&C 服务器
将被盗数据渗漏到 C&C 服务器是通过对随机生成的路径 ( /image/.png ) 发出 GET 请求来完成的。泄露的内容在授权标头内传递。
图 8. 带有泄露数据的 GET 请求
授权标头中的有效负载经过加密和十六进制编码。作者可能打算使用简单的字符串进行加密,如以下代码片段所示。
图 9. 用于生成实际加密密钥的密码
然而,在代码中,加密和解密是通过不正确/不合逻辑地使用map/ reduce来实现的。这意味着密码短语中的所有字符都经过异或运算,从而使加密成为单字节异或加密。
图 10. 对于硬编码密码“haha123444”,生成的加密密钥只是一个单字节 0x04
反分析功能
为了使安全研究人员的分析更加困难,应用程序通过调用node-hide-console-window包中的 hideConsole 命令来隐藏其控制台窗口。
此外,控制台对象中选定的方法将被空函数覆盖,以抑制记录错误和调试消息。
图 11. 被空函数覆盖以抑制日志记录的方法列表
威胁行为者背景
在代码中,我们注意到一些越南语的注释、状态消息和变量名称,这表明该恶意软件的作者可能了解这种语言。
图 12. 一些选定的越南语变量名称列表
结论
诸如我们刚刚在本博客文章中分析的窃取者窃取的大量信息意味着用户必须格外小心,因为此类恶意软件通常会导致重大危害,并可能导致成为后续攻击的目标。一如既往,保持警惕和适当的网络安全卫生对于确保个人在线活动的安全大有帮助。
用户可以采取以下一些步骤来最大限度地降低与使用恶意广告进行分发的恶意软件相关的风险:
妥协指标
SHA256
01d087c6cb4d555b4aa33627e399961a97928a930b87e663913943c4ebad6513
0d29ffd8d56c1810689ce1be01c671a6483349e3ae65411cfa62483a7f6db71c
1f2bc4916c926b10ae994816e6d3a88e365440e7c0af2d213fcc5779510ec3bd
278d3bb34a10d6d9c63154a51c57c7f39e1a486b90d2d8e430d456d5c12cc071
2c077cb4d6b614f21887eb7872f387e3c575661eb73ac03fbb9aa60332f4537e
2d157cfb6879bd829c5919e371495a3ab8fb10344c9b4ada386a1923c817c4f2
2e2a63dcc4f49a1e090972f423c90427d8ef900cc7cd3077f7d87bb68e1e3eca
3140614ebc53d8ad4f6a98f7fb4b2a5b2cc9305027c60a44b3d87c459edf7c1d
3196ab53085c70e5025aa1c99c58f46654a043ab471720f5c1f2e5b45c761096
33fa398d3f8d3817f419ba466836730cb142d5e0e4d37cd85f26b66cebf74407
3d1e25a47e08123e9bf36cb7904a976252c8555f3c109e78f5faeba9b2b26842
3fcff67d0df202f15305d7d8e685cbef1d9ae2d118f1170295ce848ae549553e
41376302c3161453de3b7c627223d5fc121f7f864a2352ac72def48e1fdd5391
463bc348097332bb5e02ba3c0f93ef550556243032482121b6a98ba2c7274dc6
483fb09caafc5e4fb759b997b859291e683fc55b880fa421c2ac7b19f4ab9ea5
55a4e88656b958ca23964ba585d31d04553b6ac30a327730c8f8f35a5e9bc705
593700e7242b31a28b528d9082a178b7e83c41519ba9b966cd3bf7c311d28254
5d4994814ae736182f7f609b5b45c122b40509175212c40bf6225573987020d6
5e810b7a7448633fd4728b78c8d4ba37073490c0d7361eb7daf470b603986858
62f843d63869fe61b3e6d3e20bbaf723676cb057cddeb28fc274125bbbb7c4c3
63d55dba5982d39b73b11ee8fe62e8da884985c208d12c6b14db625916eb4011
85277459c0ebc5bc35a43412e5688b4db26901c371ab4ac5944a979ae16704f0
8915ce5008f9998eae8528108c30241fc708ce174b0b4c59229ce346057fe5e7
90483b64a3c8517bb128c39a2f96f4d96c70ba1c147eafc5fe826cc168470c8c
906bdadcd9fd21b46326953ca6ae64749f21b422899351d2a330663a33df7708
93a0db0ac2e3f13b77277f5229d936ae38b327a4afce8c98478b9f01b1db41b3
94c2886a05a5cf48c367d4219f05b3271aa17c7b7566e3a66b179f327f262927
a9ae37cded5b9105854380a6113980fb8e3bbd881fa9557eacf2efe2c892b852
a9afeddc26763afd505cf62b78d657d9129ccbdf9499e85259520b5f18157274
a9f23c62831c57eda326002ae5108896a154e87c4da485aa2177cc294daf7fc8
aa01009b433baf1894494143aec57f979f85ddb717a0962c6d6129b56e9c146e
ac064e3a44e4527684b2be3f188dee210d8b203000100671b08909629f7ddc0c
ac15f8d6a041a9d29b2b400c8ea7ca6a21abeedf3b95f1aeb90ee4b95cf05915
afa0580a4567941c504d3fc2b765e9189cc17a7f28e35fb4a9ef16042f9ba070
b03debf09e41d4e6041cecf99ddf31d24c2d4680d1ce09cef8dc50e99bf34c52
b3fc6033a7f12021f89c3dd0f483395065b8dcab22da57b308ea0f428622e951
b9d31ad82305ccc68b9af166ec123a3df2c26707571d0e46b7b7ead0987f4ec9
bc0f1133ed78f70d60f602dc74c779658cc3cfd61bd16af58a61f68f17b8453f
c65c682195524c3717b394aafe700d3023f727ef3db6fbc1f11e26c5048e1123
c7b23e435cb8a3034692e215f6cf64564867837fed63839618af53fd3eb41837
cf91cc5a683459f2c77b04c93ac130b25853f16f1f85f36a540c108ac95e46d8
d1c90bd7294be2ff29b58248ad2c526ca59341f39967bb31565cac1681aa906a
d617df1bc6b7f9c592773296ac0ee0732223c1ac697ba0c9e9b7ae4f6ec26b0e
d6aee63ffe429ddb9340090bff2127efad340240954364f1c996a8da6b711374
d8ef83f76be03e8fee4cda9423bf14aee5e9094ebe287ce91fc58b358ff4d39c
ea51ee96dc01f2349750b728f74e4cbe8f789ab7cf6ee454a45c892df236aaeb
f1123d10e046f585bf8c5eecab7881f8a154d7b3070129be1113d340cb33bc36
f4802439a6029c24836c9adbe511c3be71eaefcbabefaa43f16b85e8500626b5
f5bcf93535afb75305a5ec28a85407239ee3d4e185acf9d98837ea89a0753c4c
f92184e39fc2a785ee8ac9f79f75e89419bbd78d8bfe7a7f24cfaf3c71216aee
fe59e4ca14963b2f54792367a518756f3c71253fb2cd513b50e4861f652f559f
8dea290f9404eafbf2f2e301b5dc7919bed525a9d3dc52f6b446b8813b86f7f0
d485ae16965c1459e57b19d7335992c44423062536c5979b791866b3937b86f2
2f1021543f4a27ae4fff3cbd7e9d0f05994fd129814c0d0379de184d56ffdb7c
6bcb5e4c4baf09e79827a3b44b96e1272c69ddd50cc0c09bf35552989aaac561
f9b98586a41cff4fdbb50cab4b56fdc8675451fa52fd0b5b30bee65f236bb81a
2c6feabbb07a3806d6e19e9bcbb212df249334068040e81b210940900a6660e5
3975137d160f37aad067c1b43794e48ed2cbede33d569abf405a966a9745eb77
5d0d53af70b50dd9a20e83ffe6c7f3f3191a6415118c572a157995f4b0b6fd7a
2a7fec5bbb84733f8134450235df2c3f25cefc9e272cd6f07e4bdfa70fb4bab9
4e9f53cfb42e93ad99f70a6a8535f27625f57c9660e1629c36c4490e1294ac73
850d4d8a5fdd18b7ac294e2c48ad7261c83d4cec061306e721bced06ab444e84
36e3165ef71bed7bfe55309ac66096b29383ce29e55c08054338bbc2ab71e299
216a33aea6eab06a04b36ff13b496d08ec3952aba0e8d45c9f30a8ee139aa080
a6c00cf13bb81d643906bb8ec63546faac25e3a23b8805ee7fb2b84e78b8cba7
a4db3098e98b4cfe93068cb8e805ce58145854512e48204f07fa1128a69d379e
95fb539fcaf59ecd38f596debad3cd33ebf77d74ab8cf51e9f01a93c388dc444
b3eceddd2623395efc3987e83b30372c75f5b00170453ad00bd2ed21d66caa7a
4171398ef0cb342c94e435c032e0c66b9f888502fc4821093ca70a22d90b0715
fe787e78c05bc70545d1105df9e460fbbef21d3ffc085fc80243a3fc29849c37
5f7305ac6c3b8295f871833a53c2697dc6d57774983c92f37f96caca9ba5b7e2
55380e746e993d315eafe84af3ad614165c470efb7d570da24dcb838e8e3a3e7
480165df508ee6bed5712d34c6a572b0af64d818856a97c634c14e53a70099ab
40273636c1a6fb5f4303c9780d686be8eb2e2a766dba163fbdefd500e1b9e874
0e52ea9d12841f2657c4f36e55d60c73556b351fa087883667f3df1ee9ffadda
78ef09bfce5b9c44e211b99d8c734f54200f1cb9c4923147cdf5fdcb25343daf
8e9a3b1d9c6969814271ab3b42c3a85c8e7be1464b38e4fc715b4a0b15e0eeb0
d8aca8c29707671e2ad02e87f613dab746141dafb6187668044ed1fce56a8ad2
690c974573c507bb860448204557d58d531fd2f376c939273768a56851918112
585a57323f7bad482946508347c080f89e639697fd08850c66670b32adf82a78
1edd6efebbf63dd583328c16c7dca9a2ecc62d8e54c90eb6ca5a2e5dcbe92421
225f7c732885365cbec02305bfe6a2af16d026b1ed59c82e46ed1a1321bf2cb0
5e4c035b29f82ba278fe362cd9751f7315f8cd34c2d2573464b6fd9a0963aa70
2e52b01667f59f2cbffcd0dbe7f987c954f7d630779d0ad5ced4ff36648873ea
d7d82fbfe229e6ec6d24eff0a08965104067e40eb311fdd1b12123478f1b845b
77888a898f3ebd1ca59e426c1e935df551b40b1b75360d3b98b5a76a706b7f3f
ca6cab12c9dafa920dbfc274ed57f244105575701f5f55b955a640d8f3f80850
050393999bc9da7cdb6aac986a3e36b4b28863cdb3639dfa46c9a909f5152444
交付网站
https://download-desktop-capcut.com
Trello 上托管的项目
https://trello.com/c/XNHss5CC/1-hiring
https://trello.com/c/R5MvKYXS/1-kickoff-meeting
https://trello.com/c/oK8WCHAX/2-project-planning
重定向器和恶意档案链接
https://rebrand.ly/vprkfjt
https://trello.com/1/cards/64ad5575937a4704c3269a00/attachments/64ae30d375dc7983ea96e914/download/CapCut_2_2_0_491_capcutpc_0.7z
C&C 服务器
AVATARCLOUD.TOP
Cloudimages.net
EDITORIMAGE.INFO
TOIMAGEAI.TOP
Getavatar.top
Hahaimage.top
Hahaimage.info
Hahaimage.xyz
HEHEIMAGE.XYZ
HEHEIMAGE.INFO
HEHEIMAGE.TOP
Heyavatar.top
Heyavatar.info
Heyimage.info
Nametoimage.com
转载来源:https://www.trendmicro.com/en_us/research/23/i/analyzing-a-facebook-profile-stealer-written-in-node-js.html
图片来源网络侵权可联系删除