20231917周竞 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、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
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.实践过程

本实践需要使用的工具:
PEID、strings、超级巡警自动脱壳器、IDA Pro、wireshark、md5sum、监视软件Process Explorer、tcpdump
平台:使用WinXP攻击机。

2.1 恶意代码脱壳与提取

打开RaDa.exe文件的属性,发现其为exe类型的文件。
在这里插入图片描述
在这里插入图片描述
使用PEiD_cn查看这个程序,发现加壳工具是UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo,运行平台是Win32。
在这里插入图片描述
在这里插入图片描述
使用strings命令分析RaDa.exe文件,发现输出的大部分都是乱码。
在这里插入图片描述
使用超级巡警虚拟机脱壳器CN对上述加壳文件进行脱壳处理。
在这里插入图片描述
脱壳后输出RaDa_unpacked.exe文件。
在这里插入图片描述
再使用strings命令对RaDa_unpacked.exe文件进行分析,输出了一些类似于函数名的字符串。
在这里插入图片描述
由于虚拟机上显示不完整,因此在自己的主机对该文件进行分析,从中可以找到作者信息。
在这里插入图片描述
也可以使用IDA PRO Free工具,获取脱壳后Rada.exe文件的相关信息。如下图所示,能够找到作者信息和发布时间,还有邮箱等信息。
在这里插入图片描述

2.2 Crackme程序分析

打开IDA。
在这里插入图片描述
将crackme1.exe拖入IDA中。
在这里插入图片描述
在这里插入图片描述
点击veiw——Gragh——Function calls分析函数调用图,不难看出,处理输入信息的可能是sub_401280函数段,因为有strcmp和printf等函数。
在这里插入图片描述
对sub_401280函数段进行分析。点击veiw——Gragh——Flow Chat,查看流程图,如图所示
在这里插入图片描述
在这里插入图片描述
可以得出函数的运作过程:
首先判断输入的参数个数是否为1。如果不是,输出“I think you are missing something”;否则,将输入的参数与“I know the secret”作比较,正确则输出“You know how to speak to programs…”。
运行该程序,输入参数"I know the secret",可见,我们的分析是正确的。
在这里插入图片描述
再分析crackme2.exe。
在这里插入图片描述
负责输入的函数同样是在sub_401280中。
在这里插入图片描述
分析该函数段的流程图,发现大致的流程与crackme1.exe差不多,但是多了一个crackmeplease.exe文件了。
在这里插入图片描述
按照crackme1.exe的输入方式输入参数,返回的却是I have an identity problem.。流程图里说明:你的这个文件名字不是“crackmeplease.exe”,所以会输出这个提示。
在这里插入图片描述
将这个文件改名为crackmeplease.exe,再输入之前的参数,输出了我们想要的“秘密”。
在这里插入图片描述

2.3 分析代码样本rada

打开命令提示符,cd到桌面,运行命令md5sum RaDa.exe,输出md5值。运行命令file RaDa.exe,输出文件的基本信息。
在这里插入图片描述
打开监视软件Process Explorer,然后运行脱壳后的RaDa,也就是RaDa_unpacked.exe(脱壳后的RaDa,乱码更少,更有利于分析)。
在这里插入图片描述
在这里插入图片描述
在RaDa_unpacked进程的属性中,我们可以看出许多有用的信息。
在这里插入图片描述
1.RaDa.exe先通过HTTP,请求了10.10.10.10\RaDa\RaDa_commands.html
2.将RaDa.exe缓存到C:\RaDa\tmp文件夹下
3.修改注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\,将RaDa.exe设为开机启动
4.将RaDa.exe文件存放到C:\RaDa\bin文件夹下
5.发动DDOS远程攻击

现在,根据上述过程可以回答实践中的问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息:
MD5摘要为caaa6985a43225a0b3add54f44a0d4c7
基本信息为:这是一个32位的PE文件,在Windows GUI界面下运行。

2、找出并解释这个二进制文件的目的:
利用HTTP协议发动DDOS攻击;
恶意修改注册表信息,将该文件设为开机自启动,使其每次开机都能发动攻击;
擅自对主机做上传和下载的操作。

3、识别并说明这个二进制文件所具有的不同特性:
RaDa.exe存放在宿主的C盘中的RaDa文件夹下,然后通过修改注册表,让它开机自启动,使得每当宿主主机启动就能发起DDOS攻击。

4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术:
通过实践的第一步过程可以看出,该文件采用UPX对文件进行加壳。

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由:
这个恶意代码样本应该是一种后门程序。这个文件的主要工作是完成对特定IP地址的DDoS攻击,也有一些控制主机的功能,但不会在其他主机之间进行传播。

6、给出过去已有的具有相似功能的其他工具:
msfvenom

7、可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
可以。脱壳之后,用strings分析。

