20232326 2025-2026-1 《网络与系统攻防技术》实验四实验报告

一、实验内容与问题回答

1.恶意代码文件类型标识、脱壳与字符串提取

2.使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息

3.分析一个自制恶意代码样本rada,并撰写报告

4.取证分析实践

二、实验详细步骤

(一)恶意代码文件类型标识、脱壳与字符串提取

  1. 文件类型识别步骤

    1. 打开CMD,切换至rada样本目录(如cd C:\MalwareSample);

    2. 执行exiftool rada.exe(无File命令时),查看“File Type”“Operating System”字段,确定文件格式为PE32、运行平台为Windows;
      image

    3. 启动PEiD,点击“文件→打开”加载样本,查看“Packer”字段,若未直接识别则启用“Kanal插件”深度扫描,确认加壳工具为UPX 3.96。
      image

  2. 脱壳处理步骤

    1. 启动超级巡警脱壳机,点击“添加文件”选择rada.exe,设置输出路径为C:\MalwareSample\Unpacked
    2. 在“脱壳设置”中勾选“UPX专用脱壳”“脱壳后自动验证”,点击“开始脱壳”;
    3. 脱壳完成后,用PEiD检测输出文件“rada_unpacked.exe”,确认“Packer”显示“None”、区段表无UPX标识,验证脱壳成功。
      image
      image
  3. 字符串提取步骤

将Windows端的unpacked文件拖到Kali虚拟机中,这里我们使用命令strings RaDa_unpacked.exe
image
image

从下图可以看到作者是Raul Siles && David Perez

(二)IDA Pro分析crackme1.exe与crackme2.exe

  1. crackme1.exe分析步骤
    静态分析crackme1.exe可以发现,命令行只输入一个参数时输出Pardon? What did you say?,输入超过两个参数时输出I think you are missing something.

image

  1. 启动IDA Pro ,点击File→Open加载crackme1.exe,点击ok;
    image

2.选择View→Graphs→Function calls,打开该文件的函数调用图,
image
在函数调用图中,
main函数调用_strcmp、__alloca(栈内存分配)、_fprintf/_printf等函数
image

点击菜单栏 View→Open subviews→Functions,打开 “Functions” 函数列表窗口。双击需分析的main函数
image

程序会读取命令行参数,将其与“I know the secret”做比较。如果一致,程序就会跳转到loc_401310输出提示正确的信息:You know how to speak to programs, Mr...
image
image

3.在Windows主机的PowerShell中再次运行此文件,输入参数“I know the secret”,得到了正确的回答
image

  1. crackme2.exe分析步骤

尝试输入上面得到的“I know the secret”参数运行,失败了
image

重复上面的步骤,得到
函数调用图:
image
发现依然是main函数调用了_strcmp、__alloca(栈内存分配)、_fprintf/_printf等函数
image
打开main函数
image

发现这段汇编代码首先校验程序自身的文件名是否匹配“crackme please.exe”,若匹配则继续校验命令行的第一个参数是否等于 “I know the secret”,只有同时满足这两个条件,程序才会跳转到后续逻辑执行
image

  1. 打开cmd,使用copy命令复制文件为crackmeplease.exe,再次输入参数。发现可以获得正确的结果
    image

(三)自制rada恶意代码样本分析步骤

(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

(2)找出并解释这个二进制文件的目的;

(3)识别并说明这个二进制文件所具有的不同特性;

(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;

(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

(6)给出过去已有的具有相似功能的其他工具;

(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

(8)给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。

(四)取证分析实践步骤

  1. 查阅IRC协议文档,明确IRC定义、加入消息格式与默认端口;
  2. 结合僵尸网络技术原理,阐述其定义与典型用途;
  3. 用Wireshark打开Snort流量日志,筛选源IP 172.16.134.191、IRC端口的流量,提取通信服务器IP;
  4. 筛选目标IP 209.196.44.172的流量,去重统计源IP数量;
  5. 分析Snort告警记录(漏洞利用、端口扫描、暴力破解),提取攻击IP;
  6. 结合告警规则与漏洞库(MS03-026、MS04-011等),匹配尝试的安全漏洞;
  7. 跟踪漏洞利用流量的后续行为(如Shellcode执行、IRC指令发送),判断攻击是否成功并分析原因。

三、问题与解决方案

1.在本机Win11上安装IDAPro失败,疑似系统问题,换到Win10虚拟机上安装成功
image
image
但是打开的函数调用图非常模糊,也没有找到能调整的地方,加之在虚拟机上运行非常卡
image

又重新尝试在Win11主机上安装IDAPro,使用了同学下载的x64版本的exe文件,但是刚开始又打开失败了,后来切换到纯英文目录成功运行文件,猜测是路径中包含中文导致的运行失败。
image

posted @ 2025-11-10 21:23  20232326朱思敏  阅读(2)  评论(0)    收藏  举报