解密 CryptBot 窃密软件
2023-2-3 19:2:33 Author: FreeBuf(查看原文) 阅读量:10 收藏

CryptBot 是一种针对 Windows 操作系统进行信息窃取的恶意软件,在 2019 年被首次发现。它旨在窃取失陷主机的敏感信息,例如浏览器凭据、加密货币钱包、浏览器 Cookie、信用卡信息与屏幕截图等。

恶意软件简介

 沙盒动态分析

样本启动时会创建一个进程,该进程与大量文件系统事件与注册表事件相关。

进程信息

T1555.003

CryptBot 会从常见的浏览器 Chrome、Firefox 和 Edge 窃取信息。

窃取 Firefox 浏览器数据

要检测对存储在浏览器中的个人数据的访问,可以使用:

process_name NOT (“chrome.exe”, ”firefox.exe”, “msedge.exe”, “opera.exe”)ANDfile_access (%LOCALAPPDATA%\\MICROSOFT\\EDGE\\USER DATA\\*,%APPDATA%\\Roaming\\Mozilla\\Firefox\\*,%LOCALAPPDATA%\\Local\\Google\\Chrome\\User Data\\*%LOCALAPPDATA%\\AppData\\Local\\Opera Software\\Opera Stable\*)

向右滑动,查看更多

T1518

CryptBot 通过“UNINSTALL”注册表树检查系统中已安装的软件:

检查已安装的软件

要检测访问已安装软件列表,可以使用:

reg_key is (“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”)ANDoperation read

向右滑动,查看更多

T1082

CryptBot 会收集系统信息,包括操作系统安装日期、计算机名称、密钥、CPU 信息:

收集系统信息

要检测读取系统安装日期,可以使用:

reg_key is (“HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION”)ANDreg_name is (“INSTALLDATE”)ANDoperation read

向右滑动,查看更多

T1071.001

CryptBot 将收集到的操作系统信息和个人数据发送到 C&C 服务器:

回传数据

要检测连接到 C&C 服务器,可以使用:

network connectAND(domains are (“sginiv12[.]top” or “bytcox01[.]top”)OR (ip == “23[.]217.138.108and port==80))

向右滑动,查看更多

回传数据是通过 HTTP 协议发送的,上传的文件名是随机生成的,但接收路径总是 gate.php 页面。

回传流量

Suricata 也对此进行了告警:

恶意流量告警

要检测恶意流量,可以使用:

network sendANDhttp_verb is “POST” AND location is “gate.php”ANDhttp_content includes (“form-data”, “name=\”files[]\””, “filename”)

(向右滑动,查看更多)

T1074.001

第一次在 %APPDATA%目录中启动恶意软件时,会创建一个空目录标记 0D445946B53E9551。该目录允许恶意软件确定之前是否启动过。如果 CryptBot 发现曾经在该主机上启动过,它将立即停止工作。

标记目录

收集的各种信息会存储在 %TEMP%目录的临时文件中:

临时文件

例如,其中一个文件就是有关用户名与密码的信息,并且以 base64 格式进行存储。

收集的信息

T1070.004

CryptBot 运行完时,会使用 CMD.EXE 在短暂延迟后删除自身:

删除自身

 调试分析

通过 DIE 查看,软件认为该样本文件并未加壳:

静态查看是否存在加壳

通过 Process Hacker 查看进程内存,在一个可读可写可执行的区域内发现了 PE 文件头:

进程转储

PE 文件头也是 Shellcode 的起始位置,恢复寄存器后获取 ImageBase 并将控制权转交给入口点:

反汇编

调试发现,该区域是使用 VirtualAlloc 函数分配的。将 Payload 写入其中并进行异或解密:

异或解密

解密的密钥存储在 .rdata 段中:

解密密钥

 静态分析

通过静态分析确认,恶意软件配置信息位于 .data 段中并且使用异或加密。

密钥与配置

通过 CyberChef 与密钥可以对配置进行解密:

配置解密

配置中可以看到 CryptBot 的目标是什么。

自动化配置解密

研究人员实现了自动提取解密的脚本,执行结果如下所示:

脚本提取结果

Yara 规则 

rule CryptBot_ShellCode{meta:author = "Any.Run"SHA256 = "183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac"date = "2023-01-19"description = "Detect CryptBot shellcode in memory"strings:$shellcode = { 4D 5A 45 52 E8 00 00 00 00 58 83 E8 09 50 05 [4] FF D0 C3 }condition:uint16(0) != 0x5A4D anduint16(0) > 0 and$shellcode in (0x20..0x50)}

(向右滑动,查看更多)

rule CryptBot_Config {meta:author = "Any.Run"SHA256 = "183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac"date = "2022-01-19"description = "Detect CryptBot configuration in memory"strings:$s1 = "CookiesEdge"$s2 = "ChromeDB<>_<>"$s3 = "EdgeDB<>_<>"$s4 = "ChromeExt<>_<>"$s5 = "HistoryChrome<>_<>"$s6 = "EdgeExt<>_<>"$s7 = "CookiesFirefox<>_<>"$s8 = "HistoryOpera<>_<>"$s9 = "CookiesOpera<>_<>"$s10 = "FirefoxDB<>_<>"$s11 = "CookiesChrome<>_<>"$s12 = "HistoryFirefox<>_<>"$s13 = "HistoryEdge<>_<>"$s14 = "DesktopFolder<>_<>"$s15 = "ChromeDBFolder<>_<>"$s16 = "ExternalDownload<>_<>"$s17 = "ScreenFile<>_<>"$s18 = "MessageAfterEnd<>_<>"$s19= "HistoryFile<>_<>"$s20 = "FirefoxDBFolder<>_<>"$s21 = "PasswordFile<>_<>"$s22 = " WalletFolder<>_<>"$s23 = "DeleteAfterEnd<>_<>"$s24 = "EdgeDBFolder<>_<>"$s25 = "InfoFile<>_<>"$s26 = "CookiesFile<>"condition:7 of them}

(向右滑动,查看更多)

IOC

12d20a973f8cd9c6373929ae14efe123
7f277f5f8f9c2831d40a2dc415566a089a820151
183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac
http://sginiv12[.]top/gate.php
http://bytcox01[.]top/gesell.dat

参考来源:

https://any.run/cybersecurity-blog/cryptbot-infostealer-malware-analysis/

精彩推荐


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651215911&idx=3&sn=a01f2864fcf0a1744bc03d0d704e0de4&chksm=bd1dcaac8a6a43ba268dedf0d46a04a5a3be958c96756ff8e18236b9e17423bf83fa59fe5570#rd
如有侵权请联系:admin#unsafe.sh