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.实验过程
一、恶意代码文件类型标识、脱壳与字符串提取
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
file命令是Linux系统中可用于检查文件类型的常用命令。它通过读取文件的内容或元数据来判断文件的类型,比如文本文件、二进制文件、可执行文件等。
那就先用file RaDa.exe
命令来检查一下文件类型:
检测后得到了输出信息为:“RaDa.exe: PE32 executable (GUI) Intel 80386, for MS Windows, 3 sections”。
这说明RaDa.exe是一个32位的PE文件(PE32),具有图形用户界面(GUI)可以在Intel 80386处理器或兼容的处理器上运行(Intel 80386),是针对Microsoft Windows操作系统设计的(for MS Windows),并且被分为了三个节(3 section)。
PE文件是一种Windows操作系统下可执行文件的格式,全称为Portable Executable。PE文件是一种用于存储程序代码、数据和资源的文件格式,它是Windows操作系统中常见的可执行文件格式之一。
PE文件包含了程序的代码段、数据段、资源和其他元数据,如导入表、导出表、重定位表等。它还包含了程序运行所需的头部信息,用于告诉操作系统如何加载和执行这个程序。
PE文件格式具有一定的结构,通常包括DOS头部、PE头部、节表等部分。DOS头部用于兼容DOS系统,在Windows系统中并不直接使用。PE头部包含了PE文件的基本信息,如文件类型、节表偏移等。节表则描述了文件中各个节的信息,如代码段、数据段等。
接下来我们用PEiD来侦测一下这位RaDa.exe选手:
PEiD(PE Identifier)是一款文件格式和类型识别工具,主要用于检测PE(Portable Executable)格式的文件是否被加壳或者含有其他反调试、反静态分析的技术。
从图中可以看到文件的入口点,文件偏移,PE段,以及它用了0. 89. 6的UPX压缩壳。
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
脱壳前我先用了strings RADA.exe
命令对文件进行分析。
strings 命令是 Linux 中的一个实用工具,用于从二进制文件中提取可打印的字符串。它通常用于分析可执行文件、库文件或其他类型的二进制数据,以查找嵌入其中的文本信息。这些文本信息可能是程序中的调试信息、字符串常量、错误消息等。
可以看到去壳前出来的是一堆乱码。
用脱壳软件进行处理:
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
脱壳后我再用strings命令提取字符串,发现了能看懂的相关信息,其中能发现编写作者:
二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
(1)分析crackme1.exe
首先先运行一下这个文件,看有什么反馈。
可以看到改变输入后有Pardon……?和……missing sth.两种提示语,都代表着输入不正确。
于是我打算用IDA查看它。同样用file命令查看文件类型,在打开时选择对应文件类型(PE):
打开后,我点进了主函数,得到以下几个调用图,主体部分是两个判断语句。看第一个条件判断可知如果参数个数不为2,就会输出“…… missing something.”。
之前出现过的两种报错信息都返回了loc_401327,重新开始循环。
然而还有一种情况,“You know how to……”似乎是正确输入后的结果。而在loc_401202中能看到进入这里的条件是输入的第二条指令与“I know the secret”进行比较,结果一边指向Pardon? ,一边指向“You know”。
这下我们知道了应该怎样正确运行它,果然成功了。
(2)分析crackme2:
同样先运行文件感受一下:
用IDA打开后,得到以下调用图。同样的,当参数个数不为2,就会输出“…… missing something.”。
按照之前的思路来分析,我发现当第一个参数不是“crackmeplease.exe”时,输出“I have an identity problem.”,第二个参数如果不是“I know the secret”,则会输出“Pardon? ”。只有当第一个第二个参数都正确输入时,才输出成功信息。
第一个参数一般是文件名,我把文件改成指定信息,再尝试就成功得到了巧克力
标签:文件,exe,恶意代码,端口,2024,2025,主机,20222418,IRC From: https://www.cnblogs.com/20222418fcca/p/18519748