20252808 2025-2026-2 《网络攻防实践》第八次作业
20252808 2025-2026-2 《网络攻防实践》第八次作业
一. 实验内容
1.1 实验内容概述
动手实践任务一
对提供的rada恶意代码样本,进行文件类 型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
动手实践任务二:分析Crackme程序
在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
分析实践任务一:
分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
2、找出并解释这个二进制文件的目的;
3、识别并说明这个二进制文件所具有的不同特性;
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
6、给出过去已有的具有相似功能的其他工具;
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
分析实践任务二:
Windows 2000系统被攻破并加入僵尸网络:
分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址 和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
2、僵尸网络是什么?僵尸网络通常用于什么?
3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
5、那些IP地址被用于攻击蜜罐主机?
6、攻击者尝试攻击了那些安全漏洞?
7、那些攻击成功了?是如何成功的?
1.2 实验相关知识概述
1.2.1 脱壳
概念:脱壳是一段附加在可执行程序上的代码,用于保护程序代码不被非法修改或反编译,同时可能具备加密、压缩等功能。加壳后的程序体积可能变小,执行效率也可能改变。
软件原理:超级巡警脱壳机等工具,通过分析程序的执行流程,找到壳程序的入口点和结束点,将壳从原始程序上剥离,恢复出原始的可执行代码,以便后续分析。
1.2.2 Snort 工具与网络数据分析
Snort:是一款开源的网络入侵检测系统(IDS )和入侵预防系统(IPS )。它通过规则匹配的方式,对网络流量进行分析,能检测到各种网络攻击和异常流量。
蜜罐主机:是一种诱捕攻击者的系统,模拟存在漏洞或有价值的目标,吸引攻击者来攻击,从而收集攻击者的行为数据,分析攻击手段和目的。
IRC(Internet Relay Chat ):互联网中继聊天,是一种网络聊天实时通信协议,于1980年代晚期开发,至今仍广泛应用于各种在线社区、支持频道和社交聚会等场景。客户端通过特定消息(如 JOIN 消息用于申请加入网络 )与服务器通信,常用 TCP 端口有 6667、6668 等。
僵尸网络(botnet):是一种恶意网络, 由大量被控制的计算机(僵尸主机 )组成的网络。这些计算机可以被攻击者远程控制,而不需要计算机所有者的知情或同意。攻击者可利用其进行分布式拒绝服务攻击(DDoS )、发送垃圾邮件、窃取数据等恶意活动。
恶意软件:通常是一种木马程序,允许攻击者访问和控制感染的计算机,将它们变成 “僵尸” 或 “机器人”。
1.2.3 恶意代码分类
病毒:具有自我复制能力,能感染其他文件或系统,破坏系统正常运行,如 CIH 病毒会破坏计算机硬件。
蠕虫:可自行传播,利用系统漏洞在网络中扩散,消耗网络资源,如尼姆达蠕虫。
木马:伪装成正常程序,骗取用户运行,从而获取目标主机的控制权,如冰河木马。
二. 实验过程
2.1 实践任务一:追踪rada恶意代码
将学习通上的rada.rar下载到kali中。然后用解压工具unrar进行解压。
unrar x -prada rada.rar

将老师提供的RaDa程序拷贝到虚拟机环境后,在kali虚拟机中使用file命令查看文件的类型,返回的信息显示该文件是一个有GUI图形界面的32位的windows平台上的可移植可执行程序

使用命令strings查看该文件的字符串,输出内容为乱码,说明已经加壳

在windows解压文件后,直接拖拽至winxp即可

使用winXP虚拟机自带的PEid工具查看RaDa.exe的加壳情况,显示加的壳为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo

使用XP虚拟机自带的超级巡警脱壳机软件进行脱壳

输入命令strings RaDa_unpacked.exe | more,查看脱壳后的文件

使用命令RaDa.exe --authors查看文件的作者,作者为Raul Siles & David Perez

