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

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

时间:2024-11-05 21:59:39浏览次数:3  
标签:exe rada 攻击 恶意代码 网络 2024 2025 20222417 IRC

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

标签:exe,rada,攻击,恶意代码,网络,2024,2025,20222417,IRC
From: https://www.cnblogs.com/123ywx12323/p/18524389

相关文章

  • .NET周刊【11月第1期 2024-11-03】
    国内文章.NET9AOT的突破-支持老旧Win7与XP环境https://www.cnblogs.com/lsq6/p/18519287.NET9引入了AOT支持,使得应用程序能够在编译时优化,以在老旧Windows系统上运行。这项技术通过静态编译,消除运行时的JIT编译,加速程序执行。尽管Windows7和XP已不再主流,它们......
  • CSP-S2024 山 西 迷 惑 行 为 大 赏
    前作CE之家A人叉叉人丢饭碗的车万人万事开头难人定义头文件人透气人逆行人系统治疗人多系统治疗人windows操作系统单推人缺失符号人转义人读入分号人零个小于人一个小于......
  • CSP2024 - J/S 年度总结大会报告
    CSP2024-J/S年度总结大会报告J组预估和总分都为:\(100+100+100+15=315.\)\(T_1,T_2\)还挺弱智的,就是没有\(15\min\)内\(A\)掉。\(T_3\)想了\(1h\)的完全背包做法加上\(1h\)的调试,真的慢(本质是对于\(dp\)没有深刻理解)。\(T_4\)是一个\(dp\),考场上没有想出来......
  • P10764 [BalticOI 2024] Wall
    更好的阅读体验首先可以枚举一个位置的水量\(w\),求\(c_{w}\)表示其方案数,答案为\(\sumc_{w}\)。那么可以设\(c_{i,j}\)表示位置\(i\)水量\(\gej\)的方案数,答案为\(\sumc_{i,j}\)。一个位置\(i\),墙高为\(a_i\),要求其有至少\(j\)单位的水,那么左右的\(\maxh\)......
  • CSP2024 前集训:NOIP2024加赛 1
    前言赛时本来rk3,赛后自己加hack卡自己于是成rk4了。因为这场是假做法大战,T1假贪心有\(92pts\);T2\(O(n^2m)\)能过(是因为数据里\(m\le10\));T3相当抽象,赛时我打的爆搜只加了一个剪枝能得\(70pts\),赛后发现无解的时候会跑满,于是提前判掉无解就过了甚至最优解\(30ms\)......
  • 2024年深受用户喜爱的桌面工作安排软件——6款工具精选
    一、引言在当今数字化办公时代,桌面工作安排软件已成为提升工作效率和组织管理能力的关键工具。该类软件通过集成日历、任务管理和项目管理功能,为用户提供了一个清晰、有序的工作规划平台,使得日常工作中的复杂性和不确定性得以有效转化和管理。它们的核心价值在于,能够协助用户......
  • HTC Vive SDK:空间定位与追踪技术教程_2024-07-26_09-12-46.Tex
    HTCViveSDK:空间定位与追踪技术教程HTCViveSDK概览HTCViveSDK(SoftwareDevelopmentKit)是为开发者提供的一套工具和API,用于创建与HTCVive虚拟现实头盔兼容的应用程序。该SDK的核心功能之一是空间定位与追踪技术,它允许开发者在虚拟环境中精确地追踪用户的头部和手部......
  • 2024年备受推荐的数据可视化平台——团队管理必备利器
    一、引言在当今数字化飞速发展的时代,数据已经成为企业和团队决策、管理以及运营的核心要素之一。然而,原始的数据往往是繁杂且晦涩难懂的,呈现为海量的数字、文本等形式,单纯依靠人工去解读和分析这些数据不仅效率低下,而且很难从中快速准确地提取出有价值的信息。这时候,数据可视......
  • HTC Vive SDK:手柄控制与输入技术教程_2024-07-26_09-21-37.Tex
    HTCViveSDK:手柄控制与输入技术教程HTCViveSDK概览SDK下载与安装在开始开发HTCVive虚拟现实应用之前,首先需要下载并安装HTCVive的SDK。以下是详细的步骤:访问官网:打开HTCVive的官方网站,找到开发者中心。下载SDK:在开发者中心页面,找到并下载适用于你操作系统的......
  • HTC Vive SDK:性能优化与测试技术教程_2024-07-26_09-39-02.Tex
    HTCViveSDK:性能优化与测试技术教程HTCViveSDK概览SDK主要组件介绍在开发HTCVive虚拟现实应用时,SDK(SoftwareDevelopmentKit)是不可或缺的工具包,它包含了创建高性能VR体验所需的各种组件和库。HTCViveSDK的核心组件包括:1.OpenVROpenVR是Valve开发的开源VR平台......