20212916 2021-2022-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.实验步骤
2.1动手实践一
下载压缩包,并将其复制在winxp攻击机桌面上。
进入命令提示符,并在里面打开复制好的文件,查看文件夹中的内容以及指定文件的信息
输入命令 strings RaDa.exe查看可打印字符串(命令页截图没有成功)
根据上图显示的信息,推测是加壳导致(因为全部都是乱码),所以开始查壳。
如下图方式打开打开软件
点击此处添加文件
选择文件单击打开
点击扩展信息(上一步用的是英文版的,现在切换回中文版软件)
查看完毕后开始脱壳
打开脱壳工具,点击下图红框处添加文件,然后脱壳
成功后文件保存至如下路径
成功脱壳后我们再查看可打印字符串,注意此时的文件名已经有了更改,命令如下图所示
回车后查看信息
打开IDA Pro Free选择脱壳后的文件
之后点击下一步,完成即可
再上图红框中可以看见作者的信息
2.2动手实践二
2.2.1分析Crackmel1.exe
将其复制到桌面,尝试用命令提示符打开,但是没有密码,打不开,随机试一试,发现反馈了不同的信息,具体操作与信息如下图所示。发现输入应该为一个参数。
利用IDA分析程序
与动手实践一的打开方法一致,打开string查看显示第一个为参数错误,第二个是数量正确,但是内容错误的情况
查看函数调用图
查看其汇编代码
猜测是密码,密码错误的时候输出
当密码正确的时候输出
进行验证,输入crack1.exe “I know the secret” 发现验证正确
2.2.2分析Crackmel2.exe
试探输入参数的格式,发现第一个的回复与其余两个回复有所不同
接下来在IDA中打开,查看string,其中标红的两项为实验密码时出现的
查看函数调用图
查看此函数的函数图
下面为程序名匹配
程序名字正确与否的区别
程序名正确但是密码正确与否的区别
首先更改名字,然后根据上述内容更改,并输入,发现验证通过
实验输入错误的密码,并查看其输出
对比之前查看的结构图
2.3分析实践一
问题1解答
caaa6985a43225a0b3add54f44a0d4c7 *RaDa.exe
RaDa.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit
打开process monitor的filter
选择病毒文件 rada.exe
问题2解答
打开rada.exe文件,发现C盘创建了临时文件
问题2解答
并且进行了注册表操作
查看wireshark抓包
查看rada.exe的md5值
使用file RaDa.exe识别这个程序是PE32位的GUI文件。
打开process explorer中的rada.exe,点击strings,发现软件连接了了10.10.10.10这个IP的rada_commands.html网站下载和上传了一些文件。
双击打开,查看string,发现其向一个地址发送了信息
问题3解答
并且在C盘创建了一个tmp文件用于放置下载的文件
问题3解答
开始DDOS攻击
发现对注册表进行了读写和删除
可以看见注册表中无任何有关它的信息
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
接下来执行了上传、下载、休眠、截图的命令
查看作者信息
Raul Siles & David Perez
使用数据库查询语句查询可用网络适配器。
问题4解答(下图显示了加壳具体信息)
使用查壳工具查壳
实验一已经完成了脱壳的操作
将已经脱壳的文件用IDA打开并且在IDA VIEW-A中查找aAuthors和sub_405E40
双击打开sub_405E40
查看函数的flow chart
打开FUNCTION CALLS
打开sub_40B010
问题7回答
看到作者信息
补充问题5回答:
通过分析得知这个病毒对特定的ip地址进行DDOS攻击,所以为后门。
补充问题6回答:
NvBackControl 此工具与恶意代码具有相同的功能。
2.4分析实践二
问题1回答:
IRC(Internet中继聊天)提供了一种与来自世界各地的人们进行实时通信的方式。它由IRC服务器(允许用户连接到IRC的计算机)的各种独立 网络(或“网络”)组成。最大的网络是EFnet (原始IRC网络,通常一次有32,000多人), Undernet,IRCnet, DALnet和NewNet。
注册时需要发送的消息有三种,分别是口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用JOIN信息来加 入频道,格式如下:JOIN 。
6667(明文传输,如irc://irc.freenode.net)、6697(SSL加密传输,如ircs://irc.freenode.net:6697)等。
问题2回答:
“僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。攻击者通过各种途径传播僵尸程序感染互联网上的大量主机,而被感染的主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。之所以用僵尸网络这个名字,是为了更形象地让人们认识到这类危害的特点:众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的一种工具。”
在kali虚拟机里打开文件
问题3:蜜罐主机(IP172.16.134.191)与那些IRC服务器进行通信
输入命令筛选,查看与主机通信的IP地址,筛选后发现共有下图所示五个IP地址
问题4:查看有多少不同的主机访问了以201.196.44.172为服务器的僵尸网络。
查看文件vim report.xml 显示一部分是从目标服务器发送出来的,一部分是从其他主机发送到目标主机的
输入命令export LC_COLLATE='C',export LC_CTYPE='C'
再输入
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
统计主机个数为3457
问题5:那些IP被用于攻击蜜罐主机
输入命令如下:
Tcpdump -n -nn -r /home/kali/<e6><a1><8c><e9><9d><a2>/botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > tcpdump.txt;wc -l tcpdump.txt
查看如下
问题6:攻击者尝试攻击了那些安全漏洞使用命令查看流量分布
输入命令如下
sudo snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii
查看响应的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
如图所示TCP响应端口为135(rpc)、139(netbios-ssn)、25(smtp)、4899(radmin)、80(http)。
查看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
UDP只有137响应,打开wires hark查看135和25端口
发现没有数据传输因此猜测位端口扫描
查看tcp80端口:
命令如下
tcp.dstport==80&&ip.dst==172.16.134.191
查看图中这条TCP流,猜测为缓冲区溢出攻击。
查看下图所示,发现为蠕虫攻击
查看80端口是否攻击成功:命令如下
tcp.srcport==80&&ip.src==172.16.134.191&&http。
显示tcp返回默认值,所以失败
查看139端口,输入筛选命令如下
tcp.dstport==139&&ip.dst==172.16.134.191
存在大量空会话,猜测为SMB查点
问题7:哪些攻击成功了,是如何成功的。
查看TCP445端口:
输入筛选命令
tcp.dstport==445&&ip.dst==172.16.134.191。
发现一个PSEXESVC.EXE文件,是一个DV1DR32蠕虫,通过IRC进行通信
找出口流量,发现每个IP地址的都有响应,并且返回信息包含\PIPE\ntsvcs,这是一个远程调用,所以成功了。
查看TCP4899端口:tcp.dstport==4899&&ip.dst==172.16.134.191
4899是远程控制软件radmin服务端的监听端口,这个软件不是木马,攻击成功后上载这个软件方便控制。并且只有一个IP访问过主机210.22.204.101,
因此可以判断SVCCTL服务漏洞攻击成功,PSEXESVC蠕虫攻击成功。
实验问题:
问题一:利用kali抓包分析的时候,命令一直错误,语法错误,但是输入确实没有问题。
解决:我的kali安装的是中文版,识别不了路径,需要输入全部路径,最后可以成功,以后还是尽量不要安装中文版,会很麻烦。
问题二:命令输入没有反应
解决:没有下载相应软件,下载之就可以了
感想
本次实验内容比较多,而且综合性比较强,实践的内容还是需要自己多动手,错误次数多了也就回了,而且,遇到问题实在不能解决的时候可用找同学帮忙,大家互相讨论,可用更快解决问题。
标签:文件,20212916,rada,查看,主机,exe,2021,2022,IRC 来源: https://www.cnblogs.com/20212919-xl/p/16246963.html