20232802 黄千里 2023-2024-2 《网络攻防实践》实践八报告

20232802 黄千里 2023-2024-2 《网络攻防实践》实践八报告

一、实践过程

1.动手实践任务一

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

1)文件格式和类型识别

使用file命令可以获取查看到一个文件的格式和类型等信息。首先打开WinXPattacker,从学习通上将Rada.exe下载传入虚拟机,使用file命令查看文件信息。
在命令提示符下输入file rada.exe,可以看到Rada.exe为一个32位Windows的可执行文件,其的标识符代表改文件有GUI图形界面:
在这里插入图片描述
打开开始菜单,在winxp系统内找到PEiD工具,使用该工具可以看到文件的入口点为0000FD20、文件偏移为00004120、EP段为JDR1,加壳类型为UPX壳
在这里插入图片描述
输入strings RaDa.exe查看RaDa.exe中可打印字符串,但是发现都是乱码,说明还需要做进一步的脱壳处理
在这里插入图片描述
同样,winxp上预装了脱壳处理的软件,可以直接使用WinXPattacker上已有的超级巡警脱壳机工具对rada.exe进行脱壳处理,看到“脱壳成功”的字样后,会发现在当前目录下生成了rada_unpacked.exe文件:
在这里插入图片描述
输入命令strings RaDa_unpacked.exe,查看脱壳后的rada.exe中可打印的字符串,发现有大量的函数调用名
在这里插入图片描述
在WinXPattacker使用IDA工具打开rada_unpacked.exe文件,在string界面中选择Unicode编码(IDA中有多个界面框,需要点进Strings界面中才可以右键进行设置勾选上Unicode选项)
在这里插入图片描述
往下翻,会找到Authors:Raul Siles & David Perez,2004,即编写作者信息
在这里插入图片描述

2.动手实践任务二

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
Crackme1
类似实践任务一,同样可以执行命令file crackme1.exe和file crackme2.exe查看两个的文件信息。通过输出可以判断这两个文件均为windows系统下运行的32-bit可执行程序,是命令行程序,但是与Rada.exe不同,这两个软件没有图形界面。
在这里插入图片描述
在cmd中输入crackme1.exe,尝试运行该程序。但是却弹出了缺乏相关口令的提示
在这里插入图片描述
为了找到打开的口令,使用IDA pro Free工具打开crackme1.exe进行分析,选项均选择默认。

在Strings页面可以看到该程序中的明文字符串,发现了刚刚没测试得到的另外两个字符串“I know the secret”和“You know how to speak to programs, Mr.Reverse-Engineer”,因此我们猜测I know the secret是我们需要的口令,You know how to speak to programs, Mr.Reverse-Engineer是口输入令正确时的程序反馈信息
在这里插入图片描述
为了验证我们的猜测,对该软件进行进一步分析。点击进入IDA View界面里,在IDA上选择view—graphs—function calls。发现其中包含函数fprintf和printf ,与我们刚才看到两句话直接相关,猜测sub_401280即为我们要找的核心函数
在这里插入图片描述
同样地在view—graphs中打开sub_401280函数的流程图,这是一段汇编代码,但是可以看到入口那里会校验输入的参数个数是否为2,若参数个数不为2时输出I think you are missing something,若参数个数为2则会将第二个输入与I know the secret作比较,正确则输出You know how to programs
在这里插入图片描述
输入crackme1.exe “I know the secret”验证刚刚口令为“I know the secret”的猜想,得到了程序反馈信息“You know how to speak to programs, Mr.Reverse-Engineer”,验证我们的猜想正确。
在这里插入图片描述
Crackme2
分析crackme2与分析crackme1过程类似
在这里插入图片描述
查看函数的框图
在这里插入图片描述
最后输入命令copy crackme2.exe crackmeplease.exe 和crackmeplease.exe “I know secret”得到结果We have a little secret:Chocolate
在这里插入图片描述

3.分析实践任务一

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

输入命令md5sum Rada.exe,得到md5摘要为“caaa6985a43225a0b3add54f44a0d4c7”

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

该文件下载后门到目标主机,发动DOS攻击,与10.10.10.10主机进行了通信,并查询了Mac地址。

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

该文件会添加注册列表、移动文件位置至C盘,并与10.10.10.10建立相关连接,接收相关指令并执行相关指令。

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

采用了UPX加壳技术,直接对文件进行解析会呈现乱码形式,然而会被一件脱壳。

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

