首页 > 其他分享 >20222401 2024-2025-1 《网络与系统攻防技术》实验四实验报告

20222401 2024-2025-1 《网络与系统攻防技术》实验四实验报告

时间:2024-11-03 17:41:50浏览次数:2  
标签:文件 exe RaDa 20222401 恶意代码 恶意软件 2024 2025 IRC

1.实验内容

1.1基本概念

1.1.1什么是恶意代码

首先,恶意代码是一串实现特定功能的代码,而特定功能在这里特指具有恶意目的的功能实现,可以理解为按照攻击者的意愿进行运行的代码。
按照特征以及行为的不同,大概分为以下几类:

  • 计算机病毒
  • 蠕虫(病毒)
  • 后门
  • 木马
  • 僵尸网络
  • RootKit

1.1.2恶意代码分析技术

分为静态分析和动态分析两种方式。

  • 静态分析主要是分析诸如特征码,关键词等,或者是分析内部结构,运行逻辑等来判定代码段是否为恶意代码。
  • 动态分析是在可控的环境下运行未知代码,然后观察行为是否满足恶意代码的要求。

1.2实验内容

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

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

  1. 使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
  2. 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
  3. 使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

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

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

  1. 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
  2. 找出并解释这个二进制文件的目的;
  3. 识别并说明这个二进制文件所具有的不同特性;
  4. 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
  5. 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
  6. 给出过去已有的具有相似功能的其他工具;
  7. 可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
  8. 给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。

1.2.4取证分析实践

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

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

2.1.1文件格式和类型识别

基础的解压操作和文件导入省略。
首先,我们输入下列命令

file RaDa.exe

image


这个结果告诉我们,RaDa.exe 是一个PE格式的32位可执行文件,有GUI界面,基于Intel 80386处理器,可以直接在Windows操作系统上运行,包含三个节。
接下来输入以下命令:

binwalk RaDa.exe

image


没有更多的可用信息,剩下的信息需要我们脱壳才能看到。

2.1.2脱壳处理

使用脱壳软件对RaDa.exe进行脱壳,得到RaDa_unpacked.exe
image

2.1.3文件分析

接下来把这个文件放到IDA中进行分析。
image


我们可以看清楚的看到作者的名字是Raul SilesDavid Perez,时间是2004年9月

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

将crackme1.exe安放在kali以及Windows的过程就省略了,只要保证路径正确就行。
首先在kali中使用file命令来查看基本信息(上面用过)
image


很明显,这个是一个32位的Windows程序,我的电脑虽然是64位的,但是也兼容32位程序。
接下来,我们在IDA中打开程序的反汇编。
image


我自己没看懂反汇编和运行逻辑,但是我们可以根据函数名进行猜测。由于在前期的运行中,I think you are missing something.Pardon? What did you say?均已出现,那么我们有理由认定剩下的两句是我们要找的东西。再根据语义,我们猜测I know the secret是我们需要的参数,下面进行验证。
image


验证成功,同理,我们也可以得出第二个程序的口令是crackmeplease.exe "I know the secret"
image


2.3分析一个自制恶意代码样本rada

2.3.1基础分析

首先运行ProcessExplorer中看到已经存在的软件。
image


然后运行脱壳之后的rada.exe,弹出提示框之后不要点确定。
image


然后就可以在ProcessExplorer中看到已经存在的rada.exe进程了。

image


然后我们点击右上角的Strings,就会出现下面的文字
image


这个程序的攻击流程如下:
首先,该程序利用HTTP协议连接到指定的网页(10.10.10.10/RaDa/RaDa_commands.html),可能是为了下载恶意软件组件或接收远程指令。通过cgi-bin目录下的download.cgi和upload.cgi脚本,程序能够下载并上传文件,这表明它具有一定的网络通信和文件操作能力。
接着,程序在目标主机的C盘中创建一个名为C:/RaDa/tmp的文件夹,用于存放临时文件或恶意软件组件。同时,它将RaDa.exe文件复制到C:\RaDa\bin目录中,这是恶意软件的主要可执行文件。
为了确保恶意软件能够在系统启动时自动运行,程序添加了一个注册表项:HKLM\Software\Microsoft\Windows\CurrentVersion\Run\。通过将RaDa.exe的路径添加到该注册表项中,恶意软件能够在Windows启动时自动执行。
此外,程序还添加了一个与VMware Tools相关的注册表项:HKLM\Software\VMware, Inc.\VMware Tools\InstallPath。
除了上述操作外,该程序还具有执行DDoS攻击的能力。通过利用特定的网络协议和漏洞,程序可以发动分布式拒绝服务攻击,导致目标系统瘫痪或无法访问。

