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

news/2025/11/10 21:26:26/文章来源:https://www.cnblogs.com/hxy2005/p/19187784

1.实验内容

通过对以下内容的实践操作掌握恶意代码的静态分析(文件识别、字符串提取、反汇编)和动态分析(调试、行为监控)以及网络取证技能。
(1)对“rada”样本进行脱壳并找到作者。
(2)逆向分析“crackme”程序,破解其密码逻辑。
(3)完整分析“rada”样本并撰写综合性报告。
(4)分析网络数据,追踪僵尸网络的活动痕迹和攻击方法。

2.实验过程

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

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
在kali虚拟机中使用命令file RaDa.exe查看其文件格式

d4106ae0e33177415dc77b78c3a7cb7
a.PE32
Microsoft Portable Executable(PE)格式的32位可执行程序,是为Windows操作系统设计和运行的;
b.4.00 (GUI)
表示Windows NT 4.0 / Windows 95 的操作系统版本,指明了程序所需的Windows子系统版本;
c.Intel i386
表明该二进制文件编译的目标平台是Intel 80386或兼容的32位x86处理器架构,它可以在任何32位或64位的x86 Windows系统上运行;
d.3 sections
表示这个可执行文件内部被划分成了三个主要的节区。

使用PEid分析结果如下

a2d500cf8e9f8aa43283cdcc2ccd8b1
我们可以得到:
a.文件已加壳
工具明确检测到该文件使用了UPX加壳器
b.加壳版本信息
工具识别出的版本范围是:0.89.6-1.02/1.05-2.90
作者是Markus&Laszlo
c.文件基础信息
入口点:0000FD20(这是程序执行开始时,操作系统会跳转到的地址)
连接器版本:6.0(通常是编译该程序时使用的链接器版本)
子系统:Win32 GUI(图形用户界面程序)

