20252810 2025-2026-2 《网络攻防实践》实践8报告

20252810 2025-2026-2 《网络攻防实践》实践8报告

1.实践内容

(1)文件类型识别与查壳脱壳

使用 file 命令识别 PE 文件格式与平台。

通过 PEiD 检测加壳类型(如 UPX 壳)。

利用脱壳机(如超级巡警)对加壳样本进行脱壳处理。

(2)静态字符串提取与逆向分析

使用 strings 命令提取可读字符串。

使用 IDA Pro 分析脱壳后样本,查找作者信息、函数调用图与控制流图。

(3)Crackme 程序分析

通过命令行参数试探程序行为。

使用 IDA Pro 定位关键字符串与成功输出信息。

分析函数调用关系与控制流,确定正确输入参数。

恶意代码样本摘要与基本信息提取

计算 MD5 哈希值作为样本唯一标识。

从字符串中提取编译时间、作者信息。

(4)后门程序功能分析

识别 C2 通信方式(HTTP、IRC)。

解析支持的命令(文件上传/下载、截屏、休眠、DDoS 攻击)。

分析持久化机制(注册表 Run 键)。

识别内网扫描与横向移动行为。

(5)反逆向技术识别

加壳(UPX)导致静态字符串乱码。

字符串混淆/加密(运行时解密)。

反虚拟机检测(检查 VMware Tools 注册表路径)。

(6)恶意代码分类

区分后门(RAT)、病毒、蠕虫的特征。

基于远程控制、持久化、无自主传播判定为后门程序。

(7)流量分析与工具使用

使用 Wireshark 过滤语法(ip.src、tcp.dstport)分析特定通信。

使用 tcpflow 提取 TCP 流并输出到文件。

使用 tcpdump 结合管道命令(grep、sed、tr、sort、uniq、wc)统计在线用户数和攻击源 IP。

(8)IRC 协议分析

IRC 基本概念:客户端-服务器聊天协议。

IRC 注册消息(USER、PASS、NICK)。

常用端口 6667 及其变体。

解析 353 响应获取频道用户列表。

(9)僵尸网络分析

僵尸网络定义:受控主机组成的网络,通过 C2 信道接收命令。

常见用途:DDoS、垃圾邮件、信息窃取、恶意软件扩散。

(10)攻击溯源与漏洞利用分析

提取去重攻击源 IP 地址。

识别 SMB 协议(445 端口)的 PsExec 远程执行行为。

识别 SAMR 接口的域用户枚举。

识别 Radmin(4899 端口)暴力破解、arepa-raft(3025 端口)探测。

(11)攻击成功判定

根据流量特征(如文件创建、命令执行)判断攻击是否成功。

分析攻击链:从空会话/SMB 漏洞到上传后门、执行命令、信息枚举。

2.实践过程

1.动手实践任务一

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

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
进入文件夹,输入file Rada.exe命令查看文件类型

image

image

输入cat Rada.exe命令查看文件内容,可以发现,程序加壳了。

image

使用PEiD对查壳。

image

选择文件RaDa,可知RaDa加了一个名为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo的壳
image

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

打开超级脱壳工具

image

选择对应文件进行脱壳

image

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

在cmd中继续输入strings RaDa_unpacked.exe

image

未发现rada恶意代码的编写作者,使用IDA,将目标文件拖拽到程序中进行分析

image

分析后得出作者为 DataRescue sa/nv,邮箱为 ida@datarescue.com 。

image

2.动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

1.分析crackme1.exe输入以下命令,分别输入1个、2个、3个参数进行试探,直到出现重复的输出。

image

使用IDA Pro工具分析打开crackme1.exe文件,发现以下四个字串符

image

猜测,第二条是我们需要的口令,第四条是输入口令正确时程序的输出信息。

右键,选择Edit Function,是sub_401280中的输出。

image

点击查看函数调用图

image

image

sub_401280函数的汇编码为401280

image

查看Flow Chart

image

输入指令,猜想得到验证

image

2.分析crackme2.exe,输入以下命令,分别输入1个、2个、3个参数进行试探,直到出现重复的输出。
image

使用IDA Pro工具分析打开crackme2.exe文件,发现以下五个字串符

image

再次查看函数调用图

image

分析Flow Chat

image

将程序复制并命名为 crackmeplease.exe,输入命令,可以得到回复 We have a little secret: Chocolate ,说明猜想得到验证

image

3.分析实践任务一:

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

输入md5sum命令,得到摘要为caaa6985a43225a0b3add54f44a0d4c7

image

image

点击process explorer工具开启监听,双击运行RaDa.exe

image

image

运行RaDa_unpacked.exe
image

image

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

MD5 摘要:caaa6985a43225a0b3add54f44a0d4c7

文件名:RaDa.exe。

编译/创作时间:Scan Of The Month 32 (Sat) - September 2004

作者:Copyright (C) 2004 Raul Siles & David Pere。

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

C2 服务器通信:

http://10.10.10.10/KaDa 、KaDa_commands.html(命令文件)