2.2 分析Crackme程序
在主机上下载crackme1.exe和crackme2.exe文件后,传输到winxp里面去。

打开IDA分析程序,将Crackme1.exe导入到IDA


查看Crackme1.exe的函数调用图(路径View → Graphs → Function calls)

打开Functions窗口(Shift+F3)在列表中找到 sub_401280(这是 IDA 自动生成的子函数地址标识)。

按F12查看流程图,得到正确的输入信息为I know the secret,对应的输出信息为You know how to speak to programs, Mr.Reserve-Engineer

同理使用IDA对Crackme2.exe进行分析


查看Crackme2.exe的函数段

查看Crackme2.exe的流程图,根据流程图中提供的信息可知需要先修改文件名为crackplease.exe,再输入I know the secret

2.3 分析恶意样本rada
使用命令md5sum查看RaDa.exe的文件摘要,使用命令file查看RaDa.exe文件的信息

打开String会看到红框内的监听信息,分析后可知:
该恶意软件先访问了http://10.10.10.10/RaDa网站,将RaDa_commands.html下载到了C:\RaDa\tmp,留下了后门。

还可判断当前环境是否是在虚拟环境下:如果不是则进行DDos泛洪攻击,占据目标主机的资源,然后修改注册表,用Wscript.Shell对象进行读写。
Wscript.Shell用到三个方法,分别是RegWrite、RegRead、RegDelete。
修改注册表后将RaDa设置为了开机启动项,最后还攻击三大内网,即192.168、172.16以及10等三个网段。

还看到作者的信息,即Raul Siles & David Perez,于2004年编写了此恶意软件。

2.4 分析数据源并回答问题
Windows 2000系统被攻破并加入僵尸网络:
分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
2、僵尸网络是什么?僵尸网络通常用于什么?
3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
5、那些IP地址被用于攻击蜜罐主机?
6、攻击者尝试攻击了那些安全漏洞?
7、那些攻击成功了?是如何成功的?
2.4.1 IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC(Internet Relay Chat ):互联网中继聊天,是一种网络聊天实时通信协议,于1980年代晚期开发,至今仍广泛应用于各种在线社区、支持频道和社交聚会等场景。客户端通过特定消息(如 JOIN 消息用于申请加入网络 )与服务器通信,常用 TCP 端口有 6667、6668 等。
当IRC客户端(连接到IRC网络的程序)想要加入IRC网络时,会向IRC服务器发送一系列命令。初始命令通常包括以下内容,发送这些命令后,客户端等待IRC服务器回应欢迎信息和可用频道列表:
1、NICK 命令:设置客户端在网络上的昵称(用户名);
2、USER命令:设置客户端的用户名和真实姓名;
3、MODE 命令:设置客户端的用户模式。
IRC通常使用以下TCP端口:
6665 - 6669:常规IRC通信端口;
6697:IRC连接的备用端口;
7000:另一个IRC连接的备用端口。
2.4.2 僵尸网络是什么?僵尸网络通常用于什么?
“僵尸网络”(botnet)是一种恶意网络, 由大量被控制的计算机(僵尸主机 )组成的网络。这些计算机可以被攻击者远程控制,而不需要计算机所有者的知情或同意。攻击者可利用其进行分布式拒绝服务攻击(DDoS)、发送垃圾邮件、窃取数据等恶意活动。
僵尸网络通常用于恶意活动:
1、分布式拒绝服务攻击(DDoS):从多个感染的计算机对网站或网络进行流量攻击,使其不可用。
2、垃圾邮件和钓鱼:从感染的计算机发送大量垃圾邮件或钓鱼邮件。
3、恶意软件传播:从感染的计算机传播恶意软件、病毒或勒索软件。
2.4.3 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
由于蜜罐主机 IP 地址为 172.16.134.191,且 IRC 服务默认使用 6667 端口,因此设置流量筛选条件:ip.src == 172.16.134.191 && tcp.dstport == 6667。