2.4 攻击过程分析

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
因特网中继聊天(Internet Relay Chat),一般称为互联网中继聊天,简称:IRC。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,世界上有超过60个国家提供了IRC的服务。IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。
要加入一个IRC网络,需要发送口令、昵称和用户信息;注册后,会使用JOIN信息加入网络。
IRC使用的端口有:6667(明文传输,如irc://irc.freenode.net)、6697(SSL加密传输,如ircs://irc.freenode.net:6697)等。
2、僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间形成一个可一对多控制的网络。
通常用于发动DDoS攻击。
3、蜜罐主机(IP地址:172.16.134.191)与哪些IRC服务器进行了通信?
用wireshark打开botnet_pcap_file.dat。
在这里插入图片描述
在wireshark中输入筛选条件ip.src == 172.16.134.191 && (tcp.dstport == 6667 or tcp.dstport == 6697),筛选源地址为172.16.134.191、目的端口为6667或6697的数据包。
在这里插入图片描述
分析可得以下目的主机的地址:
66.33.65.58 63.241.174.144 217.199.175.10 209.196.44.172 209.126.161.29

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
使用tcpflow进行分析,如果是在Kali Linux环境下,需要先安装tcpflow。
在这里插入图片描述
tcpflow -r /home/kali/Desktop/botnet_pcap_file.dat ‘host 209.196.44.172 and port 6667’
这个命令会将分析的结果输出到report.xml文件中。
在这里插入图片描述
打开这个文件,会看到有关TCP流的信息。
在这里插入图片描述
使用管道命令查看文件。
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台主机访问了僵尸网络。

5、哪些IP地址被用于攻击蜜罐主机?
使用tcpdump分析一下。指令是:tcpdump -n -nn -r /home/kali/Desktop/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,文件会输出到tcpdump.txt文件下。
在这里插入图片描述
打开输出的文件,可以看到有165个IP地址被用于攻击蜜罐主机。
在这里插入图片描述

6、攻击者尝试攻击了哪些安全漏洞?
运行以下命令:
tcpdump -r /home/kali/Desktop/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)、445(smb)、 4899(radmin)、 80(http)
运行如下命令:
tcpdump -r /home/kali/Desktop/botnet_pcap_file.dat -nn ‘src host 172.16.134.191’ and udp | cut -d ’ ’ -f 3 | cut -d ‘.’ -f 5 | sort | uniq
筛选响应的TCP端口
在这里插入图片描述
发现,只有137端口,说明攻击者成功访问了137号端口。137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务),属于UDP端口。

7、哪些攻击成功了?是如何成功的?
使用wireshark,逐一对筛选出的端口进行排查
ip.addr == 172.16.134.191 && tcp.port == 要排查的端口号

135端口,只是进行了数据连接。
在这里插入图片描述
139端口,发现了TCP协议、SMB协议和NBSS协议。
在这里插入图片描述
25端口,只是进行了连接。
在这里插入图片描述
445端口,发现了可疑程序PSEXESVC.EXE。
在这里插入图片描述
查阅互联网,可以得到以下信息:
PsExec 是由 Mark Russinovich 创建的 Sysinternals Suite中包含的工具。最初,它旨在作为系统管理员的便利工具,以便他们可以通过在远程主机上运行命令来执行维护任务。后来因为太过方便,被利用到内网渗透之中。psexec远程运行需要远程计算机启用文件和打印共享且默认的Admin$共享映射到C:windows目录。psexec建立连接之后目标机器上会被安装一个“PSEXESVC”服务。但是psexec安全退出之后这个服务会自动删除(在命令行下使用exit命令退出)。
继续查阅分组,发现返回的信息中,含有\PIPE\ntsvcs,这是一个远程调用,攻击者应该拿到了访问权限,说明这次攻击是成功的。
在这里插入图片描述
4899端口,只是进行了连接。
在这里插入图片描述
80端口,首先发现了/NULL.IDA?CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC…,说明攻击者想通过缓冲区溢出攻击来获得命令行。
在这里插入图片描述
后来又发现了很多使用cmd.exe命令行的信息,怀疑攻击者使用了脚本。
在这里插入图片描述
随后发现了网站www.worm.com,说明攻击者使用了蠕虫。但是没有成功。
在这里插入图片描述
追踪24号tcp流,发现了类似于Please try this site again later.的提示,说明攻击者访问失败,攻击没有成功。
在这里插入图片描述
总结得知,只有对445端口的漏洞发起的PsExec蠕虫攻击是成功的。在这次攻击中,攻击者使用PsExec.exe,获得了远程主机的访问权限。

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

问题:rada文件夹解压后由于病毒问题被删除
在这里插入图片描述
解决方式:找回文件,添加进信任区即可

4.实践总结

本次实验内容非常之多,主要是对恶意程序进行检测和分析。通过本次实验,我了解到了一些通过恶意代码进行攻击的原理,包括恶意代码的结构、对目标的操作等。我还学习了取证分析,取证分析能够帮助我们对更多的恶意代码进行分析和破解,从而制定更安全的防守策略,进一步保证网络安全。此外,我认识到取证分析是一个细活,需要细心和耐心地分析。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值