cgi-bin、download.cgi、upload.cgi(CGI 脚本路径)

--server、--commands、--cgiput、--cgiget、--cgipath(参数)

执行的具体命令:
get:从 C2 下载文件

put:上传文件到 C2

screenshot:截屏

sleep:休眠

文件系统操作:

C:\KaDa\tmp、C:\KaDa\bin(工作目录)

Scripting.FileSystemObject(文件操作对象)

注册表持久化:

HKL\Software\Microsoft\Windows\CurrentVersion\Run\(开机自启)

RegWrite、RegRead、RegDelete(读写删除注册表)

信息收集:

http://192.168.、http://172.16. 、http://10.(内网扫描)

InternetExplorer.Application(可能用于浏览器交互或截图)

攻击能力:

Starting DDoS Smurf remote attack...(可发动 Smurf 型 DDoS 攻击)

该程序是一个功能完整的后门程序(RAT),可远程执行命令、文件上传下载、截屏、休眠、内网扫描、发起 DDoS 攻击,并通过注册表实现持久化。

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

特性类别 具体表现(材料原文)
持久化 HKL\Software\Microsoft\Windows\CurrentVersion\Run\、RegWrite、RegDelete
远程命令 get、put、screenshot、sleep
DDoS 攻击 Starting DDoS Smurf remote attack...
内网扫描 http://192.168.、http://172.16. 、http://10.
HTTP 通信 http://10.10.10.10/KaDa 、KaDa_commands.html、download.cgi、upload.cgi
GUI 控制 --gui、--visible、ToolBar、StatusBar、Width、Height、about:blank、navigate
循环执行 --cycles、--cycle
安装卸载 --installdir、--noinstall、--uninstall
隐蔽选项 --verbose、--visible(控制窗口显示)
临时目录 --tempdir(新图中写作 --tempdir)
使用 Windows 组件 Scripting.FileSystemObject、Wscript.Shell、InternetExplorer.Application

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

加壳:
字符串全部为乱码(如 XHt、UFm),而后出现了大量可读英文。这证明原始文件被加壳(可能是 UPX 或其他压缩壳),脱壳后才能看到真实字符串。

字符串混淆/加密:
大量无意义短字符串(如 WEH、UQE、UQERM、EPR、URE、MQUR、REP、fMF、MPU、MPUQERM)。这些很可能是运行时解密的敏感字符串,静态分析无法直接读取。

反虚拟机检测:
HKL\Software\VMware, Inc.\VMware Tools\InstallPath —— 样本会检查 VMware Tools 的安装路径,从而判断自己是否运行在 VMware 虚拟机中。如果在虚拟机中,可能会改变行为或停止运行,以此对抗沙箱分析。

安全声明(讽刺意味):
@%&Security through obscurity is the key. ——依靠混淆(obscurity)来提供安全性,为对抗分析的手段。

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

分类:后门程序(Backdoor) / 远程访问木马(RAT)

理由:

远程控制:通过 HTTP 从 C2 获取命令(KaDa_commands.html),支持 get、put、screenshot、sleep。
持久化:写入 Run 注册表键。

隐蔽性:可选 --visible 控制窗口显示。

主动攻击能力:DDoS Smurf remote attack。

内网横向移动:扫描内网 IP 段。

不是病毒(无文件感染)也不是蠕虫(无自主传播)。
6、给出过去已有的具有相似功能的其他工具;

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

作者:
Copyright (C) 2004 Raul Siles & David Perez 以及 Authors: Raul Siles & David Perez, 2004 。
溯源的环境与限定条件:

环境:需要在隔离的沙箱或虚拟机中,对脱壳后的样本运行字符串提取工具(如 strings 或 Process Explorer)。

限定条件:
必须脱壳才能看到这些明文字符串。

作者信息是静态嵌入的,可能被伪造,但鉴于 SotM 背景,真实性较高。

该信息仅能识别该样本的创作源,不能直接用于归因真实攻击。

4.分析实践任务二:

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

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

下载botnet_pcap_file.dat数据包,在kali中用wireshark打开

image

输入ip.src ==172.16.134.191&&tcp.dstport ==6667,查看蜜罐主机与哪些服务器进行了通信。

image

在kali中输入指令sudo apt-get install tcpflow安装tcpflow,输入指令tcpflow -r botnet_pcap_file.dat “host 209.196.44.172 and port 6667”将结果输出到report.xml文件中;

image

双击打开桌面上的report.xml文件

image

输入命令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,读取 IRC 协议通信日志,筛选出在线用户列表,去除重复项后,统计频道内唯一在线用户的数量。发现有3461个主机进行通信了。

image

输入命令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 > result.txt;wc -l result.txt
,从僵尸网络流量包中,提取攻击来源 IP 地址并去重,将去重后的 IP 列表保存下来,最终统计得出攻击源 IP 总数为 165 个。

image

双击打开result.txt查看IP地址

image

