ExTR0-lab/Static-Malware-analysis
GitHub: ExTR0-lab/Static-Malware-analysis
一个展示 Windows DLL 静态恶意软件分析完整流程的实战案例项目,涵盖从文件检查到 IOC 提取的 SOC 核心技能。
Stars: 0 | Forks: 0
# 静态恶意软件分析 – 可疑 Windows DLL
在本项目中,我分析了一个可疑的 Windows DLL 文件,旨在练习现实世界中的 SOC 调查技术。目标是在不执行文件的情况下安全地分析它,揭示潜在的恶意行为,并提取有意义的威胁检测指标。
本项目展示了静态恶意软件分析的动手技能,包括文件检查、哈希校验、字符串提取和 PE 结构分析,这些都是安全运营中心 (SOC) 的常用技能。
# 使用的工具
PEStudio – 用于 PE 结构和元数据分析
FLOSS – 用于揭示隐藏或混淆的字符串
VirusTotal – 用于信誉和 IOC 检查
HashMyFiles – 用于生成 MD5 和 SHA256 哈希值
Microsoft x64 Strings – 用于可读字符串提取
Hex Editor – 用于检查原始二进制数据
# 步骤 1 – 在 Hex Editor 中检查文件
我做的第一件事是在十六进制编辑器中打开文件,以了解其基本结构。
我立刻发现了 “4D 5A” (MZ) 头,确认这是一个 Windows PE 文件。我还看到了熟悉的消息:
𝘛𝘩𝘪𝘴 𝘱𝘳𝘰𝘨𝘳𝘢𝘮 𝘤𝘢𝘯𝘯𝘰𝘵 𝘣𝘦 𝘳𝘶𝘯 𝘪𝘯 𝘋𝘖𝘚 𝘮𝘰𝘥𝘦
随着进一步滚动,我注意到:
填充了空字节或填充字节的节
高度不可读的数据块,可能被混淆或加壳
这些早期观察已经暗示该文件可能隐藏了其真实行为 —— 这是恶意软件中的常见策略。
视频演示:https://youtu.be/f_XYy6GP_-I?si=TgWaHE7zzB8VnWWS
# 步骤 2 – 哈希与信誉检查
接下来,我使用 HashMyFiles 生成了文件的 MD5 和 SHA256 哈希值,并在 VirusTotal 上进行了检查。
结果很明确:72 家安全厂商中有 61 家将该文件标记为恶意
该文件被确认为可疑 DLL
熵值分析显示:
节 熵值 备注
.text 6.15 轻微随机化,可能存在轻度混淆
.rdata 4.14 正常
.pdata 3.41 正常
.text 节中较高的熵值表明该文件可能在隐藏或混淆其代码,尽管它并未完全加壳。
视频演示:https://youtu.be/CGwaYs-PNGg?si=HE3e1ZqIMz3C1XqI
# 步骤 3 – 提取可读字符串
我使用 Microsoft x64 Strings 提取了所有四个或更多字符的可读字符串。
一些关键发现包括:
网络相关 API 调用,如 WinHttpOpen, WinHttpConnect, SendRequest, CloseHandle
暗示 HTTP 通信的字符串,包括 POST 和 Cookie 头
这指向潜在的网络活动,例如数据窃取或与命令控制 (C2) 服务器的通信。
视频演示:https://youtu.be/Jjl7f6AYQMw?si=ouwbQOtdDTFtz7Qt
# 步骤 4 – 使用 FLOSS 揭示隐藏字符串
并非所有字符串在静态下都可见。有些是在运行时生成或解码的。
使用带有 --no-static 标志的 FLOSS,我能够揭示之前工具错过的隐藏字符串。
最值得注意的是,我发现了一个潜在的命令控制 (C2) 域名:𝐩𝐨𝐝𝐢𝐮𝐦𝐬𝐭𝐫𝐭𝐬𝐬.𝐜𝐨𝐦
该域名多次出现,表明恶意软件可能试图进行外部通信。
视频演示:https://youtu.be/c3dM7pgqmgk?si=gCtm4Oha29ym0aYw
)
# 步骤 5 – 使用 PeStudio 进行 PE 结构分析
最后,我使用 PeStudio 检查了 DLL 以获取其结构的完整视图:
64 位 DLL
整体熵值:4.665(中等随机性,存在一些混淆)
可执行节:.c 和 .text
PE 头显示了 Microsoft 链接器签名,与较旧的 Visual Studio 构建版本一致。
可疑导入包括:
DLL 关键函数 用途
winhttp.dll WinHttpOpen, WinHttpConnect 网络通信
kernel32.dll Various 核心 Windows API 调用
advapi32.dll Registry, privileges 系统修改
shell32.dll / user32.dll Various 系统交互,潜在的持久化
PeStudio 还标记了 15 个潜在的恶意指标,进一步证实该 DLL 属于高风险文件。
视频演示:https://youtu.be/swiyfG9U-7k?si=6YRHIH1vSPpOZjWZ
# 妥协指标
类型 值
域名 podiumstrtss.com
检测率 15 / 94 (VirusTotal) 和 检测率 52% (hybrid-analysis)
文件类型 Windows PE DLL
可疑 API WinHttpOpen, WinHttpConnect, SendRequest
# 分析报告 – 可疑 Windows DLL
对该 DLL 的静态分析揭示了多个恶意活动指标。该文件被确认为具有中等混淆程度的 Windows PE 可执行文件,表现为 .text 节中的熵值升高以及不可读的数据块。
关键发现:
信誉:61/72 家安全厂商将该文件标记为恶意。
字符串与行为:网络相关 API(WinHttpOpen, WinHttpConnect, SendRequest)和 HTTP 指标(POST, Cookie)暗示潜在的出站通信。
隐藏数据:FLOSS 分析揭示了一个可能的命令控制域名:podiumstrtss.com。
PE 结构与导入:可执行节(.c, .text)和可疑的 DLL 导入(winhttp.dll, advapi32.dll, kernel32.dll)表明可能存在网络活动、注册表操作和持久化机制。
结论:
该 DLL 表现出强烈的恶意软件特征,可能设计用于网络通信和数据窃取。提取的 IOC 可用于检测、监控和进一步的 SOC 调查,且无需执行该文件。SS 和 x64 Strings,我能够安全地调查恶意软件并提取有意义的 IOC。
标签:Ask搜索, Cloudflare, DAST, DeepSeek, DNS 反向解析, FLOSS, Hex Editor, IOC提取, MD5, MITRE ATT&CK, PEStudio, PE文件结构, SHA256, SOC调查, VirusTotal, Windows DLL, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 可移植可执行文件, 哈希校验, 威胁情报, 安全实验室, 开发者工具, 恶意软件分析, 文件签名, 混淆分析, 熵值分析, 病毒检测, 网络信息收集, 网络安全, 逆向工程, 隐私保护, 静态分析, 黑盒测试