1.实验内容
一、恶意代码文件类型标识、脱壳与字符串提取
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
三、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
(2)找出并解释这个二进制文件的目的;
(3)识别并说明这个二进制文件所具有的不同特性;
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
(6)给出过去已有的具有相似功能的其他工具;
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
(8)给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。
四、取证分析实践
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.1 任务一:恶意代码文件类型标识、脱壳与字符串提取
对提供的样本RaDa.exe进行分析,脱壳与字符串提取,以获得rada恶意代码的编写作者。
2.1.1 使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
解压下载的rada文件
将文件传到kali端,使用file RaDa.exes命令查看文件的格式和类型信息。
可以看到是一个有图形化界面(GUI)的 Win32 PE(可移植可执行)程序。其中 PE32 表示这是一个32位的运行在windows操作系统上的程序, GUI 表示这个程序是一个有图形界面的程序, intel 80386 表示处理器架构。然后使用peid查看RaDa的信息。
2.1.2 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理
在学习通下载脱壳.rar,即超级巡警脱壳软件,按路径找到并选择刚下载的RaDa.exe,进行脱壳处理。
脱壳后文件如下。
可以知道创始人的身份了
2.2 任务二:使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息
2.2.1下载crackme1.exe和crackme2.exe并拖进kali。查看一crackme1,2.exe基本信息。
console: 说明这两个是控制台程序。
for MS Windows:则表示这是一个为Microsoft Windows操作系统设计的可执行文件。
2.2.2 在命令提示符中测试
在windows的cmd中依次输入一些命令
2.2.3 利用IDA Pro分析文件
在学习通下载IDA pro.rar,解压后打开.exe文件进行安装。
可以看到除了上面输出提示的两句话,还有另外两句。
查看函数调用图
发现sub_401280调用了strcmp、printf等这些有关字符串处理的函数,可以合理推测会根据输入对比进而printf出不同的输出语句。
查看函数流程图。
可以看到最上方函数会将输入参数个数与2作比较,相同则执行下边右边的函数,不相同则执行左边;然后在判断为相同的函数中,将参数与“I know the secret”作比较,再根据是否相同输出不同结果。
在终端中按照程序中出现的明文字符串口令进行验证:
可以看到最上方函数会将输入参数个数与2作比较,相同则执行下边右边的函数,不相同则执行左边;然后在判断为相同的函数中,将参数与“I know the secret”作比较,再根据是否相同输出不同结果。
2.2.4分析crackme2.exe
直接运行crackme2.exe,发现它像上一个exe文件一样,需要输入一个参数,但是此时还会有认证问题。
按照上次的方式打开函数调用图。
发现sub_401280调用了strcmp、fprintf、putchar、puts这些字符串处理函数.
打开函数流程图。
可以看到crackme1.exe中看到的流程类似,但多了一个第一个参数的判断流程,可以推断出函数需要将第一个参数改成特定名称crackmeplease.exe。
2.3分析恶意代码样本rada,并撰写报告
2.3.1信息获取过程
输入md5sum RaDa,exe命令,得到RaDa.exe的摘要和基本信息。
在学习通下载ProcessExplorer.rar并解压打开。
然后在Process Explorer中会出现该进程,双击后可以看到下方结果。
点击string查看字符串。
分析string内容可以得到下方结果:
该程序使用HTTP协议连接到目标为10.10.10.10\RaDa\RaDa_commands.html的网页上,下载和上传某些文件。
并且在主机C盘中创建一个文件夹C:/RaDa/tmp,并且将文件RaDa.exe复制到了C:\RaDa\bin中。
添加了一个注册表项:HKLM\Software\Microsoft\Windows\CurrentVersion\Run\,激活了自启动。
还添加了一个注册表项:HKLM\Software\VMware, Inc.\VMware Tools\InstallPath,实现了对入侵主机的远程控制。
该程序还可以执行DDos攻击,对注册表内容进行更改,还可以执行其他入侵操作,作者是Raul siles和David Perze。
2.3.2问题回答
(1)二进制文件摘要及基本信息:
摘要:caaa6985a43225a0b3add54f44a0d4c7。
文件采用了PE格式,是一个图形用户界面程序,为Intel 80386处理器架构编译的程序
(2)二进制文件目的分析:
HTTP请求10.10.10.10\RaDa\RaDa_commands.html,将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下,对主机实行DDos拒绝服务攻击 。
(3)识别并说明这个二进制文件特性所具有的不同特性:
该文件运行会对注册表进行读写和删除操作。
(4)防止分析与逆向工程的技术:
使用了UPX加壳技术,不进行脱壳会显示乱码。
(5)恶意代码样本分类:
本恶意程序为后门程序,使用DDoS攻击使主机瘫痪,该程序执行需要通过攻击者远程发送指令且该程序没有自我复制和传播,也没有将伪装成其他程序。
(6)相似功能工具:
实验二的msfvenom就可以生成后门文件,然后传递到被攻击者的主机上实现反弹连接,据我了解,实验三的veil也是可以的
(7)调查开发作者的可能性:
可以的,并且很容易,在上面实验的多个工具中,我们都可以查到该文件的作者是两位外国友人。只要我们有工具并且在安全的环境下保存了这个文件就可以查出文件的作者。
(8)检测该恶意软件的方法:
基于特征码的检测:
方法:在特征码库中记录已知的恶意软件特征码,当扫描到包含这些特征码的文件时,将其标记为恶意软件。
基于行为的恶意软件检测:
方法:通过监控软件在系统中的行为(如文件操作、网络通信等),判断其是否为恶意软件。
沙箱检测法:
方法:将软件运行在一个隔离的环境中,观察其行为是否异常。
完整性校验法:
方法:通过比较软件的哈希值或数字签名与官方提供的值是否一致,判断软件是否被篡改。
基于网络流量的检测方法:
方法:通过分析网络流量中的特征(如端口号、协议类型、数据包大小等),判断是否存在恶意软件的网络通信行为。
2.4取证分析实践
2.4.1IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
(1)IRC(Internet Relay Chat)是一种互联网中继聊天协议,它允许用户借助特定的客户端软件,在不同的聊天频道中与其他用户进行实时的文本信息交流。这种协议为在线社区的形成和信息的即时传播提供了便利。
(2)当IRC客户端尝试加入一个IRC网络时,它会发送一个特定的JOIN命令来请求加入某个频道。这个JOIN消息中通常包含了目标频道的名称以及用户的昵称等关键信息,以便服务器能够正确地处理用户的加入请求。
(3)IRC协议一般使用的TCP端口包括6667(用于明文传输)和6697(用于SSL加密传输),以确保数据传输的安全性和隐私性。此外,根据具体的网络配置和服务器设置,IRC也可能使用6660-6669之间的其他端口。
2.4.2僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是由大量被恶意软件感染的计算机组成的网络,这些计算机在未被用户察觉的情况下被远程攻击者控制。僵尸网络通常用于发动分布式拒绝服务(DDoS)攻击、发送垃圾邮件、进行数据盗窃或大规模的点击欺诈等恶意活动。攻击者通过控制大量的“僵尸计算机”来协同执行这些任务,从而增加攻击的效率和效果。
2.4.3蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
下载文件botnet_pcap_file.dat,使用wireshark打开,设置过滤条件ip.src == 172.16.134.191 && tcp.dstport == 6667 and tcp.flags == 0x2观察结果:
经过分析,可以得出,蜜罐主机与如下的服务器进行通信:
209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172
2.4.4在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
首先在虚拟机中输入sudo apt install tcpflow安装tcpflow。
安装完成后,把数据包文件拖入kali中,输入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 --text "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x
标签:攻防,exe,rada,RaDa,文件,恶意代码,端口,国力,20222324 From: https://www.cnblogs.com/2022234sgl/p/18538311