恶意软件分析基础

安全地剖析恶意二进制文件。结合静态分析提取字符串和头部信息,并利用 strace 和 ltrace 进行动态分析,以监控执行过程中的系统调用和库调用。

网络安全工程师网络安全

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

恶意软件分析需要结合不执行样本时取得的证据与运行时观察到的行为。本实践课程使用安全、专门构造的 Linux 程序建立这套流程,让你理解文件结构、字符串、系统调用和库调用能揭示哪些可疑行为。

你将识别 ELF 文件、记录 SHA-256 哈希、检查头部、提取硬编码指标,并使用 strace 和 ltrace 跟踪受控执行。最终黑盒挑战要求你恢复硬编码密钥,在跟踪下触发预置行为,并报告它修改的本地文件。

你将学到什么

  • 使用 file 判断二进制文件的真实类型与架构
  • 生成 SHA-256 指纹,并使用 readelf 检查 ELF 头部
  • 提取并筛选嵌入字符串中的 URL、IP 地址和硬编码秘密
  • 使用 strace 保存完整系统调用,并聚焦文件与网络活动
  • 解读受控执行中的 openat、unlink、socket 和 connect 证据
  • 使用 ltrace 跟踪共享库函数,并筛选字符串和文件处理调用
  • 在预置明文载荷被转换并写入磁盘前将其恢复
  • 结合静态线索与动态跟踪,记录被触发的文件修改

本课程适合谁

本中级课程适合希望学习可执行文件分诊实践基础的网络安全学习者、事件响应人员、Linux 管理员和恶意软件分析入门者。课程强调可观察行为与证据收集,而非汇编级逆向工程。

前置要求: 能够使用 Linux 终端、读取文件、用 grep 筛选文本并重定向输出。了解进程、可执行文件、网络和哈希会有所帮助;无需 C 编程或反汇编经验。

学习环境: 交互式 Ubuntu 22.04 终端,提供 file、SHA-256 工具、readelf、strings、strace 和 ltrace。所有样本都是为实验专门编译的无害 C 程序,只操作预置本地文件与测试指标。

常见问题

会执行真实恶意软件吗?

不会。每个可执行文件都是在实验设置阶段从专用源码构建的模拟器,用于展示文件、网络调用、凭据和载荷处理模式,不具备真实恶意软件能力。

实验隔离环境适合分析我自己的未知样本吗?

不适合。LabEx 环境适合课程提供的无害样本,但课程没有为任意不可信二进制配置加固沙箱、网络隔离、快照或监控控制。请勿在此上传或运行自己的未知样本。

课程会教授反汇编或反编译吗?

不会。尽管最终挑战采用“逆向工程”情境,实际范围是使用文件元数据、ELF 头部、字符串、strace 和 ltrace 进行黑盒分诊。汇编、调试器、反编译器、脱壳和代码重建不在范围内。

是否需要外部威胁情报服务?

不需要。你会记录哈希和本地指标,但不会上传样本,也不会查询 VirusTotal 等公共服务。所有结论均来自课程工件和跟踪输出。

教师

labby
Labby
Labby is the LabEx teacher.