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

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

时间:2024-11-07 17:59:22浏览次数:1  
标签:文件 exe 恶意代码 恶意软件 2024 2025 20222327 IRC 进行

一、实验内容

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

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

3.分析一个自制恶意代码样本rada,并撰写报告,回答问题

4.取证分析实践

二、实验过程

1.对恶意代码样本,进行文件类型识别,脱壳与字符串提取

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

首先对恶意代码进行初步分析,将文件下载后传入虚拟机中,执行file RaDa.exe命令

PE32 executable:这是一个PE(Portable Executable)格式的可执行文件,用于32位系统。PE格式是Windows操作系统上可执行文件的标准格式。

(GUI):这表明该文件是一个图形用户界面(GUI)应用程序,而不是一个控制台(命令行)应用程序。

Intel 80386:这表示该文件是为Intel 80386或更高版本的处理器编译的。80386是Intel的一款32位处理器,因此这个文件是为32位或更高版本的Windows系统设计的。

for MS Windows:这表示该文件是为Microsoft Windows操作系统设计的。

3 sections:这表示该文件在结构上被分为三个部分(节)。在PE文件中,节是文件的逻辑划分,通常包含代码、数据或资源等。

用PEiD进一步查看文件加壳类型

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

恶意代码脱壳前

使用超级巡警脱壳机脱壳后

从这里看和脱壳前相差不多我们继续往后看

从这里看已经能看到后面部分的乱码已经可读,但是没有看到作者是谁,脱壳好像成功了(应该)

但是事情出现了一些转机

这应该是作者的信息(maybe)

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

使用Process Explorer工具对RaDa_unpacked.exe进行分析

一眼盯真!!!!!

说明在(2)中找到的信息是正确的

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

首先将crackme1.exe、crakeme2.exe文件上传到虚拟机上,用file命令查看一下文件信息

由于两文件的基本信息相同,我们只进行一次分析

文件类型:PE32 executable (console) for MS Windows
目标平台:Intel 80386
文件结构:包含7个区段(sections)

使用命令行的方式试探出crackme1.exe的输入格式

可知该程序只需要一个输入参数,但是我们还是不知道需要输入什么参数才能让程序按照设定运行起来

现在利用IDA打开crackme1.exe,利用strings查看字符串


出现了两个特殊的字符串

“I know the secret”
“You know how to speak to programs, Mr.Reverse-Engineer”

推测这应该是程序作者设定的口令,此时我们用该口令进行实验

根据图片中的运行结果,测才程序应该是输入“I know the secret”之后输出“You know how to speak to programs, Mr.Reverse-Engineer”
接下来在IDA中查看该程序的函数调用图进行验证

由图可知,问题的关键在于找到sub_1280并查看其逻辑图

由逻辑图可知函数逻辑如下图所示

接下来分析crakeme2.exe

首先还是用IDA pro打开该可执行文件


口令应该就在这些字符串当中,接下来用Function Call进行分析

由图可知,问题的关键还是在sub_401280中

打开sub_401280的流程图进行分析

由流程图可知程序逻辑如下图

接下来进行验证

由上图可知结果正确

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

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

首先提取RaDa.exe摘要的提取md5sum rada.exe

同时结合文件信息作为当前文件的识别信息

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

运行RaDa_unpacked.exe并在Process Explorer中查看strings

可以看出,在运行该文件时

会向http://10.10.10.10/RaDa发送请求,连接RaDa_commands.html进行上传或下载,放入文件C:\RaDa\tmp
在C盘创建文件夹C:/RaDa/tmp;
将文件rada.exe复制到C:\RaDa\bin;
对主机的注册表进行了读写和删除操作;
进行截屏、休眠等操作



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

运行会对注册表进行读写和删除操作
能控制主机进行get、put、screenshot、sleep命令
运行时会进行复制
可以通过修改注册表使程序开机自启动
程序启动之后将自己复制到c盘中,并且与10.10.10.10连接,将传输的文件保存到c盘中

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

该文件通过UPX加壳,导致在去壳之前使用strings查看时只能看到乱码,但是去壳之后可以看见一些有效的信息

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

应该是一种后门程序,原因如下:

它不会自主传播、复制

它没有进行伪装来获取权限

它可以获得控制权限并开机自启动,并通过加壳进行伪装

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

与在实验二中通过msfvenom生成的后门程序具有性质类似的功能

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