(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理

ca841beb24c25ca42225f9b97868e17

(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁

a295dda62463130532a5a5da35dd916
35f11c326abafc3badb42908e0b01f0
可以看到作者是Raul Siles && David Perez

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

对crackme1.exe进行分析

在IDA Pro中打开文件crackme1.exe,依次点击View->Graphs->Function calls,打开该文件的函数调用图
1544486a0931511e7473dcf43155689
为了得到正确的输出,我们要找正确的输入,重点关注fprintf和printf,在上方工具栏中打开Windows->Functions,打开函数管理工具,因为fprintf和printf在sub_401280函数下,所以查看sub_401280
7e965568b6baab36da084bbd42b6de3
观察函数流程图,输入参数数量不为2时,程序输出“I think you are missing something.”,输入参数数量为2时,如果第二个输入为“I know the secret”,程序输出“You know how to speak to programs, Mr. Reverse-Engineer”,否则输出“Pardon? What did you say?”,所以我们需要输入的第二个参数为“I know the secret”
25db8605eb2ec5a6211c851ed1e233c
按照我们分析得出的结论进行输入
13baabaaba43f86e8d5216e67345b91
由运行结果可以看出我们的分析是正确的

对crackme2.exe进行分析

进行和crackme1.exe相同的操作
90d5424b6466cff9a8a9cc3ea3e0523
这是函数调用图,要分析fprintf,我们还是找到sub_401280
d03b49ec40859da36bfbdb5f89393c7
5f468cb143ce4ada553ec3dccd5b0ae
由运行流程图看出,crackme2除了需要crackme1所要求的两个输入、第二个是“I know the secret”外,还对输入的第一个参数要求为“crackmeplease.exe”,说明我们需要将该文件的文件名修改为crackmeplease.exe再运行
44ac44cdaef154e5d58d4c19c6bfafa
(这是未改名的文件)
0b9ba8c3ed4ac5962f5bd112fbac5f4
将文件名修改为crackmeplease.exe后运行输入第二个参数“I know the secret”后得到正确输出

三、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

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

在虚拟机中输入以下命令
file RaDa.exe
md5sum RaDa.exe计算文件的MD5哈希值
sha256sum RaDa.exe计算文件的SHA-256哈希值
exiftool RaDa.exe | grep "Time Stamp"找出该可执行文件的编译时间戳
20304083738dbc07d7df30c4d993478
e2f2db00234d0f878d80bf755789124
55052157826302ed4eaedb084184ebe
rada文件的MD5摘要为:caaa6985a43225a0b3add54f44a0d4c7
SHA-256摘要为:13c2379e9d9f679396e21a3391804cc834892f25691381b6d078d07b56d38f90
编译时间戳为2004年10月29日 19:59:58

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

在IDA Pro中分析脱壳后的RaDa文件(也是区别于前面两个简单的crack乱如麻了),选择这个sub_404FB0函数进行突破
c865efc1fee77278c70ff70339e011f
functions里打开sub_404FB0,对其进行具体分析
1762776250806
命令mov edx, offset aHttp10_10_10_1;"http://10.10.10.10/RaDa",是将地址http://10.10.10.10/RaDa 加载到edx寄存器,地址10.10.10.10很可能是攻击者的命令控制服务器
1762776316564
"RaDa_commands.html"是恶意软件从C&C服务器获取命令的指令文件的名称
"cgi-bin"是一个经典的Web服务器目录,通常用于存放可执行的脚本或程序,指明了C&C服务器上处理请求的程序所在目录,恶意软件会向这个目录下的CGI脚本发送请求
"download.cgi"、"upload.cgi"是CGI脚本,受害者主机会向download.cgi发起请求下载额外的恶意载荷、配置更新或其他工具,upload.cgi是恶意软件用来向C&C服务器上传数据的接口,被窃取的数据通过这个脚本发送给攻击者
"C:\RaDa\tmp"是本地磁盘上的一个目录路径,这是恶意软件在受感染主机上创建工作目录,可能用于临时存放从服务器下载的文件,或者暂存准备上传的数据
1762777060727
mov edx, offset aHklmSoftwareMi;"HKLM\Software\Microsoft\Windows\CurrentVersion\Run"将一个注册表路径的字符串加载到edx寄存器,HKLM是HKEY_LOCAL_MACHINE的缩写, 这是Windows系统一个著名的自启动项,任何在这个注册表键下添加的可执行文件路径,都会在系统启动时自动运行
mov edx, offset aRada; "RaDa"将一个字符串"RaDa"加载到 edx
mov edx, offset aReg_sz; "REG_SZ"将字符串"REG_SZ"加载到 edx
9fb68e205b26c636c7023a31778d6c9
mov edx, offset aCRadaBin; "C:\RaDa\bin"恶意代码将在这个路径下存放其相关文件和副本
后面这段代码将工作目录C:\RaDa\bin和可执行文件名RaDa.exe拼接起来,形成其自身的完整路径 C:\RaDa\bin\RaDa.exe,将拼接得到的完整路径"C:\RaDa\bin\RaDa.exe"写入注册表启动项

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

该二进制文件是一个功能完整的、具有典型后门特征的恶意软件,它通过 UPX 加壳进行保护,在系统中建立固定工作目录,并利用注册表实现自启动,其核心功能是通过HTTP协议与C&C服务器进行通信,执行文件上传、下载和命令接收,从而使攻击者能够远程完全控制受感染的主机

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

a.使用UPX加壳
b.采用运行时字符串构建和间接函数调用

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

该恶意程序为后门程序,其核心目的是为攻击者提供对受感染主机的远程控制能力,支持命令执行、文件上传和下载。它不具备病毒或蠕虫的自我复制和自动传播特性。

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

Back Orifice、灰鸽子、Sub7等

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

在上面使用的字符串工具识别出作者是Markus&Laszlo,因为作者在创作时就留下这样的信息,我们在脱壳后利用分析工具可得到

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

通过比对文件中的特征码与已知恶意软件的特征库来进行识别
以RaDa为例,将文件的MD5或SHA-256哈希值与恶意软件数据库中的记录进行比对可以发现它是一个恶意代码

B.启发式行为检测

通过分析代码的结构、指令序列和行为模式,监控程序运行时是否执行了可疑行为序列来判断其是否恶意
以RaDa为例,检测到其在C:\根目录下创建RaDa文件夹及其子目录,修改HKEY_LOCAL_MACHINE...\Run注册表项以实现自启动,尝试连接远程服务器的cgi-bin目录,并访问RaDa_commands.html、upload.cgi、download.cgi等特定文件来判定其属于恶意代码

C.网络流量检测

通过监控网络流量,寻找与已知恶意软件通信模式相匹配的异常连接或数据交换
以RaDa为例,与一个已知的恶意IP地址或域名(即RaDa的C&C服务器)建立HTTP连接,检测HTTP请求中是否包含特定的URI路径来判断其是否是一个恶意程序

D.文件系统与注册表监控

实时监控系统关键位置的文件和注册表项的创建、修改和删除操作
检测到RaDa尝试在C:\根目录下创建名为RaDa的文件夹进行报警

E.内存分析检测

在恶意软件运行后,通过分析系统的物理内存或镜像,来寻找其中残留的恶意代码、字符串或网络连接痕迹
检测到RaDa.exe进程,检查网络连接,寻找与C&C服务器建立的连接

四、取证分析实践

Windows 2000系统被攻破并加入僵尸网络

问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:

(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC是什么?

IRC是一种应用于互联网的实时文本通信协议,主要用于群体聊天,但也支持一对一的私人对话,采用客户端-服务器模型。用户使用IRC客户端软件连接到IRC服务器。多个服务器可以互联形成一个IRC网络

当IRC客户端申请加入一个IRC网络时将发送哪个消息?

申请加入网络时发送的核心消息是NICK和USER,而申请加入一个特定频道时发送的消息是JOIN

IRC一般使用哪些TCP端口?

6667:这是最常用、默认的IRC端口
6660-6669:这是一系列传统的IRC端口,因为早期一些系统限制使用低于1024的端口
6697:现代IRC网络通常使用此端口用于SSL/TLS加密连接

(2)僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是什么?

僵尸网络是由一台或多台命令与控制服务器集中控制的大量被恶意软件感染的互联网设备组成的网络,控制整个网络的黑客或犯罪组织可以同时向网络中的所有或部分被感染的设备下发指令,让它们协同完成复杂的任务,被感染的设备对此并不知情

僵尸网络通常用于什么?
(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
(4)在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
(5)哪些IP地址被用于攻击蜜罐主机?
(6)攻击者尝试攻击了那些安全漏洞?
(7)那些攻击成功了?是如何成功的?

3.问题及解决方案

  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX - ...

4.学习感悟、思考等

xxx xxx

参考资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/961776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

一、实验内容与问题回答 1.恶意代码文件类型标识、脱壳与字符串提取 2.使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息 3.分析一个自制恶意代码样本rada,并撰写报告 4.取…

#题解#洛谷P3143

[传送门](P3143 [USACO16OPEN] Diamond Collector S - 洛谷) 分析 解决问题只需枚举这样的两个组:使得每组中极差<=k,且两个组不交,求两个组元素 代码实现 #include<bits/stdc++.h> using namespace std; …

STM32环境监测架构开发实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[GESP202303 二级] 百鸡问题

[GESP202303 二级] 百鸡问题B3836 [GESP202303 二级] 百鸡问题 题目描述 “百鸡问题”是出自我国古代《张丘建算经》的著名数学问题。大意为:“每只公鸡 5 元,每只母鸡 3 元,每 3 只小鸡 1 元;现在有 100 元,买了…

2025 年 11 月码垛机厂家推荐排行榜,多样板材码垛机,倒板码垛机,分拣码垛机,上料码垛机,下料码垛机,码垛机械手,全自动码垛机,龙门码垛机公司推荐

2025年11月码垛机厂家推荐排行榜:智能码垛设备选购权威指南 行业背景与发展趋势 随着工业4.0时代的深入推进,智能制造已成为现代工业发展的核心驱动力。在众多工业自动化设备中,码垛机作为物料搬运和仓储物流的关键…

2025 ICPC成都+南京游记

游记,碎碎念ICPC 2025 终榜,Ag+Ag,成都 rk 50+,南京 rk 70+(加打星)。 主要记录赛场发挥和总结,旅游游记没打算写(雾)。 中间打星了武汉,不过玩太嗨了,赛场集体睡大觉,加上俩队友都是退役选手,铜了,就当…

题解 : P14461

原题链接 数学题。 记多项式系数向量为 \(a=(a_1,a_2,...,a_m)\)。定义线性算子 \(D\) 作用在某系数向量上为 \((D \cdot a)_i=(i+1)a_{i+1}\),\(0 \le i \le m\)。 题目给定递推: \(\begin{cases} F_i(x)=G_{i-1}(x…

MySQL表的增删改查 - 教程

MySQL表的增删改查 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

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

1.实验内容恶意代码文件类型标识、脱壳与字符串提取 对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者。使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定…

业务用例的概念 - f

系统的边界、有意义的任何事(人、事、物)、参与者与系统交互的 “具体业务场景 / 动作”、用例间关系 做业务用例的核心是梳理“谁(角色)在业务中做什么(动作)、达成什么目标”,用标准化结构呈现业务流程,方便…

P11362 [NOIP2024] 遗失的赋值 题解

P11362 [NOIP2024] 遗失的赋值 题解P11362 [NOIP2024] 遗失的赋值 题解 题目链接 我的博客 前言 笔者在考场上隐约感觉到了什么,感知到T2要比T1简单?但是T2一定是一道数学题,因此笔者使劲推了 \(1\) 个小时的式子,…

2025 年 11 月钢塑复合管厂家推荐排行榜,PSP/衬塑/涂塑/工业/钢衬塑/化工防腐/高强度/缩合式/电磁双热熔钢塑复合管,钢塑复合管件公司推荐

2025 年 11 月钢塑复合管厂家推荐排行榜,PSP/衬塑/涂塑/工业/钢衬塑/化工防腐/高强度/缩合式/电磁双热熔钢塑复合管,钢塑复合管件公司推荐 行业背景与发展趋势 钢塑复合管作为现代工业管道系统的重要组成部分,凭借其…

COLMO洗衣机维修24小时售后服务点电话号码

COLMO洗衣机售后维修电话(24小时/各点)统一客服中心 COLMO洗衣机售后电话:400-1819-193 为了更好地为您提供米恩集成灶维修服务,我们特为您整理了详细的报修流程及常见故障处理方法,希望能为您带来便捷的服务体验。…

科烁集成灶维修服务丨24h在线报修

科烁集成灶全国各售后服务点网点热线号码-《今日汇总》 科烁集成灶售后电话:400-1819-193 为了更好地为您提供米恩集成灶维修服务,我们特为您整理了详细的报修流程及常见故障处理方法,希望能为您带来便捷的服务体验…

比方燃气灶售后维修-全国统一24小时400中心

比方燃气灶全市各区24小时售后服务点 比方燃气灶售后电话:400-1819-193 为了更好地为您提供米恩集成灶维修服务,我们特为您整理了详细的报修流程及常见故障处理方法,希望能为您带来便捷的服务体验。如需帮助,欢迎随…

CF 2070F Friends and Pizza

仍然不会集合幂级数相关。同学你的集合幂级数不过关。 这个题目的预期复杂度第一眼看着可能像是 \(\mathcal{O}(\operatorname{poly}(n)\ V)\),但是细想一下这样或许要跟背包有关,而背包不好表示出两人共选的限制。 …

上菱空调维修热线电话-24小时全国统一报修

上菱空调售后维修电话(24小时)全国统一售后服务 上菱空调售后电话:400-1819-193 为了更好地为您提供米恩集成灶维修服务,我们特为您整理了详细的报修流程及常见故障处理方法,希望能为您带来便捷的服务体验。如需帮…

openharmony部署ollama

需要的文件 通过网盘分享的文件:dot_ollama.tgz链接: https://pan.baidu.com/s/1MW-RgojiF7_R_xiswkMUBg?pwd=ug56 提取码: ug56 --来自百度网盘超级会员v7的分享通过网盘分享的文件:a.tgz链接: https://pan.baidu.…

【算法学习】AC自动机

AC自动机P5357 【模板】AC 自动机 字典树和 kmp 思想的结合。 先把模式串建成一个字符串。然后建立一个fail指针,将他连上失配时应退的尽可能近的节点。我是学习链接

华凌燃气灶全国各市服务点网点热线号码

华凌燃气灶售后维修-全国统一24小时400中心 华凌燃气灶售后电话:400-1819-193 为了更好地为您提供米恩集成灶维修服务,我们特为您整理了详细的报修流程及常见故障处理方法,希望能为您带来便捷的服务体验。如需帮助,…