20232819 祝浩宣 2023-2024-2 《网络攻防实践》实践8报告

1.实践内容

动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

分析实践任务一:

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
MD5为:caaa6985a43225a0b3add54f44a0d4c7

2、找出并解释这个二进制文件的目的;
下载了一个恶意软件或其他东西进行执行,留下了后门。

3、识别并说明这个二进制文件所具有的不同特性;
初次运行时,修改注册表实现自己的开机自启

4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
使用了这种加壳技术:UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
通过上边的分析,我们可以知道这个程序可以通过网络获取指令,并执行,不具备自主传播模块,由此可知,这个应该是后门程序或僵尸网络程序。

6、给出过去已有的具有相似功能的其他工具;
木马Bobax,特洛伊木马Setiri、GatSla。

7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
可以通过–authors参数获取相关作者信息Authors: Raul Siles & David Perez,
2004。使用IDA中的string视图查看,或者在非vmware环境下执行–authors参数。

分析实践任务二:

Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
是Internet Relay Chat(互联网中继聊天)的缩写,是一种即时通讯协议,允许用户通过互联网进行实时文本通信。IRC允许用户创建自己的聊天室(称为频道),并与其他用户进行公开或私密的聊天。
IRC一般使用以下TCP端口:
6667:标准IRC端口,用于非加密连接。
6697:用于加密连接(SSL/TLS),通常用于加密的IRC连接(IRC overSSL)。

2、僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是指攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。
僵尸网络主要用于,发动DDOS攻击、发送垃圾邮件、监听用户敏感信息、记录键盘输入信息、扩散新的恶意软件和伪造点击量等。

3、蜜罐主机(IP地址:172.16.134.191)与那些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为服务器的僵尸网络?
总共有3461台主机访问了以209.196.44.172为服务器的僵尸网络

5、那些IP地址被用于攻击蜜罐主机?
总共165个IP被用于攻击蜜罐主机

6、攻击者尝试攻击了那些安全漏洞?
TCP端口有135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)被攻击
UDP端口有137(NetBIOS Name Service)号端口被攻击。

7、那些攻击成功了?是如何成功的?
只有445端口的PSEXESVC.EXE攻击成功,获取了权限,进行了远程控制。

2.实践过程

一、动手实践任务一
首先,将rada恶意代码的两个文件放入到WinXPattackr虚拟机下
在这里插入图片描述Win+R,打开cmd,并使用以下命令,找到RaDa.exe文件,并先对RaDa.exe恶意代码文件进行分析,可以看到RaDa.exe文件
是PE32位类型的EXE可执行文件,且带有GUI界面,所处的系统架构为英特尔的80386系列,所处的系统为32位Windows。
在这里插入图片描述
入strings RaDa.exe,查看RaDa.exe中可打印的字符串,发现全是乱码,推测是加壳导致的:
在这里插入图片描述
使用命令查看作者信息,能够发现是以下两个人的作品,脱壳后可以验证是否是这两人,且rada --authors和RaDa.exe --authors
两种查看作者的命令弹出的信息一致:
在这里插入图片描述

使用PEiD工具查看RaDa.exe的基本信息,打开PEiD工具:
在这里插入图片描述于是,使用WinXPattacker上自带的超级巡警脱壳工具进行脱壳,生成了一个脱壳后的unpacked的exe文件在桌面
在这里插入图片描述
再次使用strings查看字符串的命令,对脱壳后的文件RaDa_unpacked.exe进行字符串分析,可以发现大量的函数调用信息,但是仍然不够详细,需要反汇编来分析,字符串分析是不够的。
在这里插入图片描述
于是,使用IDA Pro Free,选择PE Exe对脱壳后文件RaDa_unpacked.exe进行反汇编分析,结果如下
在这里插入图片描述
在这里插入图片描述
发现String界面仍然是与上述查看字符串的输出相同
在这里插入图片描述
因此,需要修改编码模式,在Sting窗口,右键,选择Setup,然后选Unicode改变编码格式。
在这里插入图片描述
在这里插入图片描述
找到作者信息
在这里插入图片描述

