20192427李睿智 2021-2022-2 《网络与系统攻防技术》实验四

20192427 2021-2022-2 《网络与系统攻防技术》实验四

一,实验内容

1,恶意代码文件类型标识、脱壳与字符串提取:
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
2,使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
3,、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
(2)找出并解释这个二进制文件的目的;
(3)识别并说明这个二进制文件所具有的不同特性;
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
(6)给出过去已有的具有相似功能的其他工具;
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
4,取证分析实践
Windows 2000系统被攻破并加入僵尸网络

二,实验过程

任务一:恶意代码文件类型标识、脱壳与字符串提取

1,在kali中使用file指令查看文件类型:

file RaDa.exe 

结果如下图:
该样本文件是一个有图形化界面(GUI)的Win32 PE(可移植可执行)的程序

2,使用工具对恶意代码样本的加壳类型进行分析:
在windows xp中运行PEID工具

查壳
相关属性如下:

3,使用strings命令在kali中查看RaDa.exe中的可打印字符串
命令如下:

strings RaDa.exe

结果是:全是乱码,证明该文件被加壳了。

4,使用超级巡警进行脱壳处理
并生成了一个新文件 RaDa_unpacked.exe

5,再次使用strings指令查看脱壳后的RaDa_unpacked.exe,显示结果如下:

并在脱壳后的文件中找到作者名字:

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

1,使用file指令查看俩个文件的文件类型


2,在kali环境下输入命令

wine crackme1.exe
wine crackme2.exe
wine crackme1.exe 0
wine crackme2.exe 0
wine crackme1.exe 0 1

结果如下:

3,使用XP自带的IDA Pro打开crackme1.exe,查看4条明文信息;

4,使用IDA pro工具打开crackme1文件,打开函数调用图。

5,打开IDA View-A


查看函数返回汇编结果如下:

从函数strcmp所在的程序段中找到参数"I know the secret"猜测这是破解的密钥
进行验证:
验证结果如下:

任务三:分析一个自制恶意代码样本rada,并能回答相关问题

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

通过process explorer进行监听,并执行RaDa。exe


同时在process explorer的Strings窗口可以看到恶意代码对进程所做的修改等信息:

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

下载并更新cgi-bin,修改注册表自启动项

将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下

读写和删除操作

(2)找出并解释这个二进制文件的目的

该二进制文件的目的是建立连接
10.10.10.10的后门,这样用户打开web后就会令攻击者获得控制权

(3)识别并说明这个二进制文件所具有的不同特性

自我复制到C盘下,可以修改注册表自启动项

(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术

加壳工具

(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由

可以远程发起攻击,但并不能自主进行传播和感染,并且建立连接
10.10.10.10的后门由此推断,是一个后门程序

(6)给出过去已有的具有相似功能的其他工具

木马Bobax(使用HTTP协议从指定的服务器下载命令文件)、木马Setiri

(7)可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

可以找出,作者是Raul siles和David Perze。

任务四 任务四 取证分析实践(windows2000系统被攻陷并加入僵尸网络)

问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:

(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

  • IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。
  • 所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称),所有的沟通就在他们所在的Channel内以不同的Nickname进行交谈。
  • 申请加入的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK
  • 6667端口(明文传输)、6697端口(SSL加密)

(2)僵尸网络是什么?僵尸网络通常用于干什么?

  • 僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络
  • 攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。
  • 利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息

(3)蜜罐主机(IP:172.16.134.191)与哪些IRC服务器进行了通信?
使用Wireshark打开数据文件,并设置过滤条件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

在Kali中输入如下命令,运行结果:

然后输
入命令

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

进行抓包(-r是为了能够读取该数据包),可以得到三个文件 209.196.044.172.06667-1
72.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667、report
.xml
结果如下图:

接着输入如下指令进行搜索有多少主机连接

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台主机
哪些IP地址被用于攻击蜜罐主机?

利用tcpdump筛选攻击蜜罐主机的ip输出保存到20192427.txt:

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 > 20192427.txt;wc -l 20192427.txt

利用tcpdump筛选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、139、25、445、4899、80

得到端口后,利用wireshark查看TCP端口
端口135,过滤条件

tcp.dstport==135 && ip.dst==172.16.134.191

只进行了TCP连接

端口139,过滤条件

tcp.dstport==139 && ip.dst==172.16.134.191


有NBSS包和SMB包以及TCP包
端口25,过滤条件

tcp.dstport==25 && ip.dst==172.16.134.191

只进行TCP连接。
端口445,过滤条件

tcp.dstport==445 && ip.dst==172.16.134.191


从抓包结果中分析可执行文件:PSEXESVC.EXE。当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限
端口80,过滤条件:

tcp.dstport==80 && ip.dst==172.16.134.191

看到c:\notworm,发现这是一个红色代码蠕虫攻击

(7)那些攻击成功了?是如何成功的?
根据以上分析可以知道析可知218.25.147.83发起的攻击是成功的,它通过蠕虫病毒实现

三,问题及解决

问题一
不会汇编语句
解决方法:参考网络上的资料
问题二
使用wireshark抓包时,对指令不是很熟悉,会出现不应该出现的错误
解决方法:请求同学的帮忙,更正指令中的错误问题
问题三
使用IDA pro时,不会一下子正确使用软件,东点点,西点点,有点浪费时间。

四,学习感悟,思考等

此次实验让我们了解恶意代码的相关知识,并且主要是下载安装软件并应用,重点在于如何利用这些软件分析恶意代码。在实践的过程中,掌握了很多种工具的用法通过自己动手实践,实现了从攻击者身份到检测、分析者身份的转变,更全面的了解了前两次实验中生成的后门程序到底在做什么,对恶意代码有了更深入的理解。

posted @ 2022-04-17 17:22  20192427李睿智  阅读(65)  评论(0编辑  收藏  举报