20253920 2025-2026-2 《网络攻防实践》第8次作业
20253920 2025-2026-2 《网络攻防实践》第8次作业
1.实践内容
1.1本次实践主要涉及恶意代码分析、逆向工程和僵尸网络流量分析三个方面。
恶意代码分析 是指对可疑程序进行分析,判断其文件类型、运行行为、恶意功能和潜在危害。分析方法通常分为静态分析和动态分析。静态分析是在不运行样本的情况下,通过哈希计算、文件类型识别、查壳脱壳、字符串提取和反汇编等方式分析程序结构;动态分析则是在受控虚拟机环境中运行样本,观察其进程、文件、注册表和网络行为。
查壳与脱壳 是恶意代码分析中的常见步骤。壳通常用于压缩、加密或隐藏程序真实代码,使静态分析变得困难。查壳用于判断程序是否经过加壳处理,脱壳则是尽可能还原程序原始代码,以便进一步进行字符串分析和反汇编分析。
逆向工程 是通过反汇编工具分析程序逻辑的过程。crackme 程序通常用于逆向练习,其核心逻辑一般包括命令行参数判断、字符串比较、条件跳转和成功/失败分支。通过 IDA Pro 可以查看字符串、函数调用关系和流程图,从而分析程序的验证逻辑。
僵尸网络 是由攻击者控制的大量受感染主机构成的网络,被感染主机通常称为 bot 或 zombie。攻击者可以利用僵尸网络进行扫描、传播、远程控制、DDoS 攻击、垃圾邮件发送等操作。早期僵尸网络常使用 IRC 协议作为命令与控制通道。IRC 是一种实时文本通信协议,常见端口包括 TCP 6667,客户端通常通过 NICK、USER、JOIN 等消息加入 IRC 网络和频道。
1.2本次实验分为 RaDa 恶意代码分析、crackme 程序逆向分析和僵尸网络抓包分析三部分。
第一部分,对 RaDa.exe 恶意代码样本进行分析。首先使用 md5sum、file 等命令确认样本完整性和文件类型;随后使用查壳工具和超级巡警脱壳机对样本进行查壳与脱壳,生成 RaDa_unpacked.exe。接着使用 strings、IDA Pro 和 Process Explorer 查看样本中的字符串、作者信息、程序结构和运行状态。动态分析中,在 Windows XP 虚拟机中运行 RaDa_unpacked.exe,发现其会创建或使用 C:\RaDa\tmp 目录,并在注册表 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 下写入 rada 启动项,使 C:\RaDa\bin\RaDa.exe 实现开机自启动,说明该样本具有持久化驻留特征。
第二部分,对 crackme1.exe 和 crackme2.exe 进行逆向分析。首先使用 md5sum 和 file 确认两个文件均为 Windows 32 位 PE 控制台程序。随后用 IDA Pro 查看其字符串窗口和核心函数流程图。分析发现,crackme1.exe 主要通过 strcmp 比较命令行参数是否为 "I know the secret",正确运行方式为:
crackme1.exe "I know the secret"
crackme2.exe 在此基础上增加了对程序自身文件名的检查,因此除了输入正确参数外,还需要将程序重命名为指定名称后才能通过验证。
第三部分,对 botnet_pcap_file.dat 僵尸网络抓包文件进行分析。实验中使用 Wireshark 打开抓包文件,并使用 tcpdump、awk、cut、sort、uniq、wc 等命令提取蜜罐主机 172.16.134.191 的通信信息。通过分析发现,共有 165 个不同源 IP 向蜜罐主机发起入站通信;攻击者主要访问了 25、80、135、139、445、4899 以及 UDP 137 等端口,涉及 SMTP、HTTP、RPC、NetBIOS、SMB 和远程控制服务等攻击目标。在 Wireshark 中进一步过滤 TCP 445 流量,可以看到攻击者访问 ADMIN$ 管理共享,并出现 SMB 会话协商、NTLMSSP 认证等行为,说明攻击者尝试通过 Windows SMB 服务对蜜罐主机进行攻击。
2.实践过程
2.1 动手实践任务一
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
2.1.1使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
首先在虚拟机的浏览器中访问https://i.chaoxing.com/ 找到下载好的压缩包rada.rar文件。打开kali终端输入命令行sudo apt update && sudo apt install unrar -y 来安装RAR解压工具。
cd /home/kali/Downloads/进入目录

