20231903 2023-2024-2 《网络攻防实践》实践八报告

1.实践内容

1.1 内容介绍
动手实践任务一
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

动手实践任务二:分析Crackme程序
任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.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、那些攻击成功了?是如何成功的?
1.2 使用工具介绍
(1)PEID
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE 文档 的加壳类型和签名。主要有三种扫描模式:
正常扫描模式:可在PE文档的入口点扫描所有记录的签名;深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;核心扫描模式:可完整地扫描整个PE文档。
(2)IDA Pro
IDA Pro(Interactive Disassembler Professional)是一款功能强大的交互式反汇编工具,被广泛应用于代码分析和程序逻辑解构。它支持多种处理器架构,包括但不限于Intel x86、x64、MIPS、PowerPC、ARM、Z80、68000、c8051等,能够将机器代码转化为汇编语言,甚至接近源代码的形式,便于人类阅读和理解。
(3)超级巡警拖壳器
超级巡警虚拟自动脱壳机是一款实用的一款脱壳工具,可以轻松脱去各种加密壳。支持超过100类的壳,本工具完全基于虚拟机技术,对各种已知未知壳进行脱壳处理,适合病毒分析中对加壳的木马样本进行脱壳处理。其所有代码均运行在虚拟机中,不会对系统造成任何危害。
(4)Process Explorer
Process Explorer是一款由微软公司开发的免费工具,它可以帮助你了解当前Windows中正在运行的进程、服务、磁盘活动以及网络流量等信息,可以用于诊断系统性能、查找恶意软件等方面。
2.实践过程

2.1 动手实践任务1
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者。
(1)将学习通下载且解压好的rada文件拷贝到WinXPattacker虚拟机中
(2)开始实验,打开命令行,切换到rada文件夹中,输入指令:file /home/kali/Desktop/RaDa.exe。可以看到 RaDa.exe的运行环境为Rada.exe: PE32 executable for MS Windows(GUI) Intel 80386 32-bit。

(3)打开PEiD工具,查询rada的加壳情况,发现其加了UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo壳。(4)使用超级巡警脱壳机脱壳软件对rada恶意代码样本进行脱壳处理(5)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,结果如下:(6)使用命令:rada --authors,发现作者为:Raul Siles & David Perez

2.2 动手实践任务二
任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
(1)在学习通上下载好crackme1.exe和crackme2.exe两个文件拷贝到WinXPattacker虚拟机中
(2)首先分析crackme1.exe文件,分别给该程序不传入参数、传入一个参数、传入两个参数,观察该程序的输出结果,如图所示
不难发现,传入两个参数的时候与其他分别传入一个、三个参数等的情况得到的结果不同,因此可推断应该是传入两个参数
(3)使用IDA pro工具对crackme1.exe文件进行分析,在“string window”发现其带有刚刚运行结果的字符串,此时随便双击一个运行结果中的字符串,IDA会自动跳到程序中对应的地方,如下图所示:

可以发现,还有一种情况没有在结果中出现,那就是:You know how to speak to programs,Mr.Reverse-Engineer,因此推测若传入参数正确,则应该出现该结果。同时也可以发现这几种情况均与函数sub_401280有关,进而想到去分析该函数,看哪种情况会得到想得到的结果。

(4)接下来我们应该看看这个exe执行程序他的函数调用图,在哪里会调用sub_401280函数。

(5)进入函数sub_401280进行分析,如图:

(6)先看第一步判定:若命令行中输入两个参数则跳转到Ture,否则跳转到False,并输出:I think you are missing something。

(7)再看第二步判定,通过调用strcmp这一函数判断第一个参数是否为crackmeplease .exe,若是则判定为Ture,进行到下一步判定,否则判定为false,输出I have an identity problem。

(8)最后看第三步判定,此步判断第二个参数是否为“I konw the secret”,若是,则输出We have a little secret : Chocolate,否则输出:Pardon? What did you say?

(9)最后是验证推测:首先是需要复制一个crakmeplease.exe含有crackme2.exe的内容,其次传入参数“I know the secret”便可得到想要的结果:I think you are missing something.
2.3 分析实践任务1
任务:分析一个自制恶意代码样本rada
(1)使用md5sum命令计算RaDa.exe的md5值,其值为caaa6985a43225a0b3add54f44a0d4c7,如图:(2)其次运行脱壳后的RaDa_unpacked.exe,同时打开process explorer监听并分析该恶意代码的目的:

