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

news/2024/11/4 22:16:31/文章来源:https://www.cnblogs.com/dxh1459110526/p/18519909

1.实验内容

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

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

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

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

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

二、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.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)那些攻击成功了?是如何成功的?

2.实验过程

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

任务一:恶意代码文件类型标识、脱壳与字符串提取

kali虚拟机通过file 命令查看文件类型,这是微软 Windows平台、英特尔80386处理器的一个32位PE文件,并且是GUI文件;脱壳前有很多乱码
file RaDa.exe

Strings RaDa.exe

用PEID查看,发现用了UPX的压缩壳

超级巡警脱壳机脱壳

使用ida pro,可找到作者和时间

作者:

时间:

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

查看crackme1.exe函数调用关系,发现如果输入"I Know the secret“,则程序可以顺利执行,弹出“you know how to ”

同理分析crackme2.exe:

验证:

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

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

用MD5生成RaDa.exe的摘要信息

二进制文件的摘要及其他信息:caaa6985a43225a0b3add54f44a0d4c7,是Windows平台下32位的可执行文件,使用upx加壳

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

执行RaDa.exe,发现它改动开机自启动,并且将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下:

使用process explorer,查看脱壳后的rada程序的执行信息:

二进制文件的目的:生成文件,反弹连接到10.10.10.10,方便攻击者进行后续攻击。

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

可以修改系统,并且添加了注册表,实现了开机自启动
可以远程控制。运行远程连接被攻击者连接
可以控制桌面,并且可以进行读写删操作,使得计算机完全陷入攻击者的掌控当中,属于具有强大攻击性的恶意代码

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