输入unrar x rada.rar 来解压rada.rar文件,并输入ls来查看当前目录。由下图可知所有文件已经解压成功。

unrar v /home/kali/Downloads/rada.rar来查看压缩包的详细信息,由下图可知,该压缩包一共有2个可执行文件,两个可执行文件的属性都是典型的PE文件特征;RaDa.exe 是恶意代码主样本,rada_dump_.exe 是其配套的转储文件。

对加壳后 RaDa.exe 进行字符串提取,结果表明:RaDa.exe 被 SotM 32 位壳(可能是 ASPack、UPX 等)保护;Rich、JDR0、JDR1是 PE 文件头的 Rich 签名,用于标识编译器版本和构建信息,是所有 Windows PE 文件的通用特征;.rsrc代表 资源段,说明该程序包含图标、对话框、字符串等资源Form1、Module1:是 Visual Basic 6.0 程序的默认窗体 / 模块名,说明 RaDa.exe 很可能是用 VB6 编写 的恶意代码;ORaDa直接包含样本名称 RaDa,是程序内部的标识字符串。

将文件保存到WinXPattacker 虚拟机
首先cd /home/kali/Downloads/进入kali的下载目录,并开启Python 简易 HTTP 网页服务器python3 -m http.server 8080

ip a查看kali文件的具体信息,可知其IP地址为:192.168.200.2

打开WinXPattacker 虚拟机,启动 IE 浏览器,地址栏输入:http://192.168.200.2:8080

打开网页找到需要下载的两个文件RaDa.exe和rada.rar,分别保存下载

cmd进入终端并输入rada --authors和RaDa.exe --authors来查看作者信息,可以发现以下两个人的作品脱壳后可以验证是否是这两人,且以下两种查看作者的命令弹出的信息一致:

输入查壳命令:upx -l RaDa.exe对样本进行查壳检测

工具能够正常识别并列出 UPX 压缩信息,说明该样本可能经过 UPX 压缩壳处理。UPX 壳会压缩原始 PE 文件,使静态分析时可见字符串、导入表和代码结构受到一定影响,因此后续需要尝试脱壳后再进行进一步分析。
2.1.2使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理
首先按照红框圈出的步骤找到超级巡警虚拟机脱壳机

选择需要脱壳的文件RaDa_unpacked.exe

点击给我脱可以看到下面的脱壳成功以及输出路径

2.1.3使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
首先cd /d "C:\Documents and Settings\Administrator\My Documents\Downloads"进入存储目录,输入dir /b可以看到文件如下

利用strings RaDa_unpacked.exe命令行查看字符串,对脱壳后的文件RaDa_unpacked.exe进行字符串分析,由下图可获得大量的函数调用信息

由于上图的信息不够详细,因此按照下图步骤来打开IDA Pro Free,对脱壳后的文件RaDa_unpacked.exe进行反汇编分析。

进入IDA Pro Free后,将需要反汇编分析的文件导入

保持默认信息 点OK

由下图可知,IDA 以及成功加载并完成了初步自动分析

点击 IDA 顶部菜单栏:Options->ASCII string style...->Unicode

放大strings窗口找到author信息,和之前截图的作者信息做对比,发现一致,均为Raul Siles & David Perez


2.2 动手实践任务二:分析Crackme程序
在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
1.crackme1.exe
特定的输入:crackme1.exe “I know the secret”
2.crackme2.exe
特定的输入:crackmeplease.exe “I know the secret”
以同样的python简易http网页服务将crackme1.exe和crackme2.exe文件下载到WinXP Attacker虚拟机中

dir /b来查看存储的文件列表,确认好文件是否存在

在正式进行 crackme1.exe 与 crackme2.exe 的逆向分析前,首先使用 md5sum 命令md5sum crackme1.exe``md5sum crackme2.exe计算两个文件的 MD5 摘要值,以验证样本文件的完整性。实验结果显示,crackme1.exe 的 MD5 值为 4357bf8c20fabb642fafc0b73fb0abfb,crackme2.exe 的 MD5 值为 46aa577172d8f37ae2ae281515c99afb。
随后使用 file 命令查看文件类型,file crackme1.exe file crackme2.exe结果显示两个文件均为 PE32 executable for MS Windows (console) Intel 80386 32-bit,说明二者均为 Windows 32 位控制台 PE 程序,可在 Windows XP 虚拟机中运行,并可使用 IDA Pro 进行后续静态分析。

