窃密恶意软件Raccoon最新样本Stealer v2分析

Raccoon 是一个恶意软件家族,2019 年来一直在地下犯罪论坛中以恶意软件即服务的身份进行售卖。2022 年 7 月,该恶意软件家族发布了 C
语言编写的新版本 Raccoon Stealer v2,打破了以往使用 C++ 开发的传统。

Raccoon 是一个信息窃密恶意软件,能够从浏览器窃取例如密码、Cookie 和自动填充数据等隐私信息。特别的,攻击者对加密货币钱包也很感兴趣。

主要区别

Raccoon v2 也是一种窃密类恶意软件,2022 年 7 月 3 日被在野首次发现,使用 C 语言与汇编语言编写而成。

新版本 Raccoon 有一些新功能,但数据窃密机制与老版本仍然相同:

所有字符串都使用 base64+RC4 加密

WinAPI 函数的动态加载

放弃了对 Telegram API 的依赖

其中,恶意软件获取 C&C 服务器列表的方式发生了重大变化。Raccoon Malware v1 滥用 Telegram 来获取 C&C
服务器列表,而新版本已经放弃该方式。转而使用通过受攻击者控制的服务器的硬编码 IP 地址来获取 C&C 服务器列表,再下载后续恶意软件。

调试信息

分析的样本(0cfa58846e43dd67b6d9f29e97f6c53e)带有完整的调试信息,可以查看其编译日期为 2022 年 5 月 26 日
13:58:25,如下所示:

image.png-62.3kB调试头文件

Raccoon Stealer v2 还通过动态解析 API 名称来隐藏攻击意图,窃密程序使用 LoadLibraryW 与 GetProcAddress
来解析每个必要的函数,如下所示。

image.png-162.7kB动态解析
API

DLL 文件命和 WinAPI 函数的名称,都以明文形式存储在二进制文件中。加载的 DLL 文件包括:

kernel32.dll

Shlwapi.dll

Ole32.dll

WinInet.dll

Advapi32.dll

User-32.dll

Crypt32.dll

Shell32.dll

Raccoon v1 未使用动态解析,所以使用加壳技术来逃避检测,而 Raccoon v2 就直接以未加壳的方式进行投递。下图显示了 Raccoon v1
使用的 DLL 文件:

image.png-37.3kB导入表

一旦函数完成解析,恶意软件就开始对字符串进行解密。首先对 base64 编码进行解码,然后使用密钥 edinayarossiya进行 RC4
解密。所有字符串都使用解密函数 string_decryption() 进行解密,如下所示:

image.png-206.2kB字符串解密

旧版本的 Raccoon Stealer 只加密硬编码的 IP 地址,不加密其他字符串。而 Raccoon v2
将所有纯文本字符串都进行加密。Raccoon v1 的几个明文字符串如下所示:

image.png-163kBRaccoon
v1 明文字符串

在对 Raccoon v2 样本字符串进行手动解密后,可以得到以下明文字符串:

image.png-234.1kBRaccoon
v2 明文字符串

image.png-18.6kBRaccoon
v2 明文字符串

C&C 服务器的 IP 地址保存在恶意软件中,使用相同的方式进行解密,但密钥为
59c9737264c0b3209d9193b8ded6c127。恶意软件通信的 IP 地址为
hxxp://51.195.166.184/,解密如下所示:

image.png-98.9kB解密

C&C 服务器地址

加密的字符串可以使用 CyberChef 等工具进行解密,如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5TCzeYT-1677499214414)(https://image.3001.net/images/20220802/1659409353_62e893c99e583643eb9cd.png!small)]Raccoon
v2 C&C 服务器 IP 地址

这种技术在两个版本的恶意软件中都十分常见,在 Raccoon v1 中如下所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LACMRCC5-1677499214415)(https://image.3001.net/images/20220802/1659409354_62e893ca3b56f07fdefd7.png!small)]Raccoon
v1 C&C 服务器 IP 地址

完成所有字符串的解密后,恶意软件会联系 C&C 服务器进行检查并下载恶意 DLL 文件。

泄露数据之前的检查

执行恶意软件核心功能前,会对环境进行检查。例如,通过获取互斥量的句柄(8724643052)查看是否在计算机上已经存在运行实例等。

这样确保同时只能运行一个恶意软件实例,下图显示了 Raccoon v2 互斥量的检查与创建。

image.png-35.8kBRaccoon
v2 互斥

下图为 Raccoon v1 中互斥量的检查与创建:

image.png-50.2kBRaccoon
v1 互斥

检索匹配进程 Token 是否为 S-1-5-18,确定以 SYSTEM 身份运行,如下所示:

image.png-127.1kBRaccoon
v2 枚举进程 Token

如果以 SYSTEM 用户身份运行,使用 fun_CreateToolhelp32Snapshot 进行进程的枚举。下图显示了调用
enumerate_processes() 函数进行进程枚举的过程:

image.png-20.2kB进程枚举

image.png-64.6kB进程枚举

主机指纹

恶意软件会对主机环境进行指纹识别,利用:

RegQueryValueExW 获取机器 ID

GetUserNameW 获取用户名

下图显示了恶意软件通过 RegQueryKeyExW 和 RegQueryValueExW 函数从注册表项
SOFTWAREMicrosoftCryptography 中获取机器 ID。

image.png-98kB获取机器
ID

下图使用 GetUserNameW 函数获取用户名:

image.png-36.8kB获取用户名

image.png-55.3kB用户名缓冲区

完成后,将机器 ID 与用户名等信息回传给 C&C 服务器。为此,恶意软件会创建一个字符串保存这些数据。缓冲区中构建的数据结构如下所示:

image.png-108.6kB指纹信息

紧接着在后面附加 RC4 加密密钥,整体结构为 machineId=<MachineGuid>|<UserName>&configId=<RC4 key>

命令与控制

C&C 通信完全通过 HTTP 协议进行,恶意软件首先解密获取 C&C 服务器的 IP 地址列表(存储在 local_3c 中)。分析的样本文件只包含一个
IP 地址,就只联系一个 IP 地址,如下所示:

image.png-126.9kBC&C
通信

image.png-49.1kB缓冲区中的
URL

image.png-114.6kB请求头

恶意软件检查是否存在响应,如果没有响应,恶意软件就会立刻退出,因为恶意软件的数据泄露需要 C&C 服务器的响应进行触发。下图中可以看到,这部分功能与
ExitProcess() 函数一同出现:

image.png-137.9kB验证响应

Raccoon v1 依靠 Telegram Bot API 获取 C&C 服务器列表,但 Raccoon Malware v2 使用 5 个硬编码 IP
地址,放弃了对 Telegram 的依赖。

数据泄露

撰写文章时,C&C 服务器的 IP 地址已经失效,无法分析相关流量数据。

image.png-55.3kB服务器失效

只能根据之前的监测数据进行分析,恶意软件下载了其他恶意 DLL 文件。

image.png-66.8kB下载的
DLL 文件

恶意软件使用 SHGetFolderPathW 函数获取 C:\Users\\AppData 路径并追加
Local,将此目录作为存储被窃信息的位置,再回传到 C&C 服务器。

image.png-52.4kB存储路径

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值