2023280 2023-2024-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、攻击者尝试攻击了那些安全漏洞?
7、那些攻击成功了?是如何成功的?
2.实践过程
动手实践任务一
先将学习通资源rada.rar下载,并下载winxp版本解压缩软件,移动到winxp中,复制到Windows中的C:\Documents and Settings\Administrator
打开终端,输入file RaDa.exe查看文件类型,是一个有图形化界面的可移植可执行程序。
输入 string RaDa.exe并查看 RaDa.exe中可打印的字符串,发现都是乱码,推出时加壳导致的。
使用PEiD工具查看 RaDa.exe基本信息。
-
打开PEiD工具
- -
打开 RaDa.exe
-
查看扩展信息
使用超级巡警进行脱壳
-
选择相应路径
-
发现支持脱壳
-
按下“给我脱”,脱壳成功
-
发现生成新文件RaDa_unpacked.exe,即脱壳文件。
在cmd中输入 strings RaDa_unpacked.exe,发现脱壳后的恶意程序的可打印字符串。
打开IDA Pro Free
选择脱壳后的文件
查看详细信息,进入Strings 页面,在String列右击打开Setup,勾选Unicode编码:
可以在这一列找到编写作者。
动手实践任务二:分析Crackme程序
首先检测文件完整性,计算其md5值。
file命令查看文件类型。
** 对crackme1.exe进行分析**
试探输入格式。
打开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”这两个字符串。由此,前者就是需要的口令,后者就是输入口令正确时程序的输出信息。
查看函数调用图
可以发现,关键的部分在sub_401280这里,程序是使用strcmp函数来输入的,然后利用print和fprint函数输出
查看sub_401280的汇编代码以及流程图。可以看到,左侧参数个数不匹配的输出,右侧正确的输出。
将口令进行验证,验证成功。
** 对crackme2.exe进行分析**
查看明文字符串
查看函数调用图。核心函数仍为sub_401280
查看对应汇编代码
输入copy crackme2.exe crackmeplease.exe将程序复制并命名为crackmeplease.exe,输入crackmeplease.exe “I know the secret”,得到的反馈信息为We have a little secret: Chocolate.成功。
分析实践任务一:
查看摘要和文件类型:md5sum RaDa.exe指令得到其md5摘要。
利用file RaDa.exe识别出这是32位GUI文件。
使用IDA对RaDa_unpacked.exe进行分析,查看详细信息,进入Strings 页面,在String列右击打开Setup,勾选Unicode编码。
查看参数可以看到作者信息。
首先打开wireshark、监视工具Process Monitor对rada.exe运行进行监视,能够看到rada.exe在C盘中添加了相关文件,添加的结果是success,在C盘下也能够找到这些文件
使用IDA打开脱壳后的程序,在string窗口显示二进制文件中能够搜索到的字符串,步骤同动手实践任务一一样,在这些找到的字符串中,能够看到以下字符串,包括一个IP地址、C盘文件夹路径等。
通过这个IP地址,可以推测该程序通过http访问10.10.10.10/Rada下的RaDa_commands的网页,在靶机上创建一个文件夹“C:/RaDa/tmp”来保存下载的文件。
可以看到该程序判断了三个私有网段:192.168.;172.16.;10.;也就是说确保服务器在私有网段中,然后到服务器去取命令文件。
- 1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
该文件的md5摘要为caaa6985a43225a0b3add54f44a0d4c7
- 2、找出并解释这个二进制文件的目的;
这个特定的二进制文件被识别为一种恶意后门程序,它为攻击者提供了对系统的隐蔽控制权限。一旦这个后门被植入,攻击者可以轻易地通过网络远程操控,无论用户何时上网,他们的设备都可能成为攻击者实施指令的通道,对系统的安全构成了严重威胁。
- 3、识别并说明这个二进制文件所具有的不同特性;
当 RaDa.exe 程序被执行时,它会在实验主机的 C 盘创建一个名为 “RaDa” 的新目录,并在其中生成两个子文件夹:“bin” 和 “tmp”。
具体来说,“tmp” 文件夹用于在实际操作过程中临时存储从目标主机下载到受害主机的文件和从受害主机获取的文件信息。“bin” 文件夹则安装了一个名为 “RaDa.exe” 的可执行文件,它可能是攻击者用于在受害主机上执行各种操作和控制系统的核心工具。
- 4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
采用了UPX加壳方式,直接一键脱壳。
- 5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
RaDa.exe 似乎是一种后门程序。与木马不同,它并不对自身进行伪装,也没有传播模块。通过排除其他可能性,可以初步判断它是一种后门程序。
- 6、给出过去已有的具有相似功能的其他工具;
Netbus、Back Orifice、Sub7、Beast、Ghost Rat 等。
- 7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
2004年,由Raul siles和David Perze二人编写。
可以,脱壳后用strings分析。
分析实践任务二:
- 1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC是一种互联网上中继聊天的协议。
当IRC申请加入网络的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK 。
明文传输时使用6667端口,ssl加密时用6697端口。
- 2、僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络(Botnet)是由一组感染了恶意软件的计算机(称为僵尸)组成的网络。这些感染了恶意软件的计算机可以被远程控制,形成一个集中控制的网络,攻击者可以通过控制这些计算机来执行恶意活动。
僵尸网络通常用于分布式拒绝服务攻击(DDoS 攻击)、信息窃取、发送垃圾邮件(Spam)等。
- 3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
在kali中打开botnet_pcap_file.dat,利用命令ip.src == 172.16.134.191 && tcp.dstport == 6667,因为IRC通过6667端口进行监听。从结果中可以找到五个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为服务器的僵尸网络?
sudo apt-get install tcpflow,安装tcpflow
然后输入tcpflow -r botnet_pcap_file.dat’host 209.196.44.172 and port 6667’获取209.196.44.172与172.016.134.191之间的所有的 IRC 数据包
得到三个文件,172.016.134.191.01152-209.196.044.172.06667、209.196.044.172.06667-172.016.134.191.01152和report.xml,report.xml
report.xml文件里提到了其他两个文件的相关信息,可以看到如下图的内容,包括上述双方的ip地址,端口,mac地址,通信时间等等。
-
5、那些IP地址被用于攻击蜜罐主机?
利用tcpdump筛选可能被用于攻击蜜罐主机的ip输出保存到20232820cyl_result.txt,可以看到有165个被攻击的端口。
-
6、攻击者尝试攻击了那些安全漏洞?
利用tcpdump筛选TCP和UDP端口、能够看到TCP端口有135、139、25、445、4899、80,UDP端口有137:
** TCP端口135 **
** TCP端口139 **
** TCP端口25 **
** TCP端口445 **
** TCP端口4899 **
** TCP端口80 **
** UCP端口137 **
- 7、那些攻击成功了?是如何成功的?
总结以上分析,能够看到针对TCP445端口的PSEXESVC攻击-(IP:61.111.101.78)是成功的
3.学习中遇到的问题及解决
- 问题1:winxp中无法解压,且本机解压无法传入。
- 问题1解决方案:下载winxp版本解压软件,并传入winxp。
- 问题2:在tcpflow获取数据包时显示无文件。
- 问题2解决方案:进入download目录下重新获取。
4.实践总结
在这个实验中,我们不仅学会了如何使用静态分析工具,如 IDA Pro,来分析恶意代码的结构和行为,还学会了如何使用动态分析工具,如Process Monitor ,来观察恶意代码在实际执行过程中的行为。总的来说,通过这个实验,我们不仅学会了如何使用各种工具,还学会了如何结合这些工具的分析结果,进行全面的恶意代码分析,从而获得更加详细和准确的攻击行为分析。感谢老师在实验中提供的帮助。