用IDA Pro Free打开crackme1.exe进行反汇编分析

放大strings窗口查看字符串,可以看到:
“I think you are missing something.”
“Pardon? What did you say?”
“I know the secret”
“You know how to speak to programs, Mr. Reverse-Engineer\n”。

点击view–Graghs–Function calls查看该程序函数调用图

通过 IDA 的函数调用图可以看出,crackme1.exe 的程序结构较为简单。程序从 start 入口进入初始化逻辑后,调用主校验函数 sub_401280。
该函数进一步调用 strcmp 对命令行参数进行字符串比较,并根据比较结果调用 printf 或 fprintf 输出不同提示信息。调用图中未发现复杂的多层函数调用、反调试逻辑或加密解密流程,说明 crackme1.exe 的验证逻辑主要集中在单一参数校验函数中。

查看 sub_401280 函数的流程图,可以发现该函数首先判断命令行参数个数是否为 2。若参数个数不满足要求,程序输出 “I think you are missing something.”;若参数个数满足要求,则继续取 argv[1] 与固定字符串 “I know the secret” 进行 strcmp 比较。
当 strcmp 返回值为 0 时,说明用户输入的命令行参数与目标字符串完全一致,程序跳转到成功分支并输出成功提示。因此 crackme1.exe 的正确运行方式为:
crackme1.exe "I know the secret"

分析完毕后,在cmd中输入命令行
crackme1.exe
crackme1.exe test
crackme1.exe "I know the secret"
来验证,该动态验证结果与 IDA 静态分析中 strcmp(argv[1], "I know the secret") 的判断逻辑一致,证明逆向分析结论正确。

以同样的方式对crackme2.exe文件进行反汇编分析

同样打开strings窗口查看字符串

找到函数调用图,找到printf所属于的那个代码块,仍然是sub_401280

通过 IDA Pro 分析 crackme2.exe 的 sub_401280 流程图可知,该程序先检查命令行参数数量是否为 2;若未提供参数,则输出 I think you are missing something.。
随后程序使用 strcmp 校验 argv[0],即判断程序自身文件名是否与预设名称一致;若不一致,则输出 I have an identity problem.。
文件名校验通过后,程序继续比较 argv[1] 是否为 I know the secret,若不匹配则输出 Pardon? What did you say?,匹配成功则进入成功分支。
因此,crackme2.exe 相比 crackme1.exe 增加了对程序自身文件名的校验。测试时需要先将 crackme2.exe 重命名为 IDA 中预设的目标文件名,再使用参数 "I know the secret" 运行程序。

同样进行cmd验证上述分析

