静态分析
字符串与标头
静态分析 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。
什么是静态分析
静态分析是在不运行恶意样本的情况下对其进行检查。您可以检查文件的内容、结构和元数据,了解它可能执行的操作。
这比运行未知代码更安全,通常也是任何恶意软件调查的第一步。
安全地进行工作
即使是静态分析,也应在隔离环境中进行:使用专用的分析虚拟机,且其中不得存放敏感数据,最好禁用网络。
绝不要在主力计算机上分析恶意软件。意外执行或恶意压缩包都可能导致计算机被入侵。
计算样本哈希
首先,计算文件的哈希值(MD5、SHA-1、SHA-256)。哈希值是用于识别样本并在威胁情报数据库中查找样本的指纹。
只向 VirusTotal 提交哈希值,可以避免上传样本本身。
sha256sum sample.exe提取字符串
strings 命令会从二进制文件中提取可打印文本。它可以显示网址、IP 地址、文件路径、注册表项和错误消息。
这些痕迹可以提示恶意软件的功能以及命令与控制基础设施。
strings -n 8 sample.exe | less识别文件类型
不要相信文件扩展名。请使用 file(并检查魔数)来确认真实格式。
Windows 可执行文件以 MZ 开头(PE 格式),ELF Linux 二进制文件以 0x7F ELF 开头。了解文件类型有助于指导后续分析。
file sample.exe
# sample.exe: PE32 executable (GUI) Intel 80386PE 头
Windows 可执行文件使用可移植可执行(PE)格式。头部描述了各个节、入口点和时间戳。
PEview、pefile 或 PE-bear 等工具可以为您解析这一结构。
import pefile
pe = pefile.PE('sample.exe')
print(pe.FILE_HEADER.TimeDateStamp)导入项与 IAT
导入地址表(IAT)列出了程序从其他 DLL 调用的 API 函数。这是行为线索最丰富的来源之一。
诸如 InternetOpenUrl、CreateProcess 或 RegSetValue 这样的导入项,可能表明程序具备联网、执行和持久化功能。
节与熵
PE 文件被划分为多个节,例如 .text(代码)、.data 和 .rsrc(资源)。
某个节中的高熵通常表示存在加壳或加密,这暗示真正的代码在运行时才会显现。
字符串少、导入项也少?
如果样本中几乎没有可读字符串,导入项也非常少,那么它很可能经过了加壳。加壳恶意软件会在运行时于内存中自行解包。
这说明仅靠静态分析无法发现全部内容;稍后您还需要进行动态分析和脱壳。
YARA 规则
YARA 规则描述字符串或字节的模式,用于对恶意软件家族进行分类和检测。将样本与规则集进行匹配,可以快速识别已知威胁。
分析人员也会根据静态分析中发现的痕迹编写自定义规则。
yara malware_rules.yar sample.exe记录分析结果
在整个静态分析过程中,记录每一项痕迹:哈希值、可疑字符串、导入项和节异常。这些内容会成为入侵指标(IOCs),并为您的下一步行动提供依据。
良好的笔记还可以帮助您将样本与已知家族关联起来,并在日后重新分析时避免重复工作。
快速检查
回想一下,节的高熵通常表示什么。
回顾
现在您已经了解恶意软件静态分析:
- 在隔离的虚拟机中不运行样本,直接进行检查。
- 计算哈希值、提取字符串并确认文件类型。
- 解析 PE 头、导入项(IAT)和节;高熵暗示存在加壳。
- 使用 YARA 对已知家族进行分类。
接下来,您将通过动态分析观察恶意软件的行为。
常见问题解答
「静态分析」课时是免费的吗?
是的 — 「静态分析」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。
「静态分析」这节课中我会学到什么?
字符串与标头 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Ethical Hacking Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「静态分析」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?
能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。