输入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提取源 IP 为 172.16.134.191 的 TCP SYN-ACK 包(标志位 0x12)中的源端口号,并去重排序,用于查看该主机响应了哪些端口。

image

输入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提取源 IP 为 172.16.134.191 的 UDP 包中的源端口号,并去重排序,用于查看该主机发送了哪些 UDP 服务的流量。

image

筛选 TCP 协议中端口号为 135 或 25 的流量,定位 RPC(135 端口)或 SMTP 邮件(25 端口)通信。
image

输入命令tcp.dstport==80 && ip.dst == 172.16.134.191
筛选出目标端口为 80(HTTP 服务)且目标 IP 地址为 172.16.134.191 的数据包,即发往该蜜罐主机的 HTTP 请求。

image

image

分析TCP139号端口,输入命令tcp.dstport==139 && ip.dst == 172.16.134.191

image

分析TCP445号端口,输入命令tcp.dstport==445 && ip.dst == 172.16.134.191

image

一个外部 IP(61.111.101.78)使用 PsExec 工具尝试在蜜罐主机(172.16.134.191)上远程执行命令的行为。攻击者通过 SMB 协议(445 端口)、NTLM 认证(用户 OLDNTNS)、连接至隐含共享路径并操作 PSEXESVC.EXE,实现了横向移动或恶意控制。

image

攻击者利用 SMB 协议(445 端口)通过 SAMR 接口对蜜罐主机进行域用户枚举与信息查询。

输入命令tcp.dstport==4899 && ip.dst == 172.16.134.191分析TCP 4899端口。

image

3025端口运行的是arepa-raft协议只有129.116.182.239访问过。

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

IRC(Internet Relay Chat)的定义:IRC即因特网中继聊天(Internet Relay Chat)。它是一种网络聊天协议,用户在自己PC上运行客户端软件,通过IRC协议连接到IRC服务器上进行聊天。

客户端加入网络时发送的消息:客户端在注册加入时,一般需要发送三种信息:用户信息(USER)、口令(PASS)以及昵称(NICK)。

常用的TCP端口:IRC明文传输一般使用 6667 端口;部分服务器可能使用 6660—6669 范围内的其他端口;SSL加密传输则通常使用 6697 端口。

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

僵尸网络(Botnet)的定义:僵尸网络是指攻击者出于恶意目的,通过传播僵尸程序大量控制主机,并利用一对多的命令与控制信道所组成的网络。

通常的用途:用于发起分布式拒绝服务(DDoS)攻击,发送海量垃圾邮件,监听用户敏感信息,记录键盘输入信息,或扩散新的恶意软件等。

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

蜜罐主机共与 5 台IRC服务器进行了通信。它们分别是:
209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172
4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

有 3461 台不同的主机访问了以209.196.44.172为服务器的僵尸网络。

5、那些IP地址被用于攻击蜜罐主机?

攻击者IP共有 165 个。部分IP如下:
12.252.61.161
12.253.142.87
128.242.214.10
12.83.147.97
129.116.182.239
141.149.155.249
141.85.37.78
144.134.109.25

6、攻击者尝试攻击了那些安全漏洞?

139/445端口:尝试利用空会话或SMB漏洞。
4899端口:尝试暴力破解Radmin密码。
80/25端口:进行探测。

7、那些攻击成功了?是如何成功的?

攻击者利用 SMB 协议(445端口) 成功在蜜罐主机上实现了远程命令执行。攻击者使用 PsExec 工具,通过 SMB 协议连接至蜜罐主机的隐含共享路径,操作 PSEXESVC.EXE 文件,实现了横向移动和恶意控制。

攻击者通过 SAMR 接口 成功枚举了蜜罐主机的域用户信息。攻击者利用 SMB 协议(445端口)通过 SAMR 接口,对蜜罐主机进行了域用户枚举与信息查询。

3.学习中遇到的问题及解决

  • 问题1:显示文件不存在
    image

  • 问题1解决方案:没有进入桌面,进入桌面后可解决
    image

4.实践总结

这次实验主要完成了两部分内容:

恶意代码分析:对 RaDa.exe 样本进行查壳、脱壳和静态分析,确认其为加壳的 UPX 文件,脱壳后提取到作者信息(Raul Siles & David Perez),并识别出该样本是一个具备远程命令执行、文件操作、截屏、DDoS 攻击等功能的后门程序(RAT)。

僵尸网络流量分析:使用 Wireshark、tcpflow、tcpdump 等工具分析数据包,提取出蜜罐主机通信的 5 个 IRC 服务器、3461 个僵尸主机在线用户、165 个攻击源 IP,并定位到攻击者通过 SMB 协议(445 端口)利用 PsExec 工具成功实现远程命令执行和域用户枚举。

实验过程中遇到 tcpflow 找不到文件的问题,通过切换到正确目录(~/Desktop)解决。通过这次实践,大致掌握了恶意代码静态分析及网络流量取证的基本方法。

posted @ 2026-05-14 08:06  小熊维迪  阅读(32)  评论(0)    收藏  举报