2.3分析实践任务一:
2.3.1分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1.提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
本次分析对象为 RaDa.exe 恶意代码样本。该文件存放于 Windows XP 虚拟机的如下路径:C:\Documents and Settings\Administrator\My Documents\Downloads\RaDa.exe
通过文件类型识别和 IDA Pro 加载分析可知,该样本属于 Windows 平台下的 32 位 PE 可执行文件。样本经过脱壳处理后生成了 RaDa_unpacked.exe,并可被 IDA Pro 正常加载和反汇编分析。
该样本的基本识别信息包括:
文件名:RaDa.exe
脱壳后文件:RaDa_unpacked.exe
文件类型:Windows PE 32-bit executable
运行环境:Windows XP / 32-bit Windows
分析工具:CMD、md5sum、file、UPX、超级巡警脱壳机、strings、IDA Pro
其中,MD5、SHA1、SHA256 等哈希值可以作为识别同一样本的重要依据。哈希摘要由文件内容计算得到,能够用于判断文件是否在传输、保存或分析过程中发生变化。因此,在正式报告中应补充样本的 MD5 值,用于唯一标识该样本。
2、找出并解释这个二进制文件的目的;
根据对 RaDa.exe 的静态分析、字符串分析和 IDA 反汇编结果来看,该样本并非普通应用程序,而是用于恶意代码分析实验的 Windows 可执行样本。其主要目的可能包括:
1. 在目标 Windows 系统中执行特定恶意逻辑;
2. 通过命令行参数或内部逻辑触发不同功能;
3. 可能具备隐藏自身、维持运行、执行系统操作或与外部主机通信的能力;
4. 通过加壳或压缩方式干扰直接静态分析。
从实验过程看,样本可以被脱壳,并且脱壳后能够在 IDA 中看到更清晰的字符串和结构信息。这说明该样本可能通过压缩壳或保护壳隐藏部分原始代码与字符串,目的是增加静态分析难度。
因此,可以概括为:RaDa.exe 的目的不是提供正常用户功能,而是作为恶意代码样本在受控环境中执行特定恶意行为,并用于研究恶意程序的文件结构、字符串特征、反汇编逻辑和潜在行为。
3、识别并说明这个二进制文件所具有的不同特性;
结合实验分析,该样本具有以下特征:
(1)Windows PE 可执行文件特征
RaDa.exe 是 Windows 下的 PE 可执行文件,能够在 Windows XP 环境中运行,并可被 IDA Pro 识别和反汇编。
(2)存在加壳或压缩处理痕迹
实验中对样本进行了查壳与脱壳处理,并生成了 RaDa_unpacked.exe。这说明样本可能经过压缩或保护处理。脱壳后样本更适合进行字符串提取和静态分析。
(3) 包含可见字符串信息
通过字符串提取工具和 IDA 的 Strings 窗口,可以查看样本中的明文字符串。这些字符串可能包括程序名称、错误提示、参数提示、版本信息、作者相关信息、路径信息或网络通信相关内容。
(4) 可通过 IDA 进行反汇编分析
脱壳后的 RaDa_unpacked.exe 能够被 IDA Pro 成功加载,并生成 .id0、.id1、.nam、.til 等数据库文件,说明 IDA 已经完成初步自动分析。
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
从当前实验结果看,该样本可能采用了以下反分析或增加逆向难度的技术:UPX 加壳技术
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
RaDa.exe 适合归类为:木马类 和后门类恶意程序
理由:
(1)它是一个独立的 Windows PE 可执行文件;
(2)其主要目的并不是感染其他正常文件,因此不符合传统病毒的核心特征;
(3)当前没有证据表明它会主动扫描网络并自我传播,因此暂不能直接归类为蠕虫;
(4)它更可能在目标主机上执行特定控制、隐藏或辅助攻击功能,因此更接近木马或后门程序。
6、给出过去已有的具有相似功能的其他工具;
与 RaDa.exe 功能相似的恶意工具主要包括远程控制木马、后门程序和实验型恶意代码样本。例如:
(1)Back Orifice
(2)NetBus
(3)SubSeven
(4)Poison Ivy
(5)DarkComet
(6)Gh0st RAT
(7)Bifrost
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
当前可以通过字符串、PE 资源、IDA 反汇编和编译器特征推测样本的开发环境,但若样本未保留明确作者标识,则无法仅凭现有静态分析结果准确确认开发作者。
2.3.2分析过程
首先按照下图流程打开Process Explorer软件

输入命令行dir /b来检查脱壳后的文件是否在存储列表内,并输入RaDa_unpacked.exe启动

启动后,可以在Process Explorer中找到该进程

双击打开该进程,在image界面可以观察到RaDa_unpacked.exe已经被成功启动,父进程是 cmd.exe

线程信息显示该样本运行后创建了多个线程,可能用于后台任务、定时检查或后续恶意功能执行。由于线程入口涉及 kernel32.dll!CreateThread,说明程序存在主动创建线程的行为。

在当前运行条件下,未观察到 RaDa_unpacked.exe 的 TCP/IP 连接或监听端口。

在cmd中执行dir C:\RaDa /a /s,由下图结果可知,RaDa_unpacked.exe 运行后确实创建或使用了C:\RaDa\tmp 目录;但在当前这次运行条件下,tmp 目录中还没有生成或下载任何文件。

在cmd中执行reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v rada ,
注册表查询结果显示,HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 下存在 rada 项,其值为 C:\RaDa\bin\RaDa.exe,说明样本通过 Run 启动项实现开机自启动。结合 C:\RaDa\tmp 目录的创建行为,可判断 RaDa 具有文件落地和持久化驻留特征。
RaDa 修改了 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,将 rada 设置为开机自启动项。

