前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解密 CryptBot 窃密软件

解密 CryptBot 窃密软件

作者头像
FB客服
发布2023-02-24 12:54:25
3760
发布2023-02-24 12:54:25
举报
文章被收录于专栏:FreeBufFreeBuf

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

恶意软件简介

沙盒动态分析

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

进程信息

T1555.003

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

窃取 Firefox 浏览器数据

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

代码语言:javascript
复制
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”注册表树检查系统中已安装的软件:

检查已安装的软件

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

代码语言:javascript
复制
reg_key is (“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall”)ANDoperation read(向右滑动,查看更多)

T1082

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

收集系统信息

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

代码语言:javascript
复制
reg_key is (“HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION”)ANDreg_name is (“INSTALLDATE”)ANDoperation read(向右滑动,查看更多)

T1071.001

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

回传数据

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

代码语言:javascript
复制
network connectAND(domains are (“sginiv12[.]top” or “bytcox01[.]top”)OR (ip == “23[.]217.138.108” and port==80))(向右滑动,查看更多)

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

回传流量

Suricata 也对此进行了告警:

恶意流量告警

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

代码语言:javascript
复制
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 规则

代码语言:javascript
复制
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)}(向右滑动,查看更多)
代码语言:javascript
复制
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/

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 沙盒动态分析
    • T1555.003
      • T1518
        • T1082
          • T1071.001
            • T1074.001
              • T1070.004
              • 调试分析
              • 静态分析
                • 自动化配置解密
                • Yara 规则
                • IOC
                • 参考来源:
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档