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

news/2024/12/25 14:01:16/文章来源:https://www.cnblogs.com/123ywx12323/p/18524389

1.实验内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.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使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
输入file RaDa.exe使用file命令确定文件格式,使用strings命令分析恶意代码样本。


使用strings命令对RaDa.exe进行分析后,没有得到有效的结果。这可能是因为该命令主要用于提取可打印的字符串,而在某些情况下,它可能无法提供有用的信息,特别是当文件被加密或包含大量非文本数据时。
在Windows主机中用PEiD工具查看RaDa.exe的信息,得到如下结果:

RaDa.exe是一个PE32格式的可执行文件,这意味着它是为Microsoft Windows操作系统设计的该文件是为Intel 80386处理器架构构建的,这是一种较早期的x86架构。RaDa.exe具有图形用户界面(GUI),这表明它包含窗口、菜单、按钮等可视化元素,供用户进行交互操作。
2.1.2使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理

获得了一个unpacked文件,即脱了压缩壳的文件。

脱壳后再使用strings命令对这个unpacked文件进行分析
最后找到作者:

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

发现作者为:Raui Siles和David Perez
2.2使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息
2.2.1分析crackme1.exe
依然使用file命令,与rada样本区别就是没有图形化界面。

在Windows主机运行crackme1.exe,并尝试猜测参数,如下

若是输入的参数为不为2个(crack.exe+一个参数),则会输出:I think you are missing something.
若是输入的参数为2个,则会输出:Pardon? What did you say?
在kali用string查看四段文字:

用IDA pro继续分析,查看strings模块如下

猜测“I know the secret”是关键参数,而第四句为相应的回答。
用Function calls查看函数调用过程
查看main函数,如下

双击Function中的main函数,点击 View ->Graphs->Flow chart
得到函数具体调用图如下

因此,猜测输入的参数应该是:crackme1.exe "I know the secret"
进行验证

2.2.2分析crackme2.exe
在kali中用'file'指令查看crackme2.exe,如下

终端上运行crackme2.exe

用IDA pro继续分析
查看strings模块如下

查看main函数的具体调用图,如下

猜测如下:
一是判断命令行参数个数是否为2→若是,则进入第二个判断;若否,则输出I think you are missing something.
二是判断运行的程序名称是否为crackplease.exe→若是,则进入第三个判断;若否,则输出I have an identity problem.
三是判断命令行第二个参数是否为"I know the secret"→若是,则输出We have a little secret: Chocolate;若否,则输出Pardon? What did you say?
进行验证
运行crackme2.exe

运行crackmeplease.exe

发现成功运行。
2.3分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
2.3.1提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息
在kail中使用MD5生成摘要:

2.3.2找出并解释这个二进制文件的目的
在PE explorer监听下,运行目标二进制文件


目的:通过HTTP协议向IP地址为10.10.10.10的服务器发起请求,目的是访问路径为“\RaDa\RaDa_commands.html”的页面,,同时在C盘创建“RaDa”文件夹并复制自身至其中,执行注册表读写操作以添加自启动项,具备执行截图、上传下载等指令的能力,并可能利用IE浏览器漏洞进行攻击,表现出明显的恶意软件特征,推测其用于DDoS攻击等恶意行为。
2.3.3识别并说明这个二进制文件所具有的不同特性
通过上一个问题可以知道,该二进制文件可以在执行时自动复制,来隐藏自己,并且可以通过修改注册表实现在每次系统启动时自动运行,通过IE浏览器请求页面并获得来自攻击者的指令,能够screenshot对别攻击者截屏,put和get上传和下载等获得隐私信息。
2.3.4识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
该程序利用UPX进行加壳,这不仅有助于减小文件体积,还可能在某些情况下隐藏代码细节。此外,程序中可能集成了虚拟机检测代码,能够识别是否在虚拟机环境中运行。例如,使用“--authors”参数时,程序在虚拟机中不输出结果,仅在物理机上显示,可能是因为程序检测到虚拟机特有的工具并采取措施隐藏作者信息。
2.3.5对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由
这个程序是一种后门程序,不具备病毒、蠕虫或木马的传播和伪装特性,而是通过隐蔽手段监控和窃取受害者计算机信息,即使受害者不知情,它也能在后台持续运行并向攻击者泄露敏感数据。
2.3.6给出过去已有的具有相似功能的其他工具
root kit:与上述后门程序相比,root kit技术更为高级,检测难度大,尤其在SunOS和Linux操作系统上。
2.3.7可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
可以。正如问题4中,可以使用--authors在主机环境下看到。