与上述命令RaDa.exe --authors查看的作者信息相同,均为Raul Siles & David Perez
在这里插入图片描述
二、动手实践任务二:分析Crackme程序
①crackme1.exe
使用IDA pro工具来打开文件,尝试阅读其汇编语言,验证我们的猜想。
打开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”这两个字符串。由此,前者就是需要的口令,后者就是输入口令正确时程序的输出信息:
在这里插入图片描述
回到首页,查看函数调用图:
在这里插入图片描述
可以发现,程序是用C语言写的,程序估计是使用strcmp函数来比较口令的,关键的部分在sub_401280这里。程序是使用strcmp函数来输入的,然后利用print和fprint函数输出:
在这里插入图片描述
查看sub_401280的汇编代码以及流程图:
在这里插入图片描述
在这里插入图片描述
可以看到,左侧参数个数不匹配的输出,右侧正确的输出
在这里插入图片描述
让我们着重读取这部分的汇编代码:
在这里插入图片描述

“Iknowthesecret”对应的字符串和[eax]对应的字符串(用户输入的口令)相比较,通过比较的结果反馈口令是否正确。那么尝试输入口令Iknowthe secret,我们可以通过程序的测试。
将口令进行验证,验证成功:
在这里插入图片描述
②crackme2.exe
在这里插入图片描述
查看函数调用图,发现核心函数是sub_401280:
在这里插入图片描述
查看对应的汇编代码:
在这里插入图片描述
在这里插入图片描述输入rename crackme2.exe crackmeplease.exe将程序复制并命名为crackmeplease.exe,输入crackmeplease.exe “I know the secret”,得到的反馈信息为We have a little secret: Chocolate.成功:
在这里插入图片描述
三、分析实践任务一

使用md5sum RaDa.exe命令进行MD5摘要的获取,可得到MD5
在这里插入图片描述
打开自带的Process Explorer软件,用于监听脱壳后的RaDa.exe文件,即RaDa_unpacked.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年编写了此恶意软件。
在这里插入图片描述
四、分析实践任务二
在kali中打开botnet_pcap_file.dat,利用命令ip.src == 172.16.134.191 && tcp.dstport == 6667,因为IRC通过6667端口进行监听,找到5个IRC服务器,如图:
在这里插入图片描述
在这里插入图片描述kali中使用命令sudo apt-get install tcpflow安装tcpflow;
在这里插入图片描述
首先,使用以下命令进行wireshark日志进行分析,它将生成report.xml文件,这是一个报告文件

sudo tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"

在这里插入图片描述
使用vim可以查看文件,但是文件较大,数据冗杂,需要用以下命令,使用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为服务器的僵尸网络。
使用以下指令,重新利用tcpflow来进行分析,它将生成一个名为IP.txt的文件(文件名自定义),文件中是被用于攻击蜜罐主机的所有IP地址,生成的IP.txt文件如下,且输出165表示共有165个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

在这里插入图片描述
打开文件:
在这里插入图片描述
在这里插入图片描述
使用以下命令,利用tcpflow工具进行筛选,筛选的是TCP端口和UDP端口

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

在这里插入图片描述
TCP端口有135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)被攻击
UDP端口有137(NetBIOS Name Service)号端口被攻击。
攻击需要逐个来分析判断是否成功:

①135端口在这里插入图片描述
②139端口
在这里插入图片描述
有NBSS包和SMB包以及TCP包,若干个个不同的IP访问了这个端口,即使攻击机的IP地址不同,可以确定的是,他们都没有攻击成功
③25端口
在这里插入图片描述
④445端口
在这里插入图片描述
从抓包结果中分析可执行文件:PSEXESVC.EXE。当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限
⑤4899端口
在这里插入图片描述
⑥80端口
在这里插入图片描述
能看出所有关于80端口的相关攻击的信息,包括null.ida为标识的WEB-IIS ISAPI、dafault.ida为标识的code red,发现这是一个红色代码蠕虫攻击:
⑦137端口(UDP)
在这里插入图片描述

3.学习中遇到的问题及解决

问题:IDA Pro等相关软件使用不够熟练
解决方案:查询相关使用方法,询问同学,请求他们指导

4.学习感想和体会

了解了恶意代码样本进行分类方法,学会了IDA Pro等工具的使用,更深了解了反汇编语言。

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值