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.108” and 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 的目标是什么。
自动化配置解密
研究人员实现了自动提取解密的[脚本](https://github.com/anyrun/blog-
scripts/blob/main/Extractors/CryptBot/CryptBot.py?utm_source=anyrunblog&utm_medium=article&utm_campaign=cryptbot&utm_content=script),执行结果如下所示:
脚本提取结果
Yara 规则rule CryptBot_ShellCode{meta:author = "Any.Run"SHA256 = "183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac"date = "2023-01-19"description = "Detect CryptBot shellcode in memory"strings: s h e l l c o d e = 4 D 5 A 4552 E 8000000005883 E 8095005 [ 4 ] F F D 0 C 3 c o n d i t i o n : u i n t 16 ( 0 ) ! = 0 x 5 A 4 D a n d u i n t 16 ( 0 ) > 0 a n d 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=4D5A4552E8000000005883E8095005[4]FFD0C3condition:uint16(0)!=0x5A4Danduint16(0)>0andshellcode in (0x20…0x50)}rule CryptBot_Config {meta:author = "Any.Run"SHA256 = "183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac"date = "2022-01-19"description = "Detect CryptBot configuration in memory"strings: s 1 = " C o o k i e s E d g e " s1 = "CookiesEdge" s1="CookiesEdge"s2 = "ChromeDB<><>" s 3 = " E d g e D B < > < > " s3 = "EdgeDB<>_<>" s3="EdgeDB<><>"s4 = "ChromeExt<><>" s 5 = " H i s t o r y C h r o m e < > < > " s5 = "HistoryChrome<>_<>" s5="HistoryChrome<><>"s6 = "EdgeExt<><>" s 7 = " C o o k i e s F i r e f o x < > < > " s7 = "CookiesFirefox<>_<>" s7="CookiesFirefox<><>"s8 = "HistoryOpera<><>" s 9 = " C o o k i e s O p e r a < > < > " s9 = "CookiesOpera<>_<>" s9="CookiesOpera<><>"s10 = "FirefoxDB<><>" s 11 = " C o o k i e s C h r o m e < > < > " s11 = "CookiesChrome<>_<>" s11="CookiesChrome<><>"s12 = "HistoryFirefox<><>" s 13 = " H i s t o r y E d g e < > < > " s13 = "HistoryEdge<>_<>" s13="HistoryEdge<><>"s14 = "DesktopFolder<><>" s 15 = " C h r o m e D B F o l d e r < > < > " s15 = "ChromeDBFolder<>_<>" s15="ChromeDBFolder<><>"s16 = "ExternalDownload<><>" s 17 = " S c r e e n F i l e < > < > " s17 = "ScreenFile<>_<>" s17="ScreenFile<><>"s18 = "MessageAfterEnd<><>" s 19 = " H i s t o r y F i l e < > < > " s19 = "HistoryFile<>_<>" s19="HistoryFile<><>"s20 = "FirefoxDBFolder<><>" s 21 = " P a s s w o r d F i l e < > < > " s21 = "PasswordFile<>_<>" s21="PasswordFile<><>"s22 = "WalletFolder<><>" s 23 = " D e l e t e A f t e r E n d < > < > " s23 = "DeleteAfterEnd<>_<>" s23="DeleteAfterEnd<><>"s24 = "EdgeDBFolder<><>" s 25 = " I n f o F i l e < > < > " s25 = "InfoFile<>_<>" s25="InfoFile<><>"s26 = "CookiesFile<>"condition:7 of them}
IOC
12d20a973f8cd9c6373929ae14efe123> 7f277f5f8f9c2831d40a2dc415566a089a820151> 183f842ce161e8f0cce88d6451b59fb681ac86bd3221ab35bfd675cb42f056ac> http://sginiv12[.]top/gate.php> http://bytcox01[.]top/gesell.dat
参考来源
[AnyRun](https://any.run/cybersecurity-blog/cryptbot-infostealer-malware-
analysis/)
x01[.]top/gesell.dat
参考来源
[AnyRun](https://any.run/cybersecurity-blog/cryptbot-infostealer-malware-
analysis/)
最后
分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取
有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:
高清学习路线图或XMIND文件(点击下载原文件)
还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】