2.4取证分析实践
2.4.1IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC(Internet Relay Chat)是一种实时的互联网聊天协议,允许用户通过IRC客户端在IRC网络上进行即时通讯。当IRC客户端申请加入一个IRC网络时,会发送包括PASS(口令)、NICK(昵称)和USER(用户信息)等注册账户的消息,以及JOIN消息来加入频道。IRC一般使用的TCP端口包括6667(明文传输)和6697(SSL加密传输)。此外,IRC服务器也可能使用6660至6669之间的端口。
2.4.2僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络(Botnet)是由被恶意软件感染并被远程控制的计算机设备组成的网络。这些设备被称为“僵尸计算机”,它们在不知情的情况下被黑客控制,用于实施各种网络攻击和欺诈活动。僵尸网络通常用于以下目的:
分布式拒绝服务(DDoS)攻击:僵尸网络可以发起大规模的DDoS攻击,通过协调大量受感染设备的操作,用大量流量淹没目标服务器或网络基础设施,使合法用户无法访问目标。
垃圾邮件和电子邮件网络钓鱼:僵尸网络用于发送大量垃圾邮件,这些邮件可能包含不需要的广告、网络钓鱼尝试或受恶意软件感染的附件。
撞库和暴力攻击:僵尸网络可用于自动进行撞库攻击,尝试使用窃取的用户名和密码组合登录各种在线账户。暴力攻击是僵尸网络用来破解弱密码或常用密码的方法,即机器人系统地尝试所有可能的组合。
2.4.3蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
使用Wireshark打开botnetpcapfile.dat,过滤出所有源IP为172.16.134.191,目的端口为6667,TCP标志位为SYN(即0x02)的数据包。根据抓包结果,可以发现蜜罐主机尝试连接了4台IRC服务器,分别是:
209.126.161.29
66.33.65.58
63.241.174.144
209.196.44.172

2.4.4在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
下载tcpflow,tcpflow是一种网络监测工具,它通过监视网络流量,可以捕获发送和接收的TCP/IP数据包,并将它们重建为可以理解的数据流
tcpflow-r进行分析

查找有多少访问了以209.196.44.172为服务器的僵尸网络的主机

2.4.5哪些IP地址被用于攻击蜜罐主机?
使用tcpdump工具,使用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> 20222417.txt;wc -l 20222417.txt指令( tcpdump -nn见1.tcpdump介绍;cut -d '.' -f 10截取以'.'为分隔符的第10列;uniq检查并删除 文本文件中重复出现的行列;wc -l获得行数)。

共有165个IP地址

2.4.6攻击者尝试攻击了那些安全漏洞
看到TCP数据包占99.7%,UDP包只占0.3%

继续使用tcpdump工具,查看被扫描了的tcp和udp端口,并确定响应的端口
tcp:

udp:

查看TCP 135 25端口,发现正常连接,没有数据交换,不是攻击

查看TCP 139端口,发现基本上都是普通连接,没有传递具体会话内容

TCP 445端口相关的通信中,第33280号报文内能够观察到PSEXESVC.EXE,这实际上揭示了Dv1dr蠕虫的存在,它是一种通过IRC(互联网中继聊天)进行通信的恶意软件。Dv1dr蠕虫特别之处在于它是一种口令蠕虫,其感染机制在于利用其他电脑的弱口令。紧接着33280号报文之后,出现了来自主机的响应报文,这一迹象表明攻击已经取得成功,即蠕虫已经成功侵入了该主机,并且该主机已向服务器发送了响应,确认已被感染。

TCP4899端口,通过分析报文,可以发现攻击者成功地使用了Radmin远程控制软件,并且在攻击成功后对受控机进行了控制。这种攻击手段属于远程控制攻击,黑客通过远程控制工具控制受控机,进而实现窃取敏感信息、攻击其他网络等行为。

TCP80端口,发生了缓冲区溢出攻击和蠕虫攻击

UDP137端口,有大量NBNS数据包

3.问题及解决方案
问题1:使用Process Explorer无法查看rada.exe的信息
解决方案:运行Process Explorer要用管理员才有权限查看

4.学习感悟、思考等
通过这次实验,我不仅复习并深化了之前在信息安全保障技术课程中学到的Wireshark抓包分析技能,还掌握了更为进阶的恶意代码分析技术,包括但不限于恶意代码的脱壳处理、字符串提取以及函数调用分析。这些实践操作不仅让我将理论知识与实际操作紧密结合,还促使我对信息安全领域的理解迈向了一个新的高度。
实验过程中,我深刻体会到,网络安全攻防是一个既需要扎实理论基础又强调实践操作的领域。我运用了大量网络安全相关的命令和工具,以应对和分析不同类型的恶意代码攻击。这些工具的使用不仅提升了我的技术操作能力,也让我意识到,随着技术的不断进步,恶意代码的手段也日益复杂多变.

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

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

