1.实验内容

一、恶意代码文件类型标识、脱壳与字符串提取
二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
三、分析一个自制恶意代码样本rada
四、取证分析实践

2.实验过程

一、恶意代码文件类型标识、脱壳与字符串提取
用kali虚拟机查看文件类型:

使用peid查看加壳工具:

使用cmd查看rada文件字符串,此时是乱码:

使用脱壳软件进行脱壳:

即可查看字符串:

二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
使用IDA打开creakme1.exe,并查看函数调用图。

由图可知401280函数段负责判断输入参数,打开此段函数汇编代码可知"I know the secret"为正确密码:

在cmd运行并输入正确密码:

使用IDA打开creakme2.exe,并查看函数调用图。

由图可知401280函数段负责判断输入参数,打开此段函数汇编代码可知"I know the secret"为正确密码,且需要程序名称为creakmeplease.exe:


将文件名修改为creakmeplease.exe后在cmd运行并输入正确密码:

三、分析一个自制恶意代码样本rada
在kali里使用命令md5sum生成摘要:

打开process explorer监听,并打开rada.exe:



由上图可知,rada.exe私自访问了http://10.10.10.10,修改了注册表中的自启动项,且将自身复制到了c盘。同时我们也监听到了作者的信息。

回答问题:
1.md5摘要:caaa6985a43225a0b3add54f44a0d4c7
PE32 executable for MS Windows (GUI) Intel 80386 32-bit
2.连接恶意网站http://10.10.10.10
3.自我复制和修改注册表
4.UPX加壳
5.此文件不能自主传播,不是病毒、蠕虫,没有进行伪装,不是木马,但可以远程接受访问网站指令,是后门。
6.Bobax病毒
7.作者是Raul Siles & David Perze。可以被process explorer监听到。

四、取证分析实践
(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。申请加入一个IRC网络时将发送USER 、PASS、NICK。?IRC一般使用6667端口,ssl加密传输时一般使用6697端口。
(2)僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
筛选ip.src == 172.16.134.191 && tcp.dstport == 6667,有5个IRC服务器,分别是209.126.161.29、66.33.65.58、63.241.174.144、209.196.44.172、217.199.175.10。

(4)在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
使用命令tcpflow -r 20192407file.bat "host 209.196.44.172 and port 6667"发现生成了三个文件

在report.xml文件中可以看到双方的信息

使用命令cat 209.196.044.172.06667-172.016.134.191.01152 | grep "^: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看多少主机连接

(5)哪些IP地址被用于攻击蜜罐主机?
使用命令tcpdump -n -nn -r 20192407file.dat 'dst host 172.16.134.191' | grep -v 'reply' | cut -d '.' -f 10 | cut -d ':' -f 1 | sort | uniq | more >1.txt; wc -l 1.txt查找端口并输出到20192407.txt中


使用命令tcpdump -n -nn -r 20192407file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 2.txt;wc -l 2.txt将连接IP地址输出到201924072.txt中

(6)攻击者尝试攻击了那些安全漏洞?
使用命令snort -r 20192407file.dat -c /etc/snort/snort.conf -K ascii

发现全部为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_file -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq查看TCP响应端口

分析UDP137端口

处于自动开放状态
分析TCP135和25端口

len=0
分析80端口
连接最多的就是24.197.194.106这个IP地址,其使用脚本攻击IIS服务器,目的是获取系统权限.

210.22.204.101访问的80端口,有很多C,想通过缓冲区溢出攻击来。

218.25.147.83访问80端口,可以发现是蠕虫攻击
分析139端口

以上攻击均失败了。
(7)那些攻击成功了?是如何成功的?
分析445端口


有蠕虫PSEXESVC.EXE通过IRC进行通信,返回信息有\PIPE\ntsvcs,发生了远程调用,这个攻击成功了。
分析4899端口

这是一个远程服务端监听端口

3.问题及解决方案

  • 问题1:输入中文引号时不算是正确的密码
  • 问题1解决方案:改为英文即可
  • 问题2:kali无法安装tcpflow
  • 问题2解决方案:后面的部分用同学电脑完成
  • 问题3:对wireshark的运用很生疏
  • 问题3解决方案:根据同学的博客学习做完了实验

4.学习感悟、思考等

本次实验工作量巨大且信息较少,难以实操。任务四使用wireshark时出现了许多问题且不明白到底在做什么,跟着同学的博客勉强完成本次实验。通过本次实验我对恶意代码的分析有了新的认识,也体会到了自身编程能力的不足,今后还需多多学习。

posted on 2022-04-17 21:30  火柴地狱2407  阅读(70)  评论(0编辑  收藏  举报