可以通过(2)中的步骤查看(即运行RaDa_unpacked.exe后打开ProcessExplorer)

(8)给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。

检测恶意软件是网络安全领域的重要任务,以下是五种常见的恶意软件检测方法,每种方法都进行了详细介绍:

基于特征码的方法

基于特征码的检测技术,是通过对恶意代码的文本内容进行分析,提取二进制、字符串、字节序列、文件名等特征,将这些特征码存入特征库。当检测样本时,通过扫描样本的相关特征和特征库进行匹配,若有匹配的特征则判定该样本与匹配的为同一类型的恶意样本。

优点:这种方法比较简单并且检测速度较快。

缺点:特征提取很难自动完成,需要该领域专家人工判断;只能检测已有恶意代码,难以应对未知威胁;特征库往往泛化能力不足,容易受到利用混淆技术产生的多态恶意程序和变形恶意程序干扰。

静态分析法

静态分析不需要执行代码,一般利用被分析文件的字节特征对代码进行评判,具体特征包括文件结构信息、程序字符串常量、调用函数等,更深层次的会反汇编二进制文件以得到文件指令等信息。

实现方式:
特征检测法:基于特征码的检测技术是静态分析检测技术的一种。
完整性校验:通过对程序文件的完整性进行校验来检测是否被篡改或植入恶意代码。
反编译分析:对二进制文件进行反编译,分析指令和代码结构来识别恶意行为。
优点:静态分析可以准确地捕捉到恶意软件的静态特征,且不需要运行恶意软件,因此相对安全。
缺点:由于特征类型单一,混淆或加壳等技术可以让恶意软件逃过检测,使得检测效果下降。

动态分析法

动态分析是在被分析程序运行的情况下,通过监控记录运行状态和行为,从中抽取动态特征进行检测和分类的方法。

实现方式:
沙箱检测法:在仿真的系统环境下运行恶意软件,监控其行为,如文件操作、网络活动、系统调用等。
行为日志分析:记录恶意软件运行时的行为日志,并进行分析。
优点:动态分析具有更好的有效性和准确率,能够检测到恶意软件在运行时的行为。
缺点:需要恶意软件完整运行,再进行判断,所以恶意软件的检测时效性较差;且对待分析程序缺乏全局认识,通常仅关注程序运行时的小部分行为。此外,攻击者可能让恶意软件避开检测。

启发式检测方法

启发式检测方法是一种发现分析、学习和解决问题的方法,是基于规则估计或有根据的猜测来找到特定问题的解决方案。启发式检测技术一般特指静态启发式检测技术,通过对文件的API调用、操作码(Opcode)、控制流图、动态链接库等特征进行分析,在此基础上反汇编病毒程序和可疑程序,进行基于程序的指令级代码分析,模拟跟踪代码执行的流程,与已知恶意软件活动的代码进行比较进行判别。
优点:能够发现一些基于特征码和静态分析难以检测的恶意软件。
缺点:可能受到恶意软件混淆技术的影响,且启发式规则的制定需要较高的专业知识和经验。

基于机器学习的方法

随着恶意软件的数量剧增,类型也逐渐变得多样和复杂,传统的技术显得效率不足。因此研究者逐渐趋向于使用机器学习技术,来应对恶意软件难以预测的变种和日益庞大的数量。
实现方式:
特征提取:从恶意软件中提取静态特征(如PE头特征、二进制内容特征等)和动态特征(如API调用特征、系统修改特征和网络行为特征等)。
模型训练:使用提取的特征集合训练机器学习模型,如支持向量机、随机森林、神经网络等。
检测与判定:将待检测的恶意样本进行特征提取,并送入已经训练完成的模型中,模型会自动判定测试样本的分类,是否属于恶意样本。

优点:能够自动适应恶意软件的变种和新型攻击方式,具有较高的准确性和灵活性。

缺点:需要大量的恶意软件样本和计算资源来进行模型训练和更新;且无关特征和噪声特征会影响模型的准确性。

四、取证分析实践

Windows 2000系统被攻破并加入僵尸网络

问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:

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

IRC是Internet Relay Chat的英文缩写,即互联网中继聊天。IRC允许任意的因特网用户之间做即时的交谈,是一种基于客户端-服务器模型的即时通讯协议。

