LINUX SB 快照站

【真实经验教程-钓鱼分析】-点击JS也能控制你的电脑精华

原帖: linux.sb/topic/12982 · 共 3 楼 · 标题快照 2026-08-16 12:33:15

楼主 · 历史 (1)
发帖 2026-08-16 12:31:27 · 快照 2026-08-17 20:24:55

样本:1_final_shellcode_执行载荷.bin(277,067 字节 / 0x43A4B)
分析环境:IDA Pro(ida-pro-mcp)+ 脚本化二进制提取
结论:AsyncRAT 家族 .NET RAT,经 Donut shellcode loader 内存加载,功能包含凭据窃取、键盘记录、屏幕截图、反沙箱与远程控制。


一、攻击链全景

DHL 钓鱼邮件 (.eml)
  └─ RAR 附件
       └─ JS (LuaJIT 解释器 + 内嵌脚本)
            └─ LuaJIT → 解密/释放 shellcode
                 └─ 1_final_shellcode_执行载荷.bin  ← 本样本
                      └─ Donut loader (位置无关 x64 shellcode)
                           ├─ PEB 遍历 + API 哈希解析
                           ├─ 流式解密配置区 (自定义算法)
                           └─ 反射式加载 + CLR 托管执行
                                └─ 3_payload_dotnet.exe (.NET RAT)

DHL 钓鱼投递 → JS 阶段 → LuaJIT → Donut 加载器 → 内存中直接执行 .NET RAT,全程不落盘(除必要持久化)。


二、Donut loader 技术细节

2.1 配置布局(file offset 0x5 起)

偏移大小含义
04config 长度 = 0x3D7C0
416解密 Key = 17ea3dc125d9fcc3eb68919f1a266024
2016Counter 初值 = 67c4e60cf2c87e5608227bcbcb3d40a9
36536API 哈希表(SHA1 风格,逐个解析函数指针)
572加密的 payload 数据(251,268 字节)

2.2 自定义流式解密算法(sub_40855)

  • state = counter ^ key → 16 轮混合 → ^ key → 输出块与密文异或
  • counter 从第 15 字节开始 little-endian 自增(即按 128-bit 计数器推进)
  • 每轮混合运算基于 32-bit 加/异或/循环右移(ror),无查表,无标准密码学库——属定制流密码,目的就是对抗静态特征与通用解密器。

2.3 反射式加载

  • 无需文件落盘:直接解析 PE 头(PE32/PE32+ 两种 optional header 均支持)
  • DLL 遍历加载:ole32;oleaut32;wininet;mscoree;shell32
  • wininet → HTTP 通信
  • mscoree → CLR 托管宿主(加载 .NET payload)
  • payload 类型分派(*(v16+2336)):1/2 = PE,3/4 = .NET,5/6 = 其他
  • 解密后校验 SHA1 摘要(存储于 config +0xD41,防篡改)
  • 执行完毕后 VirtualFree(MEM_DECOMMIT|MEM_RELEASE) 清理内存

三、最终载荷:.NET RAT

属性
文件名3_payload_dotnet.exe
大小245,760 字节
SHA19d2fa9c1115c0e2d6a2aec23c33cde6825a00f43
架构x86 (.NET Framework 4.0)
CLR runtimev4.0.30319
CLR metadata streams#~ #Strings #US #GUID #Blob 共 5 个

#US(用户字符串堆)与 #Strings 堆提取全部行为特征,确认属 AsyncRAT 谱系(含几十种应用的凭据恢复模块,功能比原生 AsyncRAT 更全)。


四、C2 基础设施

FTP 外传/C2ftp://ftp.hhautoinvestment.co.tz
FTP 账号ceo@hhautoinvestment.co.tz
公网 IP 探测http://ip-api.com/line/?fields=hosting
DynDNShttps://account.dyn.com/
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
通信方式FTP / HTTP(FtpWebRequest HttpWebRequest WebClient),无 TCP socket
  • C2 域名 hhautoinvestment.co.tz坦桑尼亚 (.tz) 注册域名,伪装成"投资公司"(配合钓鱼话术)。
  • 通过 ip-api 判断主机是否托管(hosting 字段),用于反沙箱/筛选真实受害者环境。

五、恶意行为清单

5.1 凭据窃取(核心功能,覆盖 30+ 应用)

浏览器(密码 + Cookie + 自动填充):
Chrome、Firefox、Edge (Chromium)、Opera、Brave、Yandex、Vivaldi、360Chrome、QQ 浏览器、UC、Comodo Dragon、Torch、Amigo、Sputnik、Kometa、CocCoc、Liebao、CentBrowser、Pale Moon、IceDragon、Chedot、Orbitum、Sleipnir、Safari for Windows(读 keychain.plist)等。

邮件客户端: Outlook、Foxmail、The Bat!、Becky、PocoMail、ClawsMail、eM Client、Mailbird、IncrediMail、Eudora、Opera Mail、Windows Mail、Mozilla Thunderbird。

FTP 客户端: FileZilla、WinSCP、FlashFXP、CoreFTP、SmartFTP、WS_FTP、FTP Navigator、FTP Commander、FTPGetter。

