20192417 实验四 恶意代码分析与实践

1.实验内容

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

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;

(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;

(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

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

三、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

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

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

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

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

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

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

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

四、取证分析实践

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.实验过程

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

kali虚拟机通过file 命令查看文件类型,这是微软 Windows平台、英特尔80386处理器的一个32位PE文件,并且是GUI文件;脱壳前有很多乱码

用PEID查看,发现用了UPX的压缩壳

超级巡警脱壳机脱壳

使用ida pro,可找到作者和时间

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

查看crackme1.exe函数调用关系,发现如果输入"I Know the secret“,则程序可以顺利执行,弹出“you know how to ”

同理分析crackme2.exe,发现程序名要使用crackmeplease.exe,故先将crackme2.exe复制为crackmeplease.exe,再输入crackmeplease.exe “I know the secret”

验证:

任务三:分析一个自制恶意代码样本rada

用MD5生成RaDa.exe的摘要信息

执行RaDa.exe,发现它改动开机自启动,并且将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下

使用process explorer,查看rada程序的执行信息

(1)二进制文件的摘要及其他信息:caaa6985a43225a0b3add54f44a0d4c7,是Windows平台下32位的可执行文件,使用upx加壳

(2)二进制文件的目的:生成文件,反弹连接到10.10.10.10,方便攻击者进行后续攻击。

(3)不同特性:自行复制到指定文件夹,修改注册表实现自启动

(4)采用的防止被分析或逆向工程的技术:UPX

(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由:
该程序并没有自主传播,也没有伪装成正常程序,因此它是病毒和蠕虫也不是木马,而是一个后门程序,绕过了安全性控制而获取对系统的访问权限。

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

2013年Sercomm在一些采用其硬件的DSL网关被发现有后门后采取的做法。 这个后门被发现是厂商自己加进去的,利用32764端口进行远程访问。

(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
Raul siles和David Perze,2004。先脱壳,通过ida pro查看。

任务四:取证分析实践

  1. IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
    答:因特网中继聊天(Internet Relay Chat),它的工作原理是在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。

    IRC的特点是通过服务器中继与其他连接到这一服务器上的用户交流。注册时需要发送的消息有三种,分别是:口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用JOIN信息来加入频道,格式如下:JOIN 。

    IRC服务器明文传输通常在6667端口监听,也会使用6660—6669端口。SSL加密传输在6697端口。

  2. 僵尸网络是什么?僵尸网络通常用于什么?
    僵尸网络是指攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络,通常被黑客用来发起大规模的网络攻击,如DDoS、海量垃圾邮件等。

  3. 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
    使用wireshark抓包,设置过滤规则ip.src=172.16.134.191&&tcp.dstport==6667,发现有五台IRC服务器,分别是
    63.241.174.144,
    217.199.175.10,
    209.126.161.29,
    66.33.65.58,
    209.196.44.172

    4.在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
    在kali虚拟机安装tcpflow,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667,查看report.xml,找到ip,端口,通信时间等信息

​ 使用命令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台主机访问过这台服务器所在的僵尸网络。

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 > xxw.txt;wc -l ip.txt 查看用于攻击蜜罐主机的ip

6.攻击者尝试攻击了那些安全漏洞?
使用命令snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii查看使用的协议,发现大部分是TCP,少部分是UDP,所以要筛选响应方的TCP端口和UDP端口,则使用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端口,使用tcpdump -r botnet_pcap_2431.d,at -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq 查看udp端口。

wireshark抓包,逐个分析:

(1)135端口:只有连接,无数据交互

(2)139端口:大部分是普通连接

(3)25端口:[FIN ACK],很多重传,并且长度都是0,应该是没有成功

(4)445端口:发现PSEXESVC.EXE,查找资料发现这是一种Dv1dr32蠕虫,说明在进行蠕虫攻击,并且返回信息中含有\PIPE\ntsvcs,这是一个远程调用,因此推断攻击者获得了权限,攻击成功的

(5)4899端口:是远程控制工具Radmin的监听端口,不是木马但可能是攻击者攻击成功后装来方便控制,只有210.22.204.101访问

(6)80端口:发现缓冲区溢出攻击及蠕虫

(7)137端口:137端口是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态,因此访问这个端口应该是NetBIOS查点

  1. 那些攻击成功了?是如何成功的?
    缓冲区溢出攻击攻击和PSEXESVC蠕虫攻击没成功:返回css http/1.1

    SVCCTL服务漏洞成功:返回\PIPE\ntsvcs

3.问题及解决方案

  • 问题1:snort安装不成功
  • 问题1解决方案:换手机热点,很快就安装上(不知道为啥,宿舍网挺快的其实,前面安装tcpflow用宿舍网也可以)
  • 问题2:使用超级巡警虚拟机脱壳器无法脱壳
  • 问题2解决方案:下载另一版本v1.3

4.学习感悟、思考等

本次实验的工作量非常大,使用到的工具也很多,ida pro的使用都是网上查阅资料才稍微懂一点,任务四僵尸网络分析涉及到的知识面也很广,更加让我意识到了自己的不足。

posted @ 2022-04-17 15:16  20192417张家华  阅读(260)  评论(0编辑  收藏  举报