可知,蜜罐主机与以下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。
2.4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
此处需要用到kali虚拟机。使用以下命令安装TCPflow工具:
sudo apt-get install tcpflow
使用以下命令进行Wireshark日志进行分析:
sudo tcpflow -r botnet_pcap_file.dat " host 209.196.44.172 and port 6667"
发现其生成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

可以看到总共有3461台主机访问了以209.196.44.172为服务器的僵尸网络。
2.4.5 那些IP地址被用于攻击蜜罐主机?
使用以下命令重新利用tcpflow来进行分析,并生成一个名为IP.txt的文件,文件中是被用于攻击蜜罐主机的所有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

生成的IP.txt文件如图所示,共有165个IP被用于攻击蜜罐主机。
2.4.6 攻击者尝试攻击了那些安全漏洞?
使用以下命令进行筛选:
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
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
使用tcpflow工具进行筛选,筛选TCP端口和UDP端口:

可以看到TCP端口有:135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)被攻击。

UDP端口有:137(NetBIOS Name Service)被攻击。
以上便是攻击者攻击的安全漏洞。
2.4.7 那些攻击成功了?是如何成功的?
经过筛选分析,最后得知只有445端口的PSEXESVC.EXE攻击成功,获取了权限,进行了远程控制。
其伪装成一个蠕虫病毒文件PSEXESVC.EXE,并通过开放的445端口将其植入到目标主机,然后逐步拿下了admin、administrator的管理员权限,实现了远程连接,掌控了目标主机。
1.135端口
使用以下命令在Wireshark中查询:
ip.addr == 172.16.134.191 && tcp.port ==135

只发现了一些TCP数据包握手连接,没有交互。
2.139端口
使用以下命令在Wireshark中查询:
ip.addr == 172.16.134.191 && tcp.port ==139

发现TCP、SMB和NBSS等数据包,但攻击未成功。
3.445端口
使用以下命令在Wireshark中查询:
ip.addr == 172.16.134.191 && tcp.port ==445

在这里查看到PSEXESVC.EXE可疑的exe可执行文件,百度查询后得知是一个恶意远控程序,也是蠕虫病毒。
PSEXESVC.EXE 是一个服务,使用 PsExec 连接到远程系统时安装在远程系统上。此服务允许 PsExec 在远程系统上执行过程并与本地系统通信。需要注意的是,恶意作者有时会使用名称 “PSEXESVC.EXE” 作为恶意程序的伪装,以使其看起来像合法程序一样。
可以看到,攻击者逐步拿下权限admin、administrator


攻击成功,攻击者成功拿下靶机权限,导致被远程控制。
4.4899端口
使用以下命令在Wireshark中查询
ip.addr == 172.16.134.191 && tcp.port ==4899
只发现了一些TCP数据包握手连接,没有交互,攻击未成功。

5.137端口(UDP)
使用以下命令在Wireshark中查询:
ip.addr == 172.16.134.191 && udp.port ==137

只发现一系列的NBNS包(一种网络基本输入/输出系统(NetBIOS)名称服务器的交互)
综上所示,只有445端口的PSEXESVC.EXE攻击成功,获取了权限,进行了远程控制。
三. 学习中遇到的问题及解决
问题1:Crackme程序文件下载不成功。
解决方案:询问同学后更改一下浏览器设置即可成功下载。详情可见2.2.2中第2小节。
问题2:rada.rar文件无法解压。
解决方案:电脑防火墙进行检测到异常文件直接进行删除,关闭防护墙后解压即可得到文件。
四. 学习感悟、思考
实验期间,我深入了解了什么是木马,什么是蠕虫,什么是病毒、什么是后门等知识,并知晓其之间的区别和联系,对多种逆向工具和监听工具的用法进行了掌握,让我对网络安全的学习更加深入。同时,此次实验拓展了我在网络攻防技术领域的知识储备,强化了相关知识要点,为后续开展网络攻防实验筑牢根基。
浙公网安备 33010602011771号