20192402白胤廷 实验四 恶意代码分析实践

1.实验过程
任务一:恶意代码文件类型标识、脱壳与字符串提取
(1)在kali中使用file指令查看文件类型

(2)用PEid查看加壳工具

(3)用strings指令查看字符串

(4)脱壳

(5)查看脱壳后的字符串

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

(2)查看函数调用图

(3)进行验证

2.crackme2.exe
(1)查看函数调用图

(2)查看函数汇编代码

(3)进行验证

任务三:分析一个自制恶意代码样本rada,并撰写报告,回答以下问题
(1)生成md5摘要

(2)打开process explorer监听,执行RaDa.exe

将文件 RaDa.exe 复制到C:\RaDa\bin 目录下

回答问题:

  1. md5摘要:caaa6985a43225a0b3add54f44a0d4c7
    基本信息:PE32 executable for MS Windows (GUI) Intel 80386 32-bit
  2. 连接互联网时,该恶意程序就会通过http请求连接到指定主机,进行接受攻击者指令操作,并且攻击者可以完全控制该系统,所以这应该是一个后门程序。
  3. (1).RaDa.exe被执行时,它会将自身安装到系统C盘中。程序运行后,在实验主机的C盘下创建了一个RaDa目录,里面一个bin文件夹,一个tmp文件夹,tmp前面分析过是用来临时存储从目标主机下载到受害主机的文件和从受害主机获取的文件信息,打开bin文件夹发现里面安装了一个RaDa.exe可执行文件。
    (2).通过修改注册表的方式使得系统启动,启动后每隔一段时间会尝试与10.10.10.10建立tcp连接,循环执行如下操作:
    从指定的web服务器请求指定的web页面 → 解析获得的web页面,获取其中的指令 → 执行解析出来的指令
    (3).文件双双击运行后没有弹出任何窗口与提示信息,只有通过查看进程才能发现,隐蔽性较好。
    4.使用了加壳工具进行处理
    5.猜测是后门程序,该程序执行需要通过攻击者远程发送指令,而且不具有自主传播模块,故不属于病毒和蠕虫,也并未进行伪装,故不是木马。
  4. Bobax——2004等也是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令。
    7.该恶意程序是Raul siles和David Perze在2004年编写的。
    任务四:取证分析实践
    1.IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
    因特网中继聊天(Internet Relay Chat),简称IRC。IRC的工作原理非常简单,您只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。IRC特点是通过服务器中继与其他连接到这一服务器上的用户交流。通过IRC简介了解IRC的相关内容。
    注册时需要发送的消息有三种,分别是口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用JOIN信息来加入频道,格式如下:JOIN 。
    IRC服务器明文传输通常在6667端口监听,也会使用6660—6669端口。SSL加密传输在6697端口。
    攻击者滥用IRC构建僵尸网络时,可能使用任意的端口构建IRC僵尸网络控制信道,那么基于端口识别服务不再可靠,要进行基于应用协议特征进行识别(如USER/NICK)。
    2.僵尸网络是什么?僵尸网络通常用于干什么?
    僵尸网络(英文名称叫BotNet),是攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络;是互联网上受到黑客集中控制的一群计算机。往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。僵尸网络的威胁也因此成为目前一个国际上十分关注的问题。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上黑客最青睐的作案工具。
    3.蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
    五个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为服务器的僵尸网络?

查看双方的ip地址,端口,mac地址等信息

搜索有多少主机连接。

(5)哪些IP地址被用于攻击蜜罐主机?

6.攻击者尝试攻击了那些安全漏洞?哪些成功了?如何成功的?
(1)看看用了啥协议

(2)TCP响应端口

(3)UDP端口

(4)分析UDP137端口

(5)TCP135和25端口

(6)分析80端口




(7)139端口

(8)分析445端口

(9)分析4899端口

2.问题及解决方案
问题:
实验2中,crackme2.exe的测试验证时候,一开始使用的命令crackme2.exe crackmeplease.exe,发现依旧是输入错误的提示

解决:
发现使用了copy命令。回忆代码分析时的strcmp函数,应当是当文件名是crackmeplease.exe才可使用,不能单纯的给原本的crackme2.exe文件赋予新名称参数。使用copy命令后,去C盘发现多了个crackmeplease.exe文件,应该是用copy将crackme2.exe复制并将复制文件改了名。

3.学习感悟、思考等
此次实验任务量比较重,看到题目这么多问题都几次敲响了退堂鼓……不过最后好歹是慢慢做完了。实验操作也略微复杂,虽然在老师发布的资料文件里发现了应该是实验指导书的PDF文件,但指导书一点都不傻瓜教程,部分步骤没有详细操作,比如“查看整个程序的call flow”,怎么个查看法,我就对着界面那些小按钮一一试了好久,也去网上找了IDA使用教程。

posted @ 2022-04-17 15:59  BYTT  阅读(100)  评论(0编辑  收藏  举报