20242938 2024-2025-2 《网络攻防实践》第八周作业
实践要求
动手实践任务一
对提供的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、那些攻击成功了?是如何成功的?
实践过程
动手实践任务一 分析RADA.EXE
本实验在windowsXP虚拟机中运行
在cmd中输入file 文件名来获取文件信息,从输出内容可知 RaDa.exe 文件是一个 基于 GUI 的 Windows 32 位可执行程序。文件格式为标准的 PE32,目标平台为 x86 架构的 Windows 系统。

输入strings 文件名来查看可疑字符串,可以看到输出了一堆乱码,由此分析文件加壳了

使用超级巡警之虚拟机自动脱壳器对程序进行脱壳操作。

再次输入strings 文件名查看脱壳后的程序内容,可以看到函数调用名以及其他字符串

使用IDA PRO FREE对脱壳后的RaDa.exe文件进行分析

可以看到一些软件发布信息
、
通过查询工具输入author可以找到相关关键字的信息

查找到了作者为

动手实践任务二:分析Crackme程序
用IDA打开crackme1.exe,查看Strings窗口可以看到一些字符串

在IDA上选择view—Graphs—function calls查看方法拓扑图,可以看到sub_401280有fprintf所以这个函数应该能输出东西

打开sub_401280函数的流程图,点击“Functions”-->"sub_401280",然后在IDA上选择view—Graphs—Flow chart

输入true对应的语句就可以了

crackme2.exe同理,在IDA上选择view—Graphs—function calls查看方法拓扑图,也是可以看到sub_401280有fprintf

然后点击“Functions”-->"sub_401280",然后在IDA上选择view—Graphs—Flow chart


可以看到逻辑结构有所改变,跟着true走就行了,重命名crackme2.exe为crackmeplease.exe,再输入"I know the secret"输出就可以了

分析自制恶意代码样本rada
提供二进制文件的摘要
在cmd中输入md5sum 文件名来查看文件的哈希值

找出并解释这个二进制文件的目的
在cmd中输入file 文件名来查看文件相关信息,这是一个PE 32位的文件

接着,打开wireshark和process explorer开始监听,然后打开脱壳后的rada.exe程序,捕捉流量包

使用process explorer查看该二进制文件,发现该文件正在执行一次Dos远程攻击,与10.10.10.10主机进行了通信,并查询了数据库相关信息、对应Mac地址等等。

在该过程中,木马程序在靶机的C盘根目录下创建一个名为RaDa的文件夹。该程序启动之后将自己复制到该目录当中,并且每过一段时间就会尝试与10.10.10.10建立tcp连接。看了一下确实有


识别并说明这个二进制文件所具有的不同特性
通过http请求访问了攻击指令,绕过了本地恶意攻击检查;把文件添加到了注册表自启,成功提升了权限;解析远程指令发动DDoS攻击
识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
使用UPX加壳对程序进行保护,添加注册表开机自启动
对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由
该程序是一个后门程序,它会自动运行并从对应的ip地址获取攻击指令并执行。
给出过去已有的具有相似功能的其他工具;
Conficker
查看该文件的二进制文件的开发作者,在什么样的环境和什么样的限定条件下?
Authors: Raul Siles & David Perez, 2004
应用程序脱壳后
Windows 2000系统被攻破并加入僵尸网络
IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC(Internet Relay Chat) 是一种基于文本的实时聊天协议,诞生于 1988 年。它允许多用户通过频道(channels)或私聊(private messages)进行交流
PASS NICK USER 服务器响应 001(欢迎消息)表示连接成功。6667:传统的 IRC 明文端口,6697:SSL/TLS 加密端口。
僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是网络犯罪的重要工具,广泛用于DDoS、数据窃取、挖矿等非法活动。其隐蔽性强、危害大,企业和个人都应加强安全防护,避免设备沦为“僵尸”。
蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
在筛选框中输入ip.src==172.16.134.191 and tcp.dstport == 6667
有这几个:209.126.161.29,66.33.65.58,63.241.174.144,217.199.175.10,209.196.44.172

在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
使用命令安装tcpflow

输入命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667",使tcpflow分流筛选指定host与端口6667,将将分析的结果输出到report.xml文件中

使用管道命令进行筛选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

哪些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 > ipaddr.txt;wc -l ipaddr.txt

一共165个
攻击者尝试攻击了那些安全漏洞?
首先,被攻击的TCP端口,使用命令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

那些攻击成功了?是如何成功的?
在过滤框输入ip.addr == 172.16.134.191 && tcp.port ==25

握手
在过滤框输入ip.addr == 172.16.134.191 && tcp.port ==80

24.197.194.106与蜜罐主机通讯次数最多,应该是缓冲区溢出攻击
在过滤框输入ip.addr == 172.16.134.191 && tcp.port ==135

只有TCP的三次握手
在过滤框输入ip.addr == 172.16.134.191 && tcp.port ==445

在33280数据包发现执行了\System32\PSEXESVC.EXE,这是一种蠕虫病毒的特征码,攻击者对系统注入了蠕虫病毒并成功获取了远程调用。
问题及解决方案
- 在进行crackme2的实验时,将改好名字的文件直接拖入到命令行里是不行的,要进入到目标目录名字完全是“crackmeplease.exe”才可以。
学习心得
前几个实验有点像解谜游戏,通过对恶意代码样本 RaDa 的识别、脱壳、字符串分析,以及 CrackMe 程序的逆向破解练习,掌握静态/动态分析工具(IDA Pro、x64dbg)。RADA实验加深了理解隐蔽通信、持久化等技术细节。另外,发现多次实验都涉及到了数据包的分析,但实际操作中还是没办法熟练地从大量信息中找到有效信息,还是要多多练习熟能生巧。
浙公网安备 33010602011771号