上图中不难看出,程序首先访问了10.10.10.10的网站RaDa_commands.html,并将文件下载到C:\RaDa\tmp目录下;其次,该程序还进行了DDos攻击,对注册表进行读写删除等操作;同时该程序还在主机进行了下载、上传、截图、休眠等操作。
(3)识别并说明这个二进制文件所具有的不同特性;
答:通过上述分析,发现该程序启动后可以自我复制到C盘下,留下后门。同时修改注册表自启动项,并且会启动DDos攻击。
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
答:程序通过UPX加壳的方式对程序的机器指令进行了保护,有效阻止对程序的反汇编分析。
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由。
答:查询资料可知,病毒和蠕虫都可以传播和自我复制,而通过之前的分析,不难发现该样本没有这些特征,反而通过加壳可绕过安全防护,阻止对其的反汇编分析,因此更像是一个后门。
(6)给出过去已有的具有相似功能的其他工具
答:Bobax–它是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令。
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
答:可以,使用命令:Rada.exe --authors在命令行中查询即可。

2.4 分析实践任务2
任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。
回答问题:
1.IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
答:IRC(Internet Relay Chat)是一种实时的互联网聊天协议,基于TCP和SSL协议,允许用户通过 IRC 客户端在 IRC 网络上进行即时通讯。IRC 客户端通常用于加入 IRC 频道或与其他用户进行私聊。当IRC客户端申请加入一个IRC网络时,发送nickname。IRC一般使用端口 6665 至 6669,通常在6667端口监听。
2.僵尸网络是什么?僵尸网络通常用于什么?
答:僵尸网络( Botnet) 是指黑客采用一种或多种传播手段,将大量主机感染僵尸程序病毒,被感染的主机通过控制协议接收黑客的指令,从而在黑客和被感染主机之间所形成的可一对多控制的网络 。其通常用于发起各种各样的攻击行为,导致整个基础信息网络或者重要应用系统瘫痪,也可以造成大量机密或个人隐私泄漏。例如发动DDos攻击,挖矿等。
3.蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
使用wireshark打开学习通上下载的文件,使用过滤条件:ip.src ==172.16.134.191 &&tcp.port ==6667 || tcp.dstport ==6697,在这里主要是过滤目的IP主机为蜜罐主机的包。

从上图中不难发现,蜜罐主机分别和66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172和209.126.161.29这五个IRC服务器进行了通信。
4.在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
(1)使用指令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"对数据包进行分流,得到三个文件172.016.134.191.01152-209.196.044.172.06667、209.196.044.172.06667-172.016.134.191.01152、report.xml。
(2)使用如下命令获取访问以209.196.44.172为服务器的主机数量:5、那些IP地址被用于攻击蜜罐主机?
使用“ip.dst == 172.16.134.191”为过滤条件获得可能连接蜜罐主机的IP地址:

6、攻击者尝试攻击了那些安全漏洞?
我们可以分TCP和UDP两种端口来分析。
(1)使用以下命令筛选出蜜罐主机被攻击的TCP端口:

(2)使用以下命令筛选出蜜罐主机被攻击的UDP端口:

(3)先对TCP端口135分析,在wireshark中以ip.dst==172.16.134.191&&tcp.port==135为过滤条件,如下:不难看出,这里仅仅进行了三次握手的过程,估计只是判断端口开放情况。
(4)对TCP25端口进行分析,将过滤条件的端口改为25即可,如下:可以看出,也是进行三次握手的过程,大概率也是判断端口的开放情况。
(5)对TCP80端口进行分析,将过滤条件的端口改为80即可,如下:不难发现存在大量的填充数据,判断攻击者尝试利用80端口进行了缓冲区溢出攻击。
(6)对TCP139端口进行分析,将过滤条件的端口改为139即可,如下:通过分析,发现攻击者尝试建立连接但都收到了RST包的回复,RST包可用来拒绝一个非法的报文段或拒绝打开一个连接。
(7)继续分析445端口,如下:通过分析,发现有一个PSEXESVC.EXE,可知攻击者实现了远程操控的功能,攻击成功。

(8)继续对4899端口分析,如下:

查询资料可知,4899端口是一个远程控制软件(remote administrator)服务端监听的端口,具有远程控制功能,不算木马,一般杀毒软件没办法查出来。
7、那些攻击成功了?是如何成功的?
答:通过上面分析可知,通过445端口实现的攻击成功了,主要是植入了远程控制程序,实现远程控制。
3.学习中遇到的问题及解决

    问题:tcpflow无法使用
    问题解决方案:使用sudo apt install tcpflow命令进行下载
 

4.实践总结

通过本次实验,我熟练掌握了对恶意代码的分析,同时也掌握了IDA Pro工具的使用,尤其是在汇编语言这块。同时,这次实验涉及的知识点非常多,通过不断地查找资料,扩宽了自己的知识面,受益匪浅。

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值