2.3.2补充说明

  1. 识别并说明这个二进制文件所具有的不同特性
    这个文件能够修改注册表,复制文件到C盘,实现远程控制以及DDoS攻击。
  2. 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
    这个文件采用了UPX加壳,尽管我们已经对文件进行过脱壳,但是还是存在很多乱码。
  3. 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由
    这个样本是典型的后门程序。从最终的目的来看,样本就是要获取本机的控制权限。
  4. 给出过去已有的具有相似功能的其他工具
    msfvenom,之前用来做监听的。
  5. 可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
    没有问题,我们在前面的实践中就已经得到作者的名字了。但是前提是要对文件进行脱壳,这样才能看到作者的名字。
  6. 给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。
  • 基于特征码的检测方法
    特征码检测是一种通过扫描文件内容,查找与已知恶意软件样本中特有的字符串或代码片段(即特征码)相匹配的方法。通过提取恶意软件样本中的独特字符串,如“RaDa”、“RaDa.exe”、“C:\RaDa\bin”等作为特征码,并利用现有的安全软件,如杀毒软件,将这些特征码加入其数据库中。当安全软件扫描系统文件时,若检测到与特征码匹配的内容,则判定为恶意软件。
  • 基于行为分析的检测方法
    行为分析是通过监控和分析软件在运行过程中的行为,如文件操作、网络活动、进程创建等,来判断其是否为恶意软件。通过监控系统中所有进程的活动,特别是那些涉及创建、修改或删除关键系统文件(如C:\RaDa\目录及其子文件)的行为。此外也需要分析网络流量,寻找与10.10.10.10的HTTP通信,特别是下载和上传文件的活动,监控进程间通信,特别是那些与RaDa.exe进程相关的活动。
  • 基于网络流量的检测方法
    通过分析网络流量中的数据包内容,寻找与恶意软件通信相关的特征。利用网络监控工具,如入侵检测系统(IDS)或入侵防御系统(IPS),对进出网络的数据包进行实时分析。设置规则来匹配与RaDa恶意软件通信相关的HTTP请求和响应,如特定的URL路径(/RaDa/RaDa_commands.html)、文件上传和下载请求等。对可疑流量进行深度包检测(DPI),以进一步确认其是否为恶意软件通信。
  • 基于系统日志的检测方法
    通过分析系统日志,如Windows事件查看器中的日志,来寻找与恶意软件活动相关的痕迹。通过定期查看系统日志,特别是与安全相关的日志条目,如登录失败、文件访问异常等。搜索与RaDa恶意软件相关的日志条目,如C:\RaDa\目录的创建、修改或删除操作记录。分析进程创建和终止日志,查找与RaDa.exe相关的活动。
  • 基于沙箱环境的检测方法
    将未知或可疑软件放入一个隔离的虚拟环境中运行,以观察其行为并判断其是否为恶意软件。使用沙箱工具(如沙箱模拟器、虚拟机等)来运行RaDa恶意软件的样本或可疑文件。监控沙箱环境中的文件操作、网络活动、进程创建等行为。分析沙箱环境生成的报告,以确认软件是否为恶意软件及其具体行为。

2.4Windows 2000系统被攻破并加入僵尸网络的取证分析

2.4.1IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

IRC是一种网络聊天协议,允许用户通过因特网进行实时聊天。它基于TCP/IP协议,使用特定的端口进行通信,并支持多种聊天功能,如创建聊天室、发送和接收消息等。

当IRC客户端申请加入一个IRC网络时,它会发送一个特定的消息来请求连接到IRC服务器。这个消息通常包括客户端的标识信息、要连接的服务器地址和端口号等。具体的消息格式和内容可能因不同的IRC客户端和服务器实现而有所不同。在成功连接到服务器后,客户端还需要发送一系列的消息来注册用户、加入聊天室等。

IRC默认使用TCP端口6667进行通信。这是IRC协议的主要通讯端口,用于客户端与服务器之间的数据传输。如果端口6667被阻塞或无法使用,IRC客户端和服务器可能会尝试使用其他TCP端口进行连接。这些备用端口可能因不同的IRC网络和服务器配置而有所不同。

2.4.2僵尸网络是什么?僵尸网络通常用于什么?

僵尸网络是指由大量被恶意软件感染的计算机(Bots)组成的网络,这些计算机通常由一个或多个远程攻击者(Botmaster)控制。

僵尸网络的常见用途有DDoS攻击,发送垃圾邮件,加密货币挖矿,作为恶意软件的分发平台等。

2.4.3蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

使用wireshark打开botnet_pcap_file.dat文件。
设置过滤命令为ip.src == 172.16.134.191 && tcp.dstport == 6667
image


一共发现以下5个IP地址。

66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172
209.126.161.29

2.4.4在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

输入apt install tcpflow
image


然后把刚才的数据包文件拖入虚拟机,并输入以下命令

tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'

image


image


我们发现多了这三个文件。
接下来输入下列命令来获取访问该服务器的主机数量

cat 209.196.044.172.06667-172.016.134.191.01152 | grep --text "^: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

image


发现一共有3461个主机。

2.4.5哪些IP地址被用于攻击蜜罐主机?

输入下列命令来获取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 > ipaddr.txt;wc -l ipaddr.txt

image


然后输入下列命令查看文件情况

cat ipaddr.txt

image


2.4.6攻击者尝试攻击了那些安全漏洞?

主要是TCP和UDP的安全漏洞。

2.4.7那些攻击成功了?是如何成功的?

TCP端口下的445的蠕虫攻击是成功的。
输入tcp.dstport==445 && ip.dst == 172.16.134.191
image
可以观察到,数据包内含有一个名为PSEXESVC.EXE的文件。PsExec是Sysinternals Suite中的一个工具,由Mark Russinovich开发。该工具最初的设计目的是为系统管理员提供便利,使他们能够通过在远程主机上执行命令来完成维护任务。然而,由于其高度的便捷性,它后来被不法分子利用于内网渗透攻击中。具体来说,它被视为一种Dv1dr32蠕虫,且每个接入的IP地址返回的信息中都包含有“\PIPE\ntsvcs”。这里的“\Pipe\Ntsvcs”是一个命名管道,它作为服务控制管理器(SCM)与特定的服务控制进程(SCP)之间进行远程过程调用的接口。正是通过这一接口,攻击者成功实现了攻击。

3.问题及解决方案

4.学习感悟、思考等

经过本次实验,我对恶意代码的分析与取证有了更为深入的理解和实践经验。从最初的恶意代码文件类型识别、脱壳与字符串提取,到使用IDA Pro进行静态或动态分析,再到自制恶意代码样本的详细分析,每一步都让我感受到了信息安全领域的复杂性。
在使用IDA Pro进行静态或动态分析时,我感受到了逆向工程的魅力。尽管看不懂反汇编,但是通过仔细分析crackme1.exe和crackme2.exe,我还是逐渐找到了特定输入,使其能够输出成功信息。在取证分析实践中,我感受到了网络安全的重要性。通过对Snort收集的蜜罐主机网络数据源的分析,我了解了IRC、僵尸网络等网络攻击手段的基本概念和原理,并掌握了如何识别和分析网络攻击的方法。

参考资料

标签:文件,exe,RaDa,20222401,恶意代码,恶意软件,2024,2025,IRC
From: https://www.cnblogs.com/Orchidaceae/p/18519460

相关文章

  • 中国地质大学(武汉)2024年新生赛(同步赛)A - E(待完善)
    发现没几个人写这场比赛的题解,顺便给补题的人提供一点思路,故而火速出了这篇(不会都去打区域赛了吧,悲~)A点击查看代码voidsolve(){ intn; cin>>n; cout<<n-1<<'\n';}B模拟题根据题意:一、预约:考虑为0的情况:1.此时读者有书2.读者上次预约时间未超过d天其......
  • 2024-2025-1 20241314《计算机基础与程序设计》第六周学习总结
    学期(如2024-2025-1)20241314《计算机基础与程序设计》第六周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第六周作业这个作业的目标Polya如何解决问题简单类型与组合类型复合数据......
  • 2024-2025-1 20241421《计算机基础与程序设计》第6周学习总结
    这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276这个作业的目标 计算机科学概论(第七版)第7章《C语言程序设计》第5章**作业正文 **https://www.cnblogs.com/118qa/p/1852356......
  • 2024.11.3 鲜花
    浅谈RMQ비밀인형극II어느한적한마을골목안의허름한건물在某个僻静村庄胡同的破旧建筑里문을열고들어가면작은극장이있죠开门进去便会见到一个小剧场솜씨좋은인형사가연극을마치고떠나면一个手艺不错的人偶师演完戏离开的时候인형들은......
  • Adobe IC 下载与快捷键使用【2017-2024】
    目录一、AdobeIC功能介绍1.1强大的图像编辑能力1.2丰富的画笔与图层管理工具1.3模板库与高效协作二、AdobeIC下载与安装2.1下载2.2安装三、AdobeIC快捷键使用3.1基本编辑快捷键3.2视图与导航快捷键3.3协作与批注快捷键一、AdobeIC功能介绍1.1......
  • 第四次:2024年郑州马拉松赛事记
    目录第一次报名通道开启第二次通道开启完赛奖牌和参赛T恤官方召开新闻发布会参加赛事第一次报名通道开启时间回到了九月底,郑州马拉松官方公众号推送消息,报名通道9月27日开启,一致期待的郑马报名终于落地了。第一次抽签,系统推送消息,没有中签。官方通告信息显......