2.4分析实践任务二:
2.4.1Windows 2000系统被攻破并加入僵尸网络
任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
(1)IRC是一种基于客户端—服务器模式的实时文本通信协议。用户通过 IRC 客户端连接到 IRC 服务器,并加入不同的频道进行通信。恶意代码和僵尸网络常利用 IRC 作为命令与控制通道,使受感染主机加入指定频道并等待攻击者下发命令。
(2)IRC 客户端连接服务器时,通常会发送如下消息:
PASS <password> 可选,部分服务器或频道需要密码
NICK <nickname> 设置昵称
USER <username> <hostname> <servername> <realname>
JOIN <channel> [key] 加入指定频道
(3)IRC 常用端口是:TCP 6667
2、僵尸网络是什么?僵尸网络通常用于什么?
(1)僵尸网络是由攻击者控制的大量受感染主机组成的网络。被感染主机通常称为 bot、zombie 或僵尸主机。攻击者通过 IRC、HTTP、P2P 或其他 C2 通道向这些主机发送命令。
(2)僵尸网络常用于:DDoS;垃圾邮件发送;扫描和传播恶意代码;窃取账号、口令或敏感信息;搭建代理网络隐藏攻击者身份;下载并执行其他恶意程序;对其他主机进行批量攻击。
3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
蜜罐主机与以下IRC服务器进行了通信
209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10和209.196.44.172
首先将学习通的botnet_pcap_file.dat文件下载到kali

输入命令行cd ~/Downloads``wireshark botnet_pcap_file.dat,使用wireshark工具打开下载好的文件。
由于IRC服务器明文传输通常在6667端口监听,因此设置以下过滤条件
ip.src == 172.16.134.191 and tcp.dstport == 6667

打开statistics–ipv4statistics–all addresses,输入过滤条件ip.src == 172.16.134.191 and tcp.dstport == 6667 and tcp.flags.syn == 1
可以看到下图的五个IRC服务器,分别为:209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10和209.196.44.172。其中通信最多的是:209.196.44.172服务器

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
首先输入命令行sudo apt-get install tcpflow来下载TCPflow工具

进入Downloads目录,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"进行wireshark日志进行分析,它将生成report.xml报告文件.

使用grep过滤查看文件,利用管道命令来筛选sudo cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l
通过 tcpflow 将会话流重组后,对 209.196.44.172:6667 发往蜜罐主机 172.16.134.191 的 IRC 通信流进行分析。由于 IRC 协议中的 353 响应消息用于返回频道成员列表,因此使用 grep 筛选 “:irc5.aol.com 353” 开头的记录,并通过 sed 去除协议前缀,再利用 tr 将成员昵称拆分为单独行,最后使用 sort -u 去重并通过 wc -l 统计数量。
统计结果为 3461,说明在观察期间,该 IRC 僵尸网络频道中共出现了 3461 个不同的客户端昵称。结合实验背景,可将其视为访问该 IRC 僵尸网络的不同主机或僵尸客户端数量。

5、那些IP地址被用于攻击蜜罐主机?
输入命令行tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > IP.txt;wc -l IP.txt
重新利用tcpflow来进行分析,它生成一个可以自定义名字的文件,这里我命名为IP.txt,文件中是被用于攻击蜜罐主机的所有IP地址.
通过对 botnet_pcap_file.dat 抓包文件进行筛选,提取所有目的地址为蜜罐主机 172.16.134.191 的数据包,并统计其源 IP。结果显示,共有 165 个不同 IP 地址向蜜罐主机发送过数据包,这些 IP 可视为观察期间参与攻击、扫描或连接蜜罐主机的外部主机地址。

打开该文件,可以看到这些IP值

6、攻击者尝试攻击了那些安全漏洞?
TCP SYN 泛洪 DDoS 攻击流量统计命令:
tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

UDP 攻击流量统计命令
tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

