20242909 2024-2025-2 《网络攻防实践》实践八
20242909 2024-2025-2 《网络攻防实践》实践八报告
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、攻击者尝试攻击了那些安全漏洞?哪些攻击成功了?是如何成功的?
2.实践过程
2.1追踪rada恶意代码

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

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

使用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的函数调用图

查看sub_401280函数段的代码,其中有特定的输入输出信息,判定输入信息为I know the secret,输出Pardon? What did you say?

按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文件的信息

打开process explorer,运行RaDa.exe并查看string,结合显示的信息进行分析可以得出以下结论。RaDa.exe被执行时,它会将自身安装到系统C盘中,程序运行后,在实验主机的C盘下创建了一个RaDa目录,里面一个bin文件夹,一个tmp文件夹,RaDa.exe通过修改注册表的方式使得系统启动,启动后每隔一段时间会尝试与10.10.10.10建立tcp连接,将下载的信息保存到tmp文件夹中,然后将RaDa.exe复制到bin文件夹中,准备DDos攻击

继续分析看到,该程序依次进行了读、写、删除注册表的操作,然后执行了exe、put、get来下载内容,最后screenshot截图后sleep

使用PEid检测RaDa.exe判断出该程序使用了加壳工具进行了处理,且双击运行程序后无任何弹窗与提示,只能通过查看进程发现,隐蔽性极好
猜测RaDa.exe是后门程序,该程序执行需要通过攻击者远程发送指令,而且不具有自主传播模块,故不属于病毒和蠕虫,也并未进行伪装,故不是木马。 过去已有的具有相似功能的工具有,Bobax——2004等也是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令。 该恶意程序是Raul siles和David Perze在2004年编写的。
2.4分析数据源并回答问题
2.4.1 IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
Internet Relay Chat(IRC)是一种实时文本通信协议,主要用于群体聊天和即时消息传递。该协议采用客户端-服务器架构,用户通过运行IRC客户端软件连接至IRC服务器,实现与其他用户的通信交互。
在连接建立过程中,客户端需要完成以下注册流程:
- 认证阶段:发送PASS消息提供认证口令
- 身份注册:依次发送USER(用户信息)和NICK(昵称)消息
- 频道加入:注册完成后使用JOIN消息加入特定聊天频道
IRC服务的端口使用规范如下:
- 标准明文通信端口:6667(默认),6660-6669(备用)
- 加密通信端口:6697(SSL/TLS)
需要注意的是,攻击者可能通过修改默认端口(如使用非标准端口80或443)来规避检测。因此,在安全监测中应当结合协议特征(如USER/NICK等命令)进行识别,而非仅依赖端口扫描。
2.4.2 僵尸网络是什么?僵尸网络通常用于干什么?
僵尸网络(BotNet)是指攻击者通过恶意软件感染并控制大量联网设备所形成的网络集群。这些被控设备(称为"僵尸主机")会在攻击者的远程操控下协同作业,构成严重的网络安全威胁。
主要特征包括:
- 集中化控制:通过C&C(命令与控制)服务器实现一对多管理
- 隐蔽性强:僵尸程序通常采用隐蔽通信和持久化技术
- 资源聚合:整合被控主机的计算和带宽资源
典型恶意用途:
- 分布式拒绝服务攻击(DDoS):通过海量请求瘫痪目标服务
- 垃圾邮件分发:利用僵尸主机群发恶意邮件
- 信息窃取:获取被控设备中的敏感数据
- 网络钓鱼:构建伪造的恶意网站
- 加密货币挖矿:非法占用计算资源
由于其分布式特性和隐蔽的通信机制,僵尸网络的检测和处置面临重大挑战。攻击者通常会采用动态域名、加密通信等技术来隐藏C&C服务器,使得传统的基于IP或端口的检测方法效果有限。这促使安全研究人员需要开发更先进的行为分析和异常检测技术来应对此类威胁。
2.4.3 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

将botnet_pcap_file.dat拷贝到kali虚拟机后使用wireshark将其打开


因为蜜罐主机IP地址为172.16.134.191,且IRC服务使用的端口为6667所以设置筛选条件为ip.src == 172.16.134.191 && tcp.dstport == 6667,筛选后可以看到5个IRC服务器,IP地址分别为209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172
2.4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

在kali虚拟机中安装tcpflow包后,切换到botnet_pcap_file.dat所在的文件夹后,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"来获取IRC数据包

使用命令搜索有多少主机连接,结果显示有3462个主机
2.4.5哪些IP地址被用于攻击蜜罐主机?

使用命令找出所有连接主机的IP地址,将IP地址存入wty20242909.txt文档中,显示有165个IP地址

打开文档查看具体的IP地址
2.4.6攻击者尝试攻击了那些安全漏洞?哪些成功了?如何成功的?

输入命令筛选TCP与UDP包,结果显示有5个TCP端口响应,分别是 135、139、445、4899、80,有1个UDP端口响应137号

使用wireshark打开botnet_pcap_file.dat文件,设置筛选条件为tcp.dstport ==135,分析135号tcp端口,只进行了扫描操作

分析139号tcp端口,可以看到建立连接失败,攻击失败


分析445号tcp端口,追踪tcp流,看到有psexesvc.exe的字符,说明445号tcp端口遭到了Dv1dr32蠕虫的入侵

分析4899号tcp端口


分析80号tcp端口,攻击机向靶机发送了大量字符而靶机回,复TCP DUP ACK错误报文,这说明靶机可能受到了缓冲区溢出攻击

设置筛选条件为udp.port==137,分析137号UDP端口,未发现异常,未收到攻击
3.实践总结
此次实验任务量比较重,最后参考视频教程和同学的博文最终完成了。实验操作比较复杂,但一步一步跟着完成操作,分析每一步操作的作用意义后学习到了很多相关知识,特别是增强了自己借助wireshark分析数据流的能力。

浙公网安备 33010602011771号