相关文章

Molecular Cellular Biomechanics

主要涉及生物力学领域,包括生物分子、细胞、组织和器官的力学研究。@目录一、征稿简介二、重要信息三、服务简述四、投稿须知 一、征稿简介二、重要信息期刊官网:https://ais.cn/u/3eEJNv三、服务简述 主要涉及生物力学领域,包括生物分子、细胞、组织和器官的力学研究。 四、…

.NET周刊【11月第1期 2024-11-03】

国内文章 .NET 9 AOT的突破 - 支持老旧Win7与XP环境 https://www.cnblogs.com/lsq6/p/18519287 .NET 9 引入了 AOT 支持,使得应用程序能够在编译时优化,以在老旧 Windows 系统上运行。这项技术通过静态编译,消除运行时的 JIT 编译,加速程序执行。尽管 Windows 7 和 XP 已不…

认识鸿蒙Context

Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用文件路径)、area(文件分区)等,以及应用的一些基本方法,例如createBundleContext()、getApplicationContext()等。UIAbility组件和…

鸿蒙项目实战(一):实现首页动态Tab

需求:存在n个tab页,支持动态设置显示指定某几个tab实现如下: 一、定义一个类,定义所有的tab页数据 知识点: 1、类使用export修饰,可以让其他模块引入 2、类内字段 设置 static readonly ,只读静态字段 3、图标文件存于src->main->resources->base->media目录…

关于注册登录注销的jsp实现

这是效果图 代码实现中的数据库建表连接,参考之前的博客, 这里写几个关键点的实现方法这里是添加了点击事件,有两个好处其一是两个图标一直了都是按钮,ui更加美观一点、其二是可以在函数部分添加弹窗比如先弹出登录成功的窗口再提交表单,在期中考试中有地方会用到这里是判…

用户注册案例--mvc架构的实现

用户注册案例--浅谈servlet 本案例为用户注册案例,同时介绍一部分之前经常用得到servlet的知识.servlet是javaEE的技术规范之一. 基于MCV架构的分析 1.dao层在mapper代理文件中写入insert的操作,对于成功注册的用户直接写入数据库,以及查询操作判断用户名是否已经存在User getU…

CSP2024 前集训:NOIP2024加赛 1

前言赛时本来 rk3,赛后自己加 hack 卡自己于是成 rk4 了。 因为这场是假做法大战,T1 假贪心有 \(92pts\);T2 \(O(n^2m)\) 能过(是因为数据里 \(m\le 10\)); T3 相当抽象,赛时我打的爆搜只加了一个剪枝能得 \(70pts\),赛后发现无解的时候会跑满,于是提前判掉无解就过了…

AI辅助动画制作,现实到虚拟仅需要一个摄像头。多种AI技术融合赋能传统行业,或是产业趋势?

AI辅助动画制作,现实到虚拟仅需要一个摄像头。图源:youtube authour autodesk media & entertainment 不是元宇宙,是动画。 2024年10.30日。美国加利福尼亚公司 Wonder dynamic 发布了最新的产品视频。只需要一个摄像头,我们可以把所有的一切搬到虚拟世界。此产品利用多…

chapter14

第一题问题首先,编写一个名为 null.c 的简单程序,它创建一个指向整数的指针,将其设置为NULL,然后尝试对其进行释放内存操作。把它编译成一个名为 null 的可执行文件。当你运行这个程序时会发生什么?自己写的输出如下:无任何输出或错误提示。 第二题问题接下来,编译该程序…

0XGAME [Week 3] 重生之我在南邮当CTF大王

0XGAME [Week 3] 重生之我在南邮当CTF大王 新尝试:源文件找线索;新知识:兽音加密 下载是个游戏和源代码,玩了以下,感觉答对问题也是可以得到flag,但是感觉耗时,而且应该有藏flag的地方,在一堆文件里面找,data文件夹里面的4个地图json文件,进去发现了flag字眼是个2,那…

sentinel微服务限流

sentinel(微服务限流) 官网地址:https://sentinelguard.io/zh-cn/ 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是由阿里巴巴开源的一款流量防护组件,Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 微服…

RabbitMQ工作模式

RabbitMQ工作模式RabbitMQ提供了多种工作模式:简单模式,work模式 ,Publish/Subscribe发布与订阅模式,Routing路由模式,Topics主题模式等官网对应模式介绍:https://www.rabbitmq.com/getstarted.html 1、简单模式 生产者直接发送消息到队列上(虽然没有指明使用交换机,但是…