对该文件分析时,未发现其包含自主传播的部分因此判断其不是病毒或蠕虫,并且该程序没有附加在邮件等,判断也不是木马。攻击者利用该程序远程接收执行命令,判断为后门程序或者僵尸程序。

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

木马Bobax,特洛伊木马Setiri

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

Raul siles和David Perze于2004年开发所得

分析过程
输入命令md5sum Rada.exe,得到md5摘要为“caaa6985a43225a0b3add54f44a0d4c7”
在这里插入图片描述
该文件下载后门到目标主机,发动DOS攻击,与10.10.10.10主机进行了通信,并查询了Mac地址。

启动破壳后的恶意软件RADA_unpacked并用radaprocess explorer软件进行监测。在Properties可以看到它通过HTTP协议连接到10.10.10.10主机下RaDa的网页上
在这里插入图片描述
查询了数据库相关信息、对应Mac地址等信息
在这里插入图片描述
在c盘C:\RaDa\tmp目录下创建用于保存下载文件的文件夹,恶意软件还修改了注册表(HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)将rada设置为开机启动。
在这里插入图片描述
作者相关信息:是Raul siles和David Perze于2004年编写的
在这里插入图片描述

4.分析实践任务二

分析日志文件并回答以下给出的问题:
(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是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息? IRC一般使用哪些TCP端口?
IRC是因特网中继聊天(Internet Relay Chat)的简称。
申请加入前要先注册,注册时需要发三种信息:用户信息USER、口令PASS 以及昵称NICK、注册完成后,客户端就可以使用JOIN 信息来加入频道。
IRC通常使用6660-6669端口,其中一般使用6667端口进行明文通信,如果是使用SSL进行加密通信则使用6697端口。

2.僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是指攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。下图是IRC僵尸网络的工作机制,其僵尸控制器是IRC聊天服务器。
通常用于发动分布式拒绝服务攻击(DDoS)、发送垃圾邮件、窃取隐私信息、刷点击量等。

3.蜜罐主机(IP地址:172.16.134.191)与哪些IRC服务器进行了通信?
用wireshark打开botnet_pcap_file.dat文件,输入筛选条件ip.src == 172.16.134.191 && tcp.dstport == 6667,筛选源地址为蜜罐主机,目的端口为6667的包。可得到五个地址:
209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
206.196.44.172
在这里插入图片描述
4.在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
使用tcpflow进行分析,在Kali Linux环境下,需要先安装tcpflow。
sudo su
apt-get install tcpflow
运行命令tcpflow -r /home/kali/Desktop/botnet_pcap_file.dat ‘host 209.196.44.172 and port 6667’
将分析的结果输出到report.xml文件中
打开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
在这里插入图片描述
一共有3462台主机访问了僵尸网络
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文件中
在这里插入图片描述
打开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协议
80端口
能看出所有关于80端口的相关攻击的信息,包括null.ida为标识的WEB-IIS ISAPI、dafault.ida为标识的code red,发现这是一个红色代码蠕虫攻击:
在这里插入图片描述
25端口
在这里插入图片描述
只是进行了数据连接
445端口
在这里插入图片描述
发现了可疑程序PSEXESVC.EXE
查阅互联网,可以得到以下信息:
PsExec 是由 Mark Russinovich 创建的 Sysinternals Suite中包含的工具。最初,它旨在作为系统管理员的便利工具,以便他们可以通过在远程主机上运行命令来执行维护任务。后来因为太过方便psexec远程运行需要远程计算机启用文件和打印共享且默认的Admin共享映射到C:windows目录。psexec建立连接之后目标机器上会被安装一个“PSEXESVC”服务。但是psexec安全退出之后这个服务会自动删除(在命令行下使用exit命令退出)。
1434口
过滤条件ip.addr == 172.16.134.191 && udp.dstport == 1434
可以看到这是一串远程调用协议的相关数据包,查阅相关资料后,知道这是名为SQL Slammer的蠕虫病毒:
在这里插入图片描述
总结以上分析,能够看到针对TCP445端口的PSEXESVC攻击-(IP:61.111.101.78)是成功的,其他均失败。

二、学习中遇到的问题及解决

  • 问题1:分析实践任务时不知道该怎么做
  • 问题1解决方案:参考往届博客等资料按步骤进行分析

三、实践总结

恶意代码分析对我来说是全新的领域,体验动手带来的乐趣同时,不懂的或者一知半解的知识点较多,需要不断地练习总结网络攻防安全知识,对陌生的知识点进行挖掘,争取能够初步掌握网络攻防领域的相关技能。

参考资料

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值