当IRC客户端申请加入一个IRC网络时,它将发送一个特定的消息或命令给IRC服务器以请求加入某个频道或服务器。这个消息通常是一个JOIN命令,后面跟着想要加入的频道名称。例如,如果客户端想要加入名为“example”的频道,它可能会发送类似“JOIN #example”的命令给服务器。

IRC通常使用6667端口进行通信。但是并不是固定的,因为IRC服务器管理员可以根据需要更改服务器使用的端口号。因此,在连接到IRC服务器时,客户端需要知道服务器正在监听的正确端口号。

(2)僵尸网络是什么?僵尸网络通常用于什么?

:僵尸网络是由攻击者或网络犯罪分子通过恶意软件感染数千乃至数百万台计算机和接入互联网的设备而构成的网络,这些被感染的计算机被称为“僵尸计算机”,它们受控于一个或多个控制中心。

僵尸网络被网络犯罪分子广泛用于各种恶意活动,包括:分布式拒绝服务(DDoS)攻击,发送垃圾邮件,网络钓鱼攻击,窃取敏感信息,广告点击欺诈等

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

将botnet_pcap_file.dat文件拖入wireshark:

输入ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697进行过滤

查看Destination一列,发现一共出现过5台IRC服务器:66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172、209.126.161.29。

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

首先使用命令sudo apt install tcpflowsudo apt install tcpflow-nox安装tcpflow


使用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三个文件

先执行export LC_COLLATE='C'export LC_CTYPE='C'避免字符编码导致计数不准确的问题

通过命令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查看多少个主机访问了僵尸网络

所以有3457个主机访问了僵尸网络

