# 20211903 2021-2022-2 《网络攻防实践》实践八报告

1.实践内容

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

  1. 使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
  2. 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
  3. 使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
    二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
    三、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
  4. 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
  5. 找出并解释这个二进制文件的目的;
  6. 识别并说明这个二进制文件所具有的不同特性;
  7. 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
  8. 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
  9. 给出过去已有的具有相似功能的其他工具;
  10. 可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
    四、取证分析实践
    Windows 2000系统被攻破并加入僵尸网络
    问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
  11. IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
  12. 僵尸网络是什么?僵尸网络通常用于什么?
  13. 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
  14. 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
  15. 哪些IP地址被用于攻击蜜罐主机?
  16. 攻击者尝试攻击了那些安全漏洞?
  17. 那些攻击成功了?是如何成功的?

2.实践过程

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

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

首先将实验需要用到的文件复制到kali攻击机中去,并在终端中进入桌面所在的文件夹,使用file RaDa.exe指令来查看此文件文件类型。


在XP攻击机中打开PEid 0.95软件导入rada.exe文件查看其加壳工具,并通过超级巡警虚拟机自动脱壳工具,进行脱壳,桌面上出现脱壳后的程序。



使用strings命令查看脱壳前和脱壳后的字符串信息,发现脱壳前的文件字符串均为乱码,脱壳后的文件即可看见各类信息。


在脱壳后的文件中可观察得作者信息。

二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

在IDA pro软件中打开crackme1.exe文件,通过view——>Graphs——>Function calls路径找到函数调用图。

通过view——>Graphs——>Function calls路径找到主函数的汇编代码,发现正确输入应为“I know the secret”。

输入crackme1.exe "I know the secret"即可返回正确输出。

crackme2.exe与crackme1.exe分析过程基本类似,找到主函数的汇编代码。

通过汇编代码图可以得知得到正确输出需要经过三次判断,第一次判断参数个数是否为2,参数个数若为2即跳转。第二和第三次判断为判断输入字符串是否为图中红色箭头所指的字符串,分别"crackmeplease.exe"和"I know the secret"。

首先创建一个crackmeplease.exe文件,然后对crackmeplease.exe输入"I know the secret",便可以得到正确的结果。

分析实践任务一:
分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
2、找出并解释这个二进制文件的目的;
3、识别并说明这个二进制文件所具有的不同特性;
4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
6、给出过去已有的具有相似功能的其他工具;
7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

通过指令来查看md5sum RaDa.exe来查看该文件的md5值。

打开rada_dump.exe后打开process explorer,点击Rada_dump.exe进程,并找到strings,查看

通过HTTP协议请求10.10.10.10\RaDa\RaDa_commands.html

创建C:\RaDa文件夹,其中有bin和tmp,两个子文件夹,并且在bin文件夹中导入RaDa.exe文件。

进行读写和删除操作。

开始DDos远程攻击。

2.本二进制文件是一个后门程序,目的是打开后主动通过Http协议与恶意服务器建立连接,进行DDos等攻击。
3.本二进制文件的不同特性主要为可以通过Http协议在指定主机中获取恶意程序,并修改注册表中的自启动项,可以让RaDa.exe进程开机自启动,即使重启也不能重置。还拥有上传,下载,截屏和休眠等功能。
4.本二进制文件通过了UPX加壳,若不经过脱壳则无法反编译。
5.此恶意代码应该为后门程序。它能够接收指令、操控主机,但不可以进行网络传播、感染等特性,也不能伪装成良性程序进行欺骗。
6.木马Bobax、木马Setiri
7.可以知道,如图可知为Raul siles和David Perez。。57448-1700840550.png)

分析实践任务二:
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、那些攻击成功了?是如何成功的?

1.IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称)。IRC用户使用特定的用户端聊天软件连接到IRC服务器,通过服务器中继与其他连接到这一服务器上的用户交流。
申请加入的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK。
IRC一般使用6667端口(明文传输)、6697端口(SSL加密)。
2.僵尸网络(英文名称叫Botnet),是互联网上在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方法。往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。
3.首先在kali攻击机中打开微信群中的日志文件,并设置过滤条件ip.src == 172.16.134.191 && tcp.dstport == 6667,并查看符合条件的记录中,共有209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172,五个IRC服务器参与了与蜜罐主机的通信。