(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由:
该程序并没有自主传播,也没有伪装成正常程序,因此它既不是病毒和蠕虫也不是木马,而是一个后门程序,绕过了安全性控制而获取对系统的访问权限。

(6)给出过去已有的具有相似功能的其他工具:
2013年Sercomm在一些采用其硬件的DSL网关被发现有后门后采取的做法。 这个后门被发现是厂商自己加进去的,利用32764端口进行远程访问。

(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
Raul siles和David Perze,2004。先脱壳,通过ida pro查看。

四、取证分析实践

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

①IRC(Internet Relay Chat)是一种即时通讯协议,允许用户通过互联网进行实时文本通信。它采用了分布式客户端/服务器模型,允许用户加入不同的聊天室(频道),进行私密对话或群聊。IRC最初由芬兰学生Jarkko Oikarinen于1988年创建,作为一个用于在互联网上实时交流的系统。
在IRC中,用户通过IRC客户端连接到IRC服务器,然后可以加入不同的聊天频道或者与其他用户进行私密对话。每个IRC服务器可以连接到其他IRC服务器,形成一个IRC网络,使得用户可以跨服务器进行通信。

②当IRC客户端连接到一个IRC网络时,通常会发送一条消息以建立连接和进行身份验证。这条消息一般为:

其中,各项的含义如下:
username:客户端用户的用户名,用于标识用户。
hostname:客户端的主机名,即客户端所在的计算机的主机名。
servername:客户端所连接的服务器名,即用户要加入的IRC服务器的名称。
realname:客户端用户的真实姓名,用于显示给其他用户。
这条消息的发送旨在建立与服务器的连接,并向服务器提供用户的身份信息,以便服务器对用户进行识别和授权。

③至于TCP端口,IRC一般使用TCP协议进行通信。标准的IRC端口是6667。在某些情况下,IRC网络可能会使用其他端口,但通常情况下,客户端连接到服务器时会使用6667端口。如果服务器使用不同的端口,客户端需要在连接时指定该端口。
总之,IRC是一种通过互联网进行实时文本通信的协议,用户可以通过客户端加入不同的聊天频道或与其他用户进行交流。在连接时,客户端会发送特定的消息以建立连接和进行身份验证,而通信则通常使用TCP端口6667。

IRC的特点是通过服务器中继与其他连接到这一服务器上的用户交流。注册时需要发送的消息有三种,分别是:口令,昵称和用户信息。格式如下:USER 、PASS 、NICK 。注册完成后,客户端就使用JOIN信息来加入频道,格式如下:JOIN 。

IRC服务器明文传输通常在6667端口监听,也会使用6660—6669端口。SSL加密传输在6697端口。

2、僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络是指攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络,通常被黑客用来发起大规模的网络攻击,如DDoS、海量垃圾邮件等。

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

①蜜罐(Honeypot)是一种安全机制,旨在诱使攻击者入侵、攻击或探测计算机系统、网络或应用程序,从而收集有关攻击者行为和策略的信息,以及提高对抗网络攻击的能力。蜜罐通常是一个看似有漏洞或价值的系统、网络或应用程序,但实际上是由安全专家部署和监控的虚拟或实体资源。攻击者可能会对蜜罐进行攻击,试图入侵、获取权限或进行其他恶意活动,而安全团队则可以监视并分析这些攻击行为。

②用wireshark打开botnet_pcap_file.dat文件,设置过滤条件“ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697”,得到如下结果:

经过分析,可以得出,蜜罐主机与如下的服务器进行通信:

209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172

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

在kali虚拟机安装tcpflow,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667",查看report.xml,找到ip,端口,通信时间等信息(没有tcpflow的需要先用命令apt-get install tcpflow进行安装)

在kali虚拟机安装tcpflow,使用命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667,查看report.xml,找到ip,端口,通信时间等信息

使用命令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,发现3461台主机访问过这台服务器所在的僵尸网络。

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 > ipaddr.txt;wc -l ipaddr.txt查看用于攻击蜜罐主机的ip

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

使用Wireshark打开数据源botnet_pcap_file.dat,选择“统计”→“协议分级”,可以看到TCP数据包占99.7%,UDP包只占0.3%,非常少

筛选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进行筛选

筛选UDP端口:

tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq //对UDP进行筛选

7.哪些攻击成功了?是如何成功的?

我们分别对TCP的各个端口使用Wireshark进行抓包分析,得到以下的结果。

查看25和135端口:

(tcp.dstport == 135 || tcp.dstport == 25)&& ip.dst == 172.16.134.191

135端口:只有连接,无数据交互
25端口:[FIN ACK],很多重传,并且长度都是0,应该是没有成功

查看80端口:

tcp.dstport==80 && ip.dst == 172.16.134.191

80端口:发现缓冲区溢出攻击及蠕虫

查看139端口:

tcp.dstport==139 && ip.dst == 172.16.134.191

139端口:大部分是普通连接

查看445端口:

tcp.dstport==445 && ip.dst == 172.16.134.191

445端口:发现PSEXESVC.EXE,查找资料发现这是一种Dv1dr32蠕虫,说明在进行蠕虫攻击,并且返回信息中含有\PIPE\ntsvcs,这是一个远程调用,因此推断攻击者获得了权限,攻击成功的

查看4899端口:

tcp.dstport==4899 && ip.dst == 172.16.134.191

4899端口:是远程控制工具Radmin的监听端口,不是木马但可能是攻击者攻击成功后装来方便控制,只有210.22.204.101访问

缓冲区溢出攻击攻击和PSEXESVC蠕虫攻击没成功:返回css http/1.1

SVCCTL服务漏洞成功:返回\PIPE\ntsvcs

3.问题及解决方案

  • 问题1:虚拟机始终没网,apt更新不了

  • 问题1解决方案:在同学的帮助下更改了一下虚拟机设置

  • 问题2:tcpflow和snort命令都用不了

  • 问题2解决方案:都需要先安装对应包

  • 问题3:在控制台运行crackme2.exe "I know the secret"是,会提示I have an identity problem.

  • 问题3解决方案:复制一个crackme2.exe文件,重命名为crackmeplease.exe ,然后运行crackmeplease.exe "I know the secret",即可得到正确结果。

4.学习感悟、思考等

经过这一系列复杂的恶意代码分析与取证分析实践,我深刻体会到了信息安全领域的重要性和挑战性。从识别恶意代码的文件类型到深入剖析其内部机制,每一步都需要严谨的态度和扎实的专业知识。同时,通过IDA Pro等工具进行静态和动态分析,我学会了如何寻找特定输入以触发恶意行为。此外,取证分析实践也让我对网络安全事件有了更深入的理解。这次实验不仅锻炼了我的技术能力,更培养了我面对复杂问题的分析和解决能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/826831.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何计算并联谐振电路中电感和电容的电流

(附:可以验证一下电容的容抗计算,假设在1kHz(其他频率电容值会变)时计算470uF的容抗为2x3.14x10^3 x470x10^-6约等于0.339欧)

C# windos服务的安装与卸载

注:需要使用管理员权限打开 使用命令窗口安装服务使用命令窗口卸载服务 使用 PowerShell安装服务 与命令窗口区别在于需要加上 ./ 卸载也是如此

【GiraKoo】WSLg,x11下鼠标显示超大问题对策

WSLg,x11下,显示鼠标尺寸过大的问题【GiraKoo】WSLg下鼠标显示超大问题对策 环境Windows 10,11 WSLg x11 4K显示屏现象在wslg下,打开Android Studio客户端,鼠标显示过大。原因 从环境猜测,应当是x11转发导致的问题。 对策在~/.bashrc中添加以下内容:export XCURSOR_SIZE=2…

CSP-J2024扑克牌

#include <bits/stdc++.h> using namespace std; int main() {int n;map<string,int> a;string x;cin>>n;int sum = 0;for(int i = 1;i<=n;i++){cin>>x;if(a[x]==0){sum++;}a[x]++;}cout<<52-sum;return 0; }

基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现十

三、系统部分功能描述小区信息控制器Controller、角色信息控制器Controller、系统登录首页信息控制器Controller、后台用户信息控制器Controller一、前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式…

烟尘监测识别系统

烟尘监测识别系统基于先进的AI机器视觉技术,烟尘监测识别系统通过现场已有的监控摄像头对可能发生露天焚烧的重点区域进行实时监测。一旦监测到烟尘,系统将立即触发告警,提醒相关人员及时处理。这一系统的应用,可以有效预防严重的火灾事件,降低火灾事故发生的概率,保护人…

视频监控人员违规系统

视频监控人员违规系统采用先进的AI算法,视频监控人员违规系统对工人的操作行为进行实时监控与智能分析。该系统利用高精度的图像识别技术,能够捕捉到工人手臂和手部的细微动作,通过与预设的标准操作流程进行比对,一旦发现操作不当或违规行为,系统将立即发出警报,提醒管理…

轻工学报

《轻工学报》(CN 41-1437/TS,ISSN 2096-1553)是河南省教育厅主管、郑州轻工业大学主办、在轻工行业有较大影响力的学术刊物。本刊创刊于1986年,原名《郑州轻工业学院学报》,2012年更名为《郑州轻工业学院学报(自然科学版)》,2016年更名为《轻工学报》。本刊为双月刊,逢…

【蓝队】规则系列: 反混淆/解码行为检测

原创 DarkLuke SecLink安全空间免责申明 本文提到的检测规则仅供学习和讨论使用。我们提供的示例规则和指导并不构成任何形式的正式建议或解决方案。由于每个企业的安全环境和需求都存在差异,我们强烈建议企业根据自身实际情况和环境对这些规则进行针对性修改和充分测试,以确…

mapreduce流程

* 客户端通过hadoop fs -put/bigdata命令 将元数据切分成块存放在HDFS上,且每一个块我们给大小128M* 之后我们将每一个block块通过逻辑切片,切成一个个split()切片,一般,我们的默认切片大小跟block块保持一致,如果我们读到最后一个block块,与前一个block块组合起来的大小…

git 仓库版本管理

选择微信Git 在微信官方平台创建git仓库 相关命令提交首次提交使用 git push -u origin master开发者工具可选择手动提交进行相关操作

“双11”背后:有内容的货架才是未来的货架

消费者想轻松愉悦享受购物的过程;商家希望好货有好出口,找到生意的增量;平台希望消费者买得开心,不仅价格好还要体验好。 今年抖音商城双11活动启动很早,截至10月20日,抖音商城整体GMV同比增长91%,搜索GMV增长77%,商品卡GMV增长64%,超10000个品牌成交同比翻倍:货架场…