2021 年 10月下旬,ZeroFox Intelligence 发现了一个新的僵尸网络,名为 Kraken。虽然仍处于开发阶段,但 Kraken 已经具备下载和执行二级payload、运行 shell 命令以及截取目标系统屏幕的能力。它目前利用 SmokeLoader(用于安装其它恶意软件)进行分发,每次部署新的C2服务器时,都会迅速获得数百个机器人。尽管名称相同,但不应将其与 2008 年的 Kraken 僵尸网络混淆,因为它们几乎没有共同点。
摘要
自 2021 年 10 月以来,ZeroFoxIntelligence 一直在跟踪 Kraken——一个新的针对 Windows 的僵尸网络,目前正在积极开发中。尽管该恶意软件的功能简单,但开发人员一直在尝试新功能,并更改其它功能。Kraken 的当前版本具有以下功能:
-
保持持久性
-
收集用于注册的主机信息(因版本而异)
-
下载并执行文件
-
运行shell命令
-
窃取各种加密货币钱包
-
截屏
开源的代码
Kraken 的早期版本基于 2021 年 10 月 10 日上传到 GitHub 的代码。该项目只提交过两次,且源代码的日期早于 ZeroFox 在野外观察到的任何二进制文件。目前尚不清楚 GitHub 配置文件是否属于僵尸网络的运营团伙,或者该团伙是否只是使用该代码来进行开发。
图 1. Kraken 早期版本的 GitHub 存储库
传播载体
ZeroFox 发现Kraken 最初是利用 SmokeLoader 下载的自解压RAR SFX 文件进行分发的。这些 SFX 文件包含一个 UPX-packed版本的 Kraken、RedLine Stealer 和一个用于删除 Kraken 的二进制文件。现在,SmokeLoader 可以直接下载 Kraken 的当前版本。Kraken 二进制文件仍然是 UPX-packed的,但也受到 Themida 打包程序的进一步保护。
图 2. Kraken SFX 存档内容的屏幕截图
安装和持久性
在 Kraken 的安装阶段,它会尝试将自己移动到 %AppData%Microsoft。文件名是硬编码的,开发者已经更改了多次,ZeroFox 已发现诸如 taskhost.exe、Registry.exe 和 Windows Defender GEO.exe 等文件名。
为了保持隐蔽的状态,Kraken 运行以下两个命令:
-
powershell -Command Add-MpPreference -ExclusionPath%APPDATA%Microsoft
-
attrib +S +H %APPDATA%Microsoft<EXE_NAME>
上述 PowerShell 命令要求 Microsoft Defender 不要扫描 Kraken 的安装目录;而 attrib 命令用于在未启用“显示隐藏文件、文件夹和驱动器”选项的资源管理器窗口中隐藏复制的 EXE 文件。
Kraken 还利用Windows Run 注册表项来确保它在目标每次登录时启动。
图 3. Kraken 的 Run 持久性
虚假和真实信息的混合存储在 HKEY_CURRENT_USERSoftware 下的新注册表项中;在安装过程保存后,直到现在它都是未使用的。KEY的名称是另一个硬编码值,尽管它偶尔也会更改。ZeroFox 观察到的早期版本的 Kraken 创建了一个名为“Networking Service”或一些类似名称的KEY,例如“Networking5 Servic1e”和“Networking5r Servirc1er”。
图 4. Kraken 注册信息
除了注册表项的硬编码名称之外,图 4中显示的以下字段在ZeroFox 发现的每个版本中都不变:
-
ID - 混淆的 UUID
-
INSTALL – 安装时间戳
-
LAST - 空
-
NAME – 混淆的二进制文件和Run key名称(没有文件扩展名)
-
REMASTER——总是“nil”
-
VERSION——总是“0.5.6”
特点
对于僵尸网络来说,Kraken的功能设置过于简单。尽管在早期版本中不存在,但bot能够收集有关目标主机的信息,并在注册期间将其发送回命令和控制(C2)服务器。收集到的信息似乎因构建而异,zerfox观察到收集的信息类型如下:
-
Hostname
-
Username
-
Build ID (TEST_BUILD_+ 第一次运行的时间戳)
-
CPU信息
-
GPU信息
-
操作系统及版本
僵尸网络还具有下载和执行文件的功能。最初,Kraken 包含一些独立但类似的功能,用于在不同的情况下下载文件,例如更新bot、执行二级payload以及通过直接套接字连接来接收文件。这些功能已整合为一个,而冗余的功能已被删除。
Kraken 的操作人员能够通过控制面板在目标主机上运行 shell 命令,并将结果返回到 C2 服务器。
一些版本中添加了SSH强制功能,但很快就被删除了。这个函数被硬编码为尝试利用给定目标的root用户身份登录,并假定服务器正在监听默认端口。zerox没有发现这一功能被使用过,这可能是它迅速删除的原因。
执行后,Kraken 会立即截取屏幕发送到 C2。如果攻击者想要按需对目标系统的屏幕进行截图,则可以使用“ScreenShot”命令。
最近新增的功能是从以下位置窃取各种加密货币钱包:
-
%AppData%Zcash
-
%AppData%Armory
-
%AppData%bytecoin
-
%AppData%Electrumwallets
-
%AppData%Ethereumkeystore
-
%AppData%Exodusexodus.wallet
-
%AppData%GuardaLocalStorageleveldb
-
%AppData%atomicLocalStorageleveldb
-
%AppData%com.liberty.jaxxIndexedDBfile__0.indexeddb.leveldb
目前支持的命令有:
-
Position –未知
-
ScreenShot –截屏
-
SHELL –使用cmd命令执行Windows SHELL命令
-
UPLOAD –下载并执行一个EXE
图 5.用于解析接收到的命令的原始正则表达式
控制面板
自 2021 年 10 月以来,已经创建了多个版本的管理面板或控制面板。虽然在 GitHub 上找到的原始代码确实包含服务器,但它没有可以用来与僵尸网络交互的 Web界面。
Kraken面板
最初的面板命名为“Krake面板”,在功能方面很简单。它提供了基本的统计数据、下载payload的链接、上传新payload的选项以及与特定数量的bot交互的方式。此版本似乎不允许操作人员选择与哪些目标进行交互。
图 6. Kraken C2 面板的英文版本
Anubis面板
C2的当前版本已经进行了彻底的重新设计,并被命名为Anubis。Anubis面板为运营团伙提供的信息比原来的Kraken面板要多得多。除了前面提供的统计信息外,现在还可以查看命令历史和有关目标的信息。
图 7. Anubis 面板
Anubis面板的后续更新使操作人员在选择目标时更具选择性。在以前的版本中,操作人员只能使用命令选择目标对象的数量。通过此更新,可以使用其外部 IP 或地理位置单独或按组选择目标。
图 8.通过外部 IP 选择目标以运行 shell 命令
Anubis 面板还允许操作人员通过面板和任务页面查看任务和命令历史记录。TASK 页面显示了诸如为任务生成的 ID、正在发送的命令、命令发送给多少目标、目标地理位置以及任务启动时间的时间戳等信息。
最初,ZeroFox 调查发现的每项任务都是在目标设备中下载并执行 RedLineStealer。还发现了一些 shell 命令,它们仅用于使用curl 下载更多 RedLine payload。
图 9.显示命令历史记录的 TASK 页面
随着 Kraken 背后的运营团队不断扩大并攻击更多的目标,ZeroFox 观察到其它信息窃取程序和加密货币矿工的安装。在撰写本文时,僵尸网络每月盈利约 3,000 美元。
图 10.来自加密货币矿池 Ethermine 的挖掘统计数据
建议
-
确保反病毒和入侵检测软件的所有补丁和规则集是最新的。
-
为所有组织帐户启用双重身份验证,以抵御网络钓鱼和撞库攻击。
-
维护定期备份程序,包括异地存储和完整性检查。
-
避免打开未经请求的附件,切勿单击可疑链接。
-
尽可能多地记录和监控所有管理操作,对任何可疑活动保持警惕。
-
查看网络日志以了解潜在的数据泄露迹象。
结论
在开发过程中,Kraken c2似乎经常消失。zerox多次观察到,一个服务器的活跃度在下降,而另一个服务器在短时间内出现,使用了新的端口或全新的IP。通过使用SmokeLoader进行传播,每当操作人员改变C2时,Kraken就会迅速获得数百个新的bot。从2021年10月到2021年12月发送给 Kraken 目标的监控命令显示,该运营团伙完全专注于推动信息窃取程序——特别是RedLine Stealer。目前尚不清楚运营团伙打算如何处理被盗凭证,或者创建这种新的僵尸网络的最终目标是什么。
MITRE ATT&CK
ID |
描述 |
T1027.002 |
混淆文件或信息:软件打包 |
T1033 |
发现系统所有者/用户发现 |
T1047 |
Windows 管理规范 |
T1059.001 |
命令和脚本解释器:PowerShell |
T1059.003 |
命令和脚本解释器:Windows Command Shell |
T1082 |
发现系统信息 |
T1113 |
屏幕截图 |
T1132.001 |
数据编码:标准编码 |
T1547.001 |
启动或登录自动启动执行:注册表Run Keys/启动文件夹 |
T1571 |
非标准端口 |
IoC
65.21.105.85
91.206.14.151
95.181.152.184
185.112.83.22
185.112.83.96
185.206.212.165
213.226.71.125
1d772f707ce74473996c377477ad718bba495fe7cd022d5b802aaf32c853f115
d742a33692a77f5caef5ea175957c98b56c2dc255144784ad3bade0a0d50d088
ddf039c3d6395139fd7f31b0a796a444f385c582ca978779aae7314b19940812
dcaaef3509bc75155789058d79f025f14166386cec833c2c154ca34cfea26c52
54d36e5dce2e546070dc0571c8b3e166d6df62296fa0609a325ace23b7105335
095c223b94656622c81cb9386aefa59e168756c3e200457e98c00b609e0bb170
0f0cabb24d8cc93e5aed340cfc492c4008509f1e84311d61721a4375260a0911
2ced68e4425d31cca494557c29a76dfc3081f594ff01549e41d2f8a08923ef61
3215decffc40b3257ebeb9b6e5c81c45e298a020f33ef90c9418c153c6071b36
ef3e0845b289f1d3b5b234b0507c554dfdd23a5b77f36d433489129ea722c6bb
7c76ca5eb757df4362fabb8cff1deaa92ebc31a17786c89bde55bc53ada43864
48c2f53f1eeb669fadb3eec46f7f3d4572e819c7bb2d39f22d22713a30cc1846
43f46a66c821e143d77f9311b24314b5c5eccfedbb3fbf1cd484c9e4f537a5d
8c4294e3154675cd926ab6b772dbbe0e7a49cae16f4a37d908e1ca6748251c43
原文链接:
https://www.zerofox.com/blog/meet-kraken-a-new-golang-botnet-in-development/
原文始发于微信公众号(维他命安全):认识Kraken:仍在开发中的僵尸网络
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论