通过对 botnet_pcap_file.dat 进行 tcpdump 分析,筛选源地址为蜜罐主机 172.16.134.191 且 TCP 标志位为 SYN+ACK 的数据包,可以提取出蜜罐对外响应连接请求的开放 TCP 端口。结果显示,攻击者主要尝试访问 135、139、25、445、4899 和 80 等端口。同时,对 UDP 数据包进行分析后发现涉及 UDP 137 端口。
这些端口分别对应 Microsoft RPC/DCOM、NetBIOS、SMB、SMTP、HTTP/IIS、Radmin 以及 NetBIOS Name Service 等服务。因此可以推断,攻击者尝试利用 Windows 2000 系统中的 RPC/DCOM、SMB/NetBIOS、LSASS、Web 服务、SMTP 服务以及远程控制服务相关漏洞或弱点对蜜罐主机进行攻击。
7、那些攻击成功了?是如何成功的?
针对TCP445端口的普通查点、口令猜测、MSRPC-SVCCTL服务枚举漏洞以及PSEXESVC等攻击成功了。
可知,这些攻击是通过向对TCP445端口发送含有PSEXESVC.EXE的数据包,且将PSEXESVC.EXE地址改到系统目录下攻击成功的。攻击成功后通过利用SVCCTL漏洞获取目标主机服务。
135端口:使用命令ip.addr == 172.16.134.191 && tcp.port == 135在wireshark中过滤,发现没有交互

139端口:使用命令ip.addr == 172.16.134.191 && tcp.port == 139在wireshark中过滤,发现数据包但是无下文

25端口:使用命令ip.addr == 172.16.134.191 && tcp.port == 25在wireshark中过滤,没有交互

445端口:使用命令ip.addr == 172.16.134.191 && tcp.port == 445在wireshark中过滤,结果显示下图中存在PSEXESVC.EXE这一可疑的exe可执行文件,是一个恶意远控程序,也是蠕虫病毒。
在 Wireshark 中过滤蜜罐主机 172.16.134.191 的 TCP 445/SMB 流量后,可以看到外部主机 195.36.247.77 与蜜罐主机进行了 SMB 会话协商和 NTLMSSP 认证,并随后发起 Tree Connect AndX 请求,访问路径为 \172.16.134.191\ADMIN$。ADMIN$ 是 Windows 默认管理共享,通常用于远程管理和文件写入操作,因此该行为表明攻击者已经尝试通过 SMB 管理共享对蜜罐主机进行远程控制或后续文件投递。

4899端口:使用命令ip.addr == 172.16.134.191 && tcp.port == 4899在wireshark中过滤,没有交互

80端口:使用命令ip.addr == 172.16.134.191 && tcp.port ==80在wireshark过滤,没有异常。

3.学习中遇到的问题及解决
(1)在分析 RaDa 样本时,直接运行部分参数无法得到预期结果。通过改用 IDA Pro、strings 和 Process Explorer 等工具进行静态和动态结合分析,最终确认了样本的运行行为,包括创建 C:\RaDa\tmp 目录和写入注册表自启动项。
(2)在分析 crackme 程序时,一开始只查看了程序入口 start 的流程图,未能看到核心判断逻辑。后续通过字符串交叉引用和跳转到 sub_401280 函数,成功定位到真正的验证逻辑,并在 CMD 中验证了正确输入。
(3)在分析僵尸网络抓包时,单纯查看 Wireshark 流量较难直接得出统计结果。通过结合 tcpdump、awk、cut、sort、uniq 等命令,成功提取出攻击源 IP、端口信息和 IRC 通信特征。
4.学习感想和体会
通过本次实践,我对恶意代码分析和网络攻击流量分析有了更直观的认识。恶意程序并不只是单一的可执行文件,它往往会结合文件落地、注册表自启动、进程驻留和网络通信等方式实现持久化和控制。
在 crackme 逆向分析中,我理解了命令行参数、字符串比较、条件跳转和流程图之间的关系,也体会到 IDA Pro 在定位程序核心逻辑中的重要作用。
在僵尸网络流量分析中,我认识到仅凭单个数据包很难判断完整攻击过程,需要结合端口、协议、会话内容和统计命令综合分析。整体来看,本次实验提升了我对恶意代码行为识别、逆向分析和网络流量取证的理解,也让我认识到安全分析需要严谨地结合多种证据,不能只凭单一现象下结论。

浙公网安备 33010602011771号