4.首先安装使用apt-get install tcpflow指令在kali攻击机中安装tcpflow。

通过

tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'

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为服务器的僵尸网络。

5.通过tcpdump命令来筛选攻击蜜罐主机的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 > 20211903.txt;wc -l 20211903.txt。

打开文件后发现共有165个IP地址被用于攻击蜜罐主机。

6.现将文件名改名为botnet.pcap,并使用指令snort -r botnet.pcap -c /etc/snort/snort.conf -K ascii来查看文件中网络流协议等的分布情况。

通过指令
tcpdump -r botnet.pcap -nn 'src host 172.16.134.191 and tcp[tcpflags]== 0x12' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq

来查找日志文件中存在的TCp相应端口,如下图可知TCP相应端口为135,139,25,445,4899,80。

同样用指令tcpdump -r botnet.pcap -nn 'src host 172.16.134.191 and udp ' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq 可以的值对应的UDP对应端口,只有一个137端口。

如下图所示135和25两个TCP端口都是用来连接,并非进行数据交换。

139端口的作用主要为通过这个端口进入的连接试图获得NetBIOS/SMB服务。如下图所示139端口有多个IP地址与蜜罐主机建立了连接。

445端口为一个共享的SMB端口。在查看记录中信息时发现有一种蠕虫病毒执行文件PSEXESVC.EXE,当该蜜罐主机打开此文件时,攻击机可以控制靶机。

若想知道是否攻击靶机成功,使用ip.dst61.111.101.78指令查看信息。

发现每个IP地址连入的连接都有响应的回应,且返回的信息中心含有远程调用PIPE tsvcs,所以应该是攻击机已获取控制权限,攻击成功。
再看4899端口,使用指令ip.dst
172.16.134.191 and tcp.dstport4899进行过滤。可以发现此ip地址只有210.22.204.101一个ip地址访问过,4899端口是一个远程控制软件(remote administrator)服务端监听的端口,具有远程控制功能。

再看80端口,使用指令ip.dst
172.16.134.191 and tcp.dstport==80 and http过滤。发现210.22.204.101地址向靶机发送多个C,应该是尝试利用缓冲区溢出攻击。

如下图可知攻击方24.197.194.106尝试运用多个IIS服务器漏洞进行攻击。

如下图可知218.25.147.83也用蠕虫病毒攻击过蜜罐靶机。

最后看UDP中的137端口,使用ip.dst == 172.16.134.191 and udp.port == 137指令进行过滤。

如图可知,发送信息均为KAAAAAA...在网上查询137udp端口的信息,发现其提供的netbios-ns服务, 要是非法入侵者知道目标主机的IP地址,并向该地址的137端口发送一个连接请求时,就可能获得目标主机的相关名称信息。例如目标主机的计算机名称,注册该目标主机的用户信息,目标主机本次开机、关机时间等。此处137端口这些报文应该为在进行NetBIOS查点,查询蜜罐靶机信息。
7.
来自210.22.204.101的Dv1dr32蠕虫攻击攻击成功。具体攻击过程为通过向对TCP445端口发送含有PSEXESVC.EXE的数据包,且将PSEXESVC.EXE地址改到系统目录下攻击成功的。攻击成功后通过利用SVCCTL漏洞获取目标主机服务。

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

  • 问题1:打开Rada.exe文件时提示runtime error ‘70’ permission denied。
  • 问题1解决方案:重装winXPAttacker虚拟机即可。
  • 问题2:使用IDA Pro分析时主函数名字不为Main函数,没找到程序入口
  • 问题2解决方案:通过观察代码和查看19级博客找到具体行数。

4.实践总结

本次实验较为复杂,特别是第四个任务,综合性要求比较强。本次实验主要学习了一些网络攻防中一些工具的运用和对日志的一些分析,如脱壳加壳,反编译,还重新复习了一下汇编语言,并在分析过程中了解了一下恶意代码文件的运作流程。因为这次内容过多,所以还不能完全消化,需要再课下进行理解。

posted @ 2022-05-02 18:43  lollipop0204  阅读(64)  评论(0编辑  收藏  举报