20212924 2021-2022-2 《网络攻防实践》实践第10周(8次·)报告
1.实践内容
PEiD
查壳教程:PEiD
可以探测大多数的PE
文件封包器、加密器和编译器。当前可以探测 600 多个不同签名。PEiD 是最强大的一个查壳工具。- 超级巡警虚拟机自动脱壳机软件:
- 本工具完全基于虚拟机技术,对各种已知未知壳进行脱壳处理,适合病毒分析中对加壳的木马样本进行脱壳处理。
- 由于所有代码均运行在虚拟机中,不会对系统造成任何危害。
file
命令:用来探测给定文件的类型。file
命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。CrackMe
:它们都是一些公开给别人尝试破解的小程序,CrackMe
简称CM
。 程序分为两部分Serial/Name
和Serial
。
2.实践过程
一、任务:对提供的rada
恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada
恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada
恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada
恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada
恶意代码样本进行分析,从中发现rada
恶意代码的编写作者是谁?
二、操作
-
(1).准备工作:
-
(2).在
kali
中使用file
指令查看文件类型:file /home/kali/Desktop/rada/RaDa.exe
- 截图如下:
- 输出结果表示
RaDa.exe
一个有图形化界面(GUI)
的Win32 PE
(可移植可执行)的程序。
- 截图如下:
-
(3).使用
PEID
工具对恶意代码样本的加壳类型进行分析:在WinXP
中运行PEID
工具。- 可以看到文件的入口点、偏移、文件类型、
EP短
、汇编程序以及加壳类型:
- 可以看到文件的入口点、偏移、文件类型、
-
(4).在
kali
中使用命令查看RaDa.exe
可打印的字符串strings
- 打印结果全是乱码,证明文件被加壳了。
-
(5).使用脱壳工具超级巡警虚拟机脱壳器对恶意程序进行脱壳。得到文件
unpacked.exe
。
-
(6).使用
strings
指令查看脱壳后的RaDa_unpacked.exe
:
- 脱壳后的文件中找到作者名字:
- 脱壳后的文件中找到作者名字:
任务二:分析Crackme
程序
- 在
WinXP Attacker
虚拟机中使用IDA Pro
静态或动态分析crackme1.exe
和crackme2.exe
,寻找特定的输入,使其能够输出成功信息。
操作:
- (1).查看文件
crackme1.exe
和crackme2.exe
的文件类型:首先在终端进入这两个文件所在位置,利用命令file crackme1.exe
和file crackme2.exe
查看。
- (2).终端测试运行上面的文件。在
WinXP
环境下输入命令
crackme1.exe
crackme2.exe
crackme1.exe 0
crackme2.exe 0
crackme1.exe 0 1
-
输出结果截图如下:
-
它提示我们忘记了一些什么东西,猜测后面需要跟一些参数,于是做了几次测试,结果发现它总是提示一样的提示语,就好像是让我们输入密码总是没输入正确一样。
-
(3).
WinXP
自带的IDA Pro
打开crackme1.exe
,查看4条明文信息;
-
(4).使用
IDA Pro
打开crackme1
文件,打开函数调用图。
-
(5).打开
IDA View-A
,查看函数返回汇编结果,从函数strcmp
所在的程序段中找到参数"I know the secret"猜测这是破解的密钥。
-
(6).进行验证,输入密码,验证成功。
任务三:分析一个自制恶意代码样本rada
,并撰写报告,回答以下问题:
- 1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
- (1)在
Kali
终端下使用md5sum
命令查看摘要信息。
md5
摘要为caaa6985a43225a0b3add54f44a0d4c7
。- (2)通过
process explorer
进行监听,并执行RaDa.exe
。
- (3)
process explorer
来查看该二进制文件在内存中的字符串。
- (4)根据上述结果分析:
- 通过
HTTP
协议请求10.10.10.10\RaDa\RaDa_commands.html
。
- 下载并更新
cgi-bin
,修改注册表自启动项。
- 将文件
RaDa.exe
复制到了C:\RaDa\bin
目录下
- 读写和删除操作
- (1)在
- 2、找出并解释这个二进制文件的目的;
- 该二进制文件的目的是建立连接
10.10.10.10
的后门,这样用户打开web
后就会令攻击者获得控制权。
- 该二进制文件的目的是建立连接
- 3、识别并说明这个二进制文件所具有的不同特性;
- 自我复制到
C
盘下,可以修改注册表自启动项。
- 自我复制到
- 4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
- 加壳工具
- 5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
- 可以远程发起攻击,但并不能自主进行传播和感染,并且建立连接
10.10.10.10
的后门由此推断,是一个后门程序
- 可以远程发起攻击,但并不能自主进行传播和感染,并且建立连接
- 6、给出过去已有的具有相似功能的其他工具;
- 木马
Bobax
(使用HTTP
协议从指定的服务器下载命令文件)、木马Setiri
。
- 木马
- 7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
- 可以找出,作者是
Raul siles
和David Perze
。
- 可以找出,作者是
任务四:Windows 2000
系统被攻破并加入僵尸网络
- 任务:分析的数据源是用
Snort
工具收集的蜜罐主机5
天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP
地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题: - 1、
IRC
是什么?当IRC
客户端申请加入一个IRC
网络时将发送那个消息?IRC
一般使用那些TCP
端口?IRC(Internet Relay Chat)
,即因特网中继聊天。 用户用自己的PC
运行客户端软件,然后通过因特网以IRC
协议连接到一台IRC服务器即可聊天。- 当
IRC
客户端申加入一个IRC
网络时将发送JOIN
信息来加入频道 IRC
服务器通常在6667
端口监听,也会使用6660—6669
端口
- 2、僵尸网络是什么?僵尸网络通常用于什么?
- 僵尸网络
Botnet
是指采用一种或多种传播手段,将大量主机感染bot
程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络 - 僵尸网络通常被用于发起大规模的网络攻击,如分布式拒绝服务攻击(
DDoS
)、海量垃圾邮件等
- 僵尸网络
- 3、蜜罐主机(IP地址:
172.16.134.191
)与那些IRC
服务器进行了通信?Wireshark
打开数据文件,因为IRC
通过6667
端口,可设置过滤条件ip.src == 172.16.134.191 && tcp.dstport == 6667
。
- 可以找到五个
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
为服务器的僵尸网络?- (1)
kali
安装tcpflowr
:依次输入命令sudo apt install tcpflow
、sudo apt install tcpflow-nox
。
- (2)筛选指定
host
与端口:输入命令tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'
。
- 产生的3个文件是
209.196.044.172.06667-172.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667、report.xml
。
- (3)输入如下指令进行搜索有多少主机连接:
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
为服务器的僵尸网络。
- (1)
- 5、那些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 > 20212924.txt;wc -l 20212924.txt
将攻击蜜罐主机的ip筛选出输出至20212924.txt文件中。
- 结果显示有
165
个IP地址用于攻击蜜罐主机。
- 输入指令
- 6、攻击者尝试攻击了那些安全漏洞?
- (1)将端口分为
TCP
端口和UDP
端口两部分,分别查看它们受攻击的情况。 - (2)输入
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
端口
- 得到的
TCP
端口有:135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)
。 - (3)输入
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
端口。
- 结果显示
udp 137
端口,此端口在局域网中提供计算机的IP
地址查询服务,处于自动开放状态,可用于NetBIOS
查点。
- (1)将端口分为
- 7、那些攻击成功了?是如何成功的?
- 得到端口后,利用
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
——发现有61.111.101.78
向蜜罐主机发送PSEXESVC.EXE
,当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限。
- 端口
80
:过滤条件tcp.dstport==80 && ip.dst==172.16.134.191
——发现c:\notworm
,发现这是一个红色代码蠕虫攻击。
- 根据以上分析可以知道析可知
218.25.147.83
发起的攻击是成功的,它通过蠕虫病毒实现。
- 得到端口后,利用
3.学习中遇到的问题及解决
- 问题1:本次实验过程中,需要用到很多软件,有很多在
WinXp
中自带,并不需要下载,在前期过程中,下载软件,浪费了一些时间。 - 问题2:一些软件的操作不太熟练,只能进行最简单的基本操作。
- 问题2解决方案:通过查阅资料,咨询,获取操作技能。
4.实践总结
- 通过本次实验,学习到了监控软件、脱壳工具等的使用。
- 通过各种工具,尝试着对恶意代码进行分析,我们可以得到恶意代码的各种各样的信息。
- 由于对于汇编语言不够熟悉,在
crackme
文件的分析时,需要反复搜索汇编语言的用法,。总的来说,本次实验让我学到了很多。