(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 > 2.txt;wc -l 2.txt

将所有的IP获取到一个.txt文件中

以上就是所有用于攻击的IP

共有165个IP

(6)攻击者尝试攻击了那些安全漏洞?

先查看一下botnet_pcap_file.dat文件snort -r botnet_pcap_file.dat

由于大部分是tcp包,所以先筛选一下TCP包
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响应端口为135、139、25、445、4899、80
再筛选一下UDP包

UDP响应端口为137

在wireshark打开botnet_pcap_file.dat,查看135、25端口(tcp.dstport == 135 || tcp.dstport == 25)&& ip.dst == 172.16.134.191

可见端口25和135仅仅进行了TCP三次握手,并没有数据交换
接下来查看139端口tcp.dstport==139 && ip.dst == 172.16.134.191

139端口也没有进行数据交换
接下来查看445端口tcp.dstport==445 && ip.dst == 172.16.134.191可以发现PSEXESVC.EXE

现在我们查看从蜜罐发往攻击主机的数据包,现在我们把过滤设置为ip.dst==61.111.101.78

找到了Acceptance,且数据包中找到了\PIPE\lsass,攻击者可以进行远程调用访问和管理权限
接下来查看4899端口tcp.dstport==4899 && ip.dst == 172.16.134.191

也只是连接但没有数据交换
现在查看80端口tcp.dstport==80 && ip.dst == 172.16.134.191

可以看到向蜜罐发送了CCCCCCCCCCCCCCCCCCCCCCCCCCC,是缓冲区溢出攻击

还用脚本进行攻击

发现蠕虫c:\notworm

现在查看UDP的137端口udp.port==137 && ip.src == 172.16.134.191

(7)那些攻击成功了?是如何成功的?

根据(6)中的截图和分析得出

攻击成功的端口为:80和4489
没有攻击行为的端口为:135,137,25,445和139

三、问题及解决方案

  • 问题1:在Windows的powershell中输入file命令提示'file' 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • 问题1解决方案:经过查找资料发现在Windows环境下运行还要进行安装,所以我将相关文件传到虚拟机上,用linux系统上原汁原味的file命令进行操作

四、学习感悟、思考等

在这次的实验中我又用到了很多很新鲜的工具,IDA Pro不仅可以将程序进行反汇编,同时也是一个功能强大的静态分析工具,可以清楚的了解一个未知程序的运行逻辑,也能清楚的弄明白当前的未知程序作者是怎么设置的输入和输出还有其他在实验中用到的脱壳工具等,让我明白了一个高效的、强大的工具在实际的生活学习中有多么的重要;同时也让我深刻的了解了恶意代码进行恶意行为的逻辑以及我们应该从什么角度来卸下这些恶意代码的伪装,识别他们真正的面目。

标签:文件,exe,恶意代码,恶意软件,2024,2025,20222327,IRC,进行
From: https://www.cnblogs.com/qgomlxg/p/18533126

相关文章

  • 多校A层冲刺NOIP2024模拟赛19
    多校A层冲刺NOIP2024模拟赛19\(T1\)A.图书管理(book)\(90pts/90pts\)部分分\(90pts\):平衡树/线段树、主席树上二分/对顶堆暴力维护中位数,同luoguP3871[TJOI2010]中位数|luoguP1168中位数,时间复杂度为\(O(n^{2}\logn)\),需要适当卡常。点击查看代码in......
  • 2025年上半年软考高级科目有哪些?附选科指南
    新手在准备报考软考时,都会遇到这样的一个问题——科目这么多,我适合考什么?2025上半年软考高级有哪些科目可以报考?要想知道自己适合报什么科目,就需要了解每个科目是什么,考什么等一系列的问题,接着往下看2025年上半年,预计将有以下科目开考:1、信息系统项目管理师:信息系统项目管......
  • 2024 nature| 基于motif(模体)的药物相互作用预测——采用局部和全局自注意力机制
    【声明:本文是采用模体结构和注意力机制进药物作用预测,抽象到理论可以看作在复杂网络上进行模体和结构的链路预测。文章出处如下】论文出处:https://www.nature.com/articles/s42256-024-00888-61.摘要:药物-药物相互作用(DDIs)是制药研究和临床应用中的重要问题,因为它们可能......
  • 图解析网络【Published as a conference paper at ICLR 2024】
    【文章来源:https://arxiv.org/pdf/2402.14393】摘要motivation:图池是建立在GNN之上的。它旨在通过将一组节点及其底层结构压缩为更简洁的表示来捕获图级信息。早期的图池化方法,如mean,add或pool对图中的所有节点执行排列不变操作。这些平面池化方法忽略了节点之间的区别,无......
  • 第四届大数据经济与数字化管理国际学术会议(BDEDM 2025)
    20254th InternationalConferenceon BigDataEconomyandDigitalManagement第四届大数据经济与数字化管理国际学术会议(BDEDM2025)基本信息大会官网:www.bdedm.net 【点击参会/投稿/了解会议详情】 大会时间:2025年1月3-5日大会地点:中国天津截稿时间:以官网信息......
  • #C. [GESP202409 三级] 平衡序列 核桃GESP考三级
    所以要从题目出发,优化代码思路是:1、前缀和,算出来累加和。2、通过tot*2==sum,判断是不是有相等的值。这个是数学上的优化。原错误的代码思路include<bits/stdc++.h>usingnamespacestd;intn;intmain(){  cin>>n;  for(inti=1;i<=n;i++)  { ......
  • #D. [GESP202409 三级] 回文拼接 核桃GESP考三级
    https://oj.hetao101.com/d/contest_past/p/2069?tid=67076fb1c7a03d8a4628b276这个思路错了,怎么还给排序上了。正确解题这个是不涉及字符串操作的。这个是第二种做法,会涉及函数操作。原错误的代码include<bits/stdc++.h>usingnamespacestd;intn,t,a,b;intl[10......
  • 哈尔滨华时信息技术有限公司2025年发展前景怎么样
    哈尔滨华时信息技术有限公司,作为信息技术领域的佼佼者,近年来凭借其在4G和5G网络规划、建设和优化方面的卓越表现,以及对人工智能、大数据、云计算等前沿技术的不断探索,已经在行业内建立了良好的口碑和品牌影响力。展望2025年,华时信息技术公司的发展前景依然广阔,且充满机遇和挑战......
  • Z-Library入口网站/最新官方国内可用地址(2024持续更新)
    Z-Library,作为全球最大的数字图书馆之一,提供了一个丰富的知识资源库,包括大量的电子书和学术文章。以下是对Z-Library的详细介绍和一些实用的信息。Z-Library数字图书馆简介藏书量:Z-Library拥有超过9,826,996本电子书和84,837,646篇期刊文章,覆盖了从文学、理工学科到人文艺术......
  • 2024-2025-1 20241401 《计算机基础与程序设计》 第七周学习总结
    班级链接2024计算机基础与程序设计作业要求第七周作业作业目标①数组与链表②基于数组和基于链表实现数据结构③无序表与有序表④树⑤图⑥子程序与参数教材学习内容总结《计算机科学概论》第八章抽象数据类型:用于定义数据和对数据的操作,而不需要具体实......