VNC: RealVNC、TigerVNC、TightVNC、UltraVNC。

VP-N: OpenV-PN、NordV-PN、Private Internet Access、DynDNS(含 ddns 配置)。

其他: Discord Token、Pidgin、Trillian、Paltalk、JDownloader 2、MySQL Workbench、Psi+。

Windows Vault / DPAPI: VaultOpenVault / VaultEnumerateVaults / VaultGetItem 读取 Windows 凭据管理器;DPAPI ProtectedData.Unprotect + Rfc2898DeriveBytes 解 Chrome 密码(encrypted_key → AES-GCM 解密,bcrypt BCRYPT_AES_ALGORITHM)。

5.2 键盘记录

  • SetWindowsHookEx(WH_KEYBOARD_LL) + KBDLLHookProcDelegate 全局低级钩子
  • ToUnicodeEx 转换键码,记录 F1–F12、Ctrl、Alt、Win、Tab、Enter 等功能键
  • 日志文件带 KL_ 前缀;HTML 导出

5.3 屏幕截图

  • CopyFromScreen + Bitmap,保存为 SC_yyyy_MM_dd_HH_mm_ss.jpeg

5.4 剪贴板监控

  • SetClipboardViewer / ChangeClipboardChain,记录 LastCopiedText,HTML 导出(Copied Text:

5.5 系统信息侦察

  • Win32_ComputerSystem / Win32_Processor / Win32_NetworkAdapterConfiguration(MAC)/ Win32_BaseBoard(主板序列号)/ Win32_VideoController
  • 组合成 HTML 邮件格式上报:OSFullName / CPU / RAM / IP / User Name / Computer Name / Time

5.6 反沙箱 / 反虚拟化 / 反调试

  • CheckRemoteDebuggerPresent / isDebuggerPresent
  • VM 检测:VMware、VirtualBox、Win32_VideoController 显卡名、VirtualBox 进程
  • 沙箱 DLL:SbieDll.dll(Sandboxie)、cmdvrt32.dllsnxhk.dllSxIn.dll
  • 用户空闲检测:GetLastInputInfo(判断无人值守 → 触发恶意行为)
  • 系统句柄枚举:NtQuerySystemInformation / NtQueryObject

5.7 持久化

  • AppAddStartup / HideFileStartup:注册表 Run 键(StartupRegName)+ 启动目录(StartupDirectoryName)+ 环境变量(StartupEnvName
  • 自复制 + 隐藏文件

5.8 进程注入 / 远程执行

  • CreateProcess + ProcessStartInfo(远程命令执行)
  • 内存映射注入:CreateFileMapping / MapViewOfFile / PageExecuteReadWrite / VirtualMemoryWriteCreateThread 执行
  • OpenProcess / DuplicateHandle 跨进程操作

5.9 文件管理

  • CreateFile / DeleteFile / MoveFile / WriteFile / ReadAllBytes / GetFiles / GetDirectories(远程文件浏览/上下传)

5.10 网络防拦截

  • SSL 校验绕过:自定义 ServerCertificateValidationCallback / SslPolicyErrors(忽略证书错误)
  • Tor 支持:EnableTorPanel / TorPid(可选经 Tor 隐藏流量)

六、IOC(失陷指标)

类型
C2 FTPftp.hhautoinvestment.co.tz
FTP 账号ceo@hhautoinvestment.co.tz
关联域名hhautoinvestment.co.tz
公网探测ip-api.com
交付 UAMozilla/5.0 (…rv:99.0) Gecko/20100101 Firefox/99.0
.NET 载荷 SHA19d2fa9c1115c0e2d6a2aec23c33cde6825a00f43
解密后配置 SHA17221553f6096f57c938c1e6914d2f4107b24f517
特征文件/日志KL_*.logSC_*.jpeg/log.tmp*_log.html
行为特征SetWindowsHookEx(WH_KEYBOARD_LL)VaultOpenVaultCopyFromScreenNtQuerySystemInformation
持久化位置注册表 Run 键、启动目录、环境变量(配合 AppAddStartup/HideFileStartup

七、处置建议

  1. 全网搜索上述 IOC(尤其 FTP 域名、User-Agent、KL_/SC_ 文件特征)。
  2. 进程取证:检查异常 wscript/powershell/托管进程(x86 CLR)内存注入痕迹。
  3. 清除持久化:注册表 HKCU\Software\Microsoft\Windows\CurrentVersion\Run、启动目录、HKCU\Environment
  4. 凭证轮换:所有可能被窃取的浏览器/邮件/FTP/V-PN 密码、Discord token 强制重置。
  5. 邮件网关:拦截 DHL 仿冒邮件(发件域名、附件 RAR+JS 组合)。

本报告由 IDA Pro 静态逆向 + 脚本化提取完成,行为数据来自 .NET 元数据字符串堆(#US/#Strings)与反编译的控制流/API 调用。

#1
发帖 2026-08-16 12:53:52 · 快照 2026-08-16 12:53:59

6.好高端,不过这种js文件,做网站的防不胜防啊