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

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

时间:2024-11-09 10:31:29浏览次数:1  
标签:文件 exe 恶意代码 端口 2024 2025 134.191 172.16 20222313

1. 实验内容

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四、取证分析实践

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命令查看文件格式

file命令用来识别文件类型,也可用来辨别一些文件的编码格式。它通过查看文件的头部信息来获取文件类型,不像Windows通过扩展名来确定文件类型。

输入file RaDa.exe,可以看出rada.exe文件是32位的pe文件,能在基于interl 80386的cpu的windows系统上运行,有3个部分,有GUI界面。

PE Explorer查看文件格式、运行平台

除了在linux中使用file命令,在windows中可以借助程序解析器等工具查看文件信息,如PE Explorer。PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对
32位可执行程序进行反编译,并修改其中资源。

如下图所示,“Machine(处理器)”字段是运行平台,内容为0x014c,表明可运行在Intel386处理器或后续兼容处理器;“Magic(魔术)”字段是文件类型,内容为0x010B,表明这是一个32位的PE文件。

PEID查看加壳工具

当加壳的程序运行时,会首先运行一小段脱壳代码,来解压缩加壳的文件。可以使用PEid这款工具。虽然PEid工具在2011年4月就停止更新了,但是还是可以识别大多数的壳。

可以看到,识别结果为“UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo”,可知该程序加的是UPX的壳,版本是0.89.6。

2.1.2 使用脱壳软件,对rada恶意代码样本进行脱壳处理

直接使用PEiD自带的插件用于脱壳,脱壳后,得到RaDa.exe.unpacked.exe文件。

2.1.3利用字符串提取工具对脱壳后的样本进行分析

打开IDA Pro,选择PE Executable,并选择脱壳之后的样本,一直点击确定。

打开Strings界面,在该界面发现疑似作者名称的字符串[c] Raul Siles && David Perez,同时发现软件制作时间为2004年9月。

2.2利用IDA Pro静态或动态分析所给的exe文件

在终端中直接运行crackme1.exe,并在文件名后多输入一个或多个参数,通过运行结果可以看到,输出时有“I think you are missing something.”和“Pardon?What did you say”两种模式,因此关键在于找出正确的参数。

点击View->Graphs->Function calls,打开函数调用图,发现sub_401280调用了strcmp、printf等这些有关字符串处理的函数,可以合理推测它在参数判断中有重要作用。

在Functions页面点击sub_401280。

分析可知,当输入"I know the secret"时,可以得到正确的输出。

2.2.2分析crackme2.exe

尝试运行crackme2.exe,发现它和crackme1一样,需要输入正确的参数才能得到正确的输出。

同样打开函数调用图,发现sub_401280调用了strcmp、fprintf、putchar、puts这些字符串处理函数。

在Functions页面点击sub_401280,打开函数流程图。

这一流程和crackme1.exe中看到的流程类似,但多了一个第一个参数的判断流程,由此可以推断出函数需要将第一个参数改成特定名称。

将文件名改为crackmeplease后,再次输入参数"I know the secret",可以看到程序输出了正确的结果。

2.3分析恶意代码样本rada,并撰写报告

2.3.1信息获取过程

在kali中输入file RaDa.exemd5sum RaDa.exe,可以得到RaDa.exe的基本信息和md5摘要。

打开process explorer,运行Rada.exe,双击进程查看Strings窗口。

在Strings窗口中,可以看到下面的重要信息。

对这些信息进行合理分析,其操作可能是:

(1)注册表操作:

通过修改注册表项 HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ 来实现持久化,确保每次系统启动时自动运行。

可能会读取或删除其他注册表项,以达到隐藏自身或其他恶意目的。

(2)文件系统操作:

在特定路径如 C:\RaDa\ 下创建或操作文件,包括可执行文件 RaDa.exe 和临时文件夹 C:\RaDa\tmp。

使用脚本语言(如 VBScript)进行文件上传和下载操作。

(3)网络活动:

与外部服务器通信,使用 HTTP 协议访问特定的 URL 地址,例如 http://10.10.10.10/RaDa/。

可能会利用 CGI 脚本(如 cgi-bin/download.cgi 和 cgi-bin/upload.cgi)来下载额外的组件或上传数据。

可能会尝试进行 DDoS 攻击,如提到的“Starting DDoS Smurf remote attack...”。

(4)系统信息收集:

获取系统的 MAC 地址和其他网络配置信息。

可能会查询系统中的其他信息,如安装路径等。

(5)用户界面:

提供了一个简单的图形用户界面(GUI),允许用户执行一些命令,如安装、卸载、显示使用说明和配置等。

(6)脚本和命令行工具:

使用 VBA 和其他脚本语言进行自动化操作,如文件系统对象操作、注册表操作等。

可能会调用系统命令行工具,如 cmd.exe 或 wscript。

(7)安全挑战:

提到“Security through obscurity is the key”,暗示该恶意软件可能试图通过混淆代码或隐藏其真实意图来逃避检测。

2.3.2问题回答

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

摘要:caaa6985a43225a0b3add54f44a0d4c7。

基本信息:格式是可执行文件exe,运行平台是win32,文件运行时有图形界面,包含三个字节。

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

这个恶意程序的目的可能是在系统上安装恶意软件,使其在启动时自动运行,并发起DDoS攻击。

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

1)在注册表中进行修改操作。

2)在文件系统中进行创建目录、下载文件等操作。

3)发动DDoS攻击。

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

这个文件采用了UPX壳。UPX会在可执行文件的头部插入一段壳代码,这段壳代码负责在程序运行时解压原始程序的代码,并跳转到原始程序的入口点执行。UPX的本意是进行压缩,然而
也可以用于混淆,防止被分析或逆向工程。

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

它是一个后门程序。理由:

1)没有呈现出自我复制和传播的特点,不是病毒或蠕虫。

2)没有伪装成正常程序,不是木马。

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

msfvenom,veil

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

可以使用IDA Pro发现开发作者名称,在process explorer的Strings窗口,也可以找到这一信息。

alt text

1)需要有特定的技术环境支持,比如各种字符串提取工具。

2)文件需要未经过混淆处理(加密/压缩等)。

3)作者需要留下自己的相关信息。

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

1)基于特征码的检测

基于特征码的检测是最传统的恶意软件检测方式之一。这种方法通过收集已知恶意软件的特征码(即恶意软件中独特的二进制模式或字符串),将其存储在数据库中。当扫描文件时,将文件与数据库中的特征码进行比较,如果发现匹配项,则认为该文件可能包含恶意软件。

2)行为分析

行为分析侧重于观察程序运行时的行为,而不是仅仅依赖静态特征。它会监控系统调用、网络活动等,寻找异常或不符合正常应用程序行为的迹象。

3)虚拟机沙箱检测

虚拟机沙箱是一种隔离环境,在这个环境中可以安全地运行可疑程序而不会影响宿主系统。通过在沙箱内执行程序并监控其行为,可以评估程序是否具有恶意性质。

  1. 主动防御技术

主动防御技术不仅仅是在发现威胁后做出反应,而是通过预测和阻止可能的攻击途径来防止恶意软件的安装和传播。这包括但不限于实时监控、应用程序控制、自动更新安全策略等措施。

  1. 机器学习与人工智能

利用机器学习算法分析大量数据集,从中学习正常和异常行为之间的差异。一旦训练完成,模型就可以用于预测新的样本是否可能是恶意的。

2.4 取证分析实践

问题回答:

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

IRC是Internet Relay Chat的英文缩写,中文一般称为互联网中继聊天,是一种应用层的协议。其主要用于群体聊天,但同样也可以用于个人对个人的聊天。IRC采用TCP通讯方式,默
认登录端口为TCP 6667。当TCP 6667端口不通时,客户端会尝试连接其他不同的TCP端口,直到连接成功或尝试失败。TCP 6667端口是IRC通信的主要端口,用于客户端与服务器之间
的数据传输和交互。

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

僵尸网络(英文名称叫Botnet),是互联网上在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方法。往往被黑客用来发起大规模的网
络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。

僵尸网络通常被黑客用来发起大规模的网络攻击,例如分布式拒绝服务攻击(DDoS)等。

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

首先,我们使用Wireshark打开数据文件botnet_pcap_file.dat,过滤源IP地址为172.16.134.191,目的端口为6667或6697

设置过滤条件为:ip.src == 172.16.134.191 && tcp.dstport == 6667 || tcp.dstport == 6697

过滤统计结果有如下五个IP地址:

63.241.174.144
66.33.65.58
217.199.175.10
209.196.44.172
209.126.161.29

因此得到蜜罐主机与以上IP地址的IRC服务器进行过通信。

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

输入命令apt-get install tcpflow,安装软件tcpflower。

下载完后,输入命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667",筛选指定的IP地址和端口。

可以看到,该目录下新增了下列文件。

我们关心的是访问IP地址为209.196.44.172的主机,所以使用命令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个不同的主机访问了这一僵尸网络。

2.4.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 > 20222313rhn.txt;wc -l 20222313rhn.txt,将攻击蜜罐主机的ip筛选出来并输出至文件中。

打开文件可以看到,共有165个IP地址用于攻击蜜罐主机。

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

输入命令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

可以看到,响应的端口有135(RPC远程过程调用)、139(NetBIOS/SMB)、25(SMTP简单邮件传输协议)、445(SMB,用于文件、打印机等的共享)、4899(Radmin,用于远程控
制)、80(HTTP)。

再输入命令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端口。

可以看到,响应的端口有137(NetBIOS)。

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

(1)端口为25。

输入tcp.port == 25 &&ip.dst == 172.16.134.191进行端口为25的数据包过滤。

可以看到,只是普通的建立连接,攻击者可能对端口25进行了connect扫描。

(2)端口为135

输入tcp.port == 135 &&ip.dst == 172.16.134.191进行端口为135的数据包过滤。

可以看到,只是普通的建立连接,没有发生攻击。

(3)端口为139

输入tcp.port == 139 &&ip.dst == 172.16.134.191进行端口为139的数据包过滤。

可以看到,多为正常的连接,没有发生攻击。

(4)端口为445

输入tcp.port == 445 &&ip.dst == 172.16.134.191进行端口为445的数据包过滤。

可以发现数据包中有PSEXESVC.exe,是一种蠕虫病毒,因此端口445被攻击。

(5)端口为80

输入tcp.port == 80 &&ip.dst == 172.16.134.191进行端口为80的数据包过滤。

可以看到数据包中存在大量A,因此判断为缓冲区溢出攻击。

(6)端口为4899

输入tcp.port == 4899 &&ip.dst == 172.16.134.191进行端口为4899的数据包过滤。

可以看到,多为正常的连接,没有发生攻击。

(7)端口为137

输入udp.port == 137 &&ip.dst == 172.16.134.191进行端口为137的数据包过滤。

可以看到,可能在对137端口在进行NetBIOS查点。

综上所述,tcp的445和80端口实现了攻击。

3. 问题及解决方案

问题1:过滤出数据包以后不能分辨各种攻击的类型。

解决方案:请教老师同学,在网上查阅资料。

4. 学习思考、感悟等

通过这次实验,我对恶意代码、僵尸网络、病毒、蠕虫等概念有了更加扎实的掌握,并熟悉了多种分析方法和技术,例如使用PEID、IDA Pro、Process Explorer等软件。特别是在运用IDA Pro进行静态或动态分析的过程中,需要借助函数调用图、流程图等手段推测程序的行为模式。

在处理rada时,我利用Process Explorer等工具提取和解析关键信息。而在数字取证分析环节,借助Wireshark和tcpflow等工具对蜜罐主机的网络活动进行分析的经历,则使我意识到,有效的网络流量监控是预防和应对网络威胁的关键。

尽管此次实验的操作并不复杂,但涉及的步骤众多,理解起来也有一定难度。完成整个实验后,实践技能得到了显著提升,对网络安全领域的认识也更加全面和深入。未来,我将继续加强专业知识的学习,致力于为网络安全领域的发展做出贡献。

标签:文件,exe,恶意代码,端口,2024,2025,134.191,172.16,20222313
From: https://www.cnblogs.com/20222313rhn/p/18523960

相关文章

  • 8章13节:网络图(知识图谱)绘制的深度解析(更新20241109)
    网络图是一种广泛应用于数据分析的可视化工具,能够有效展示事物之间的关系。在医药行业,网络图被用来分析复杂的关系,例如药物与疾病之间的关联、患者与医疗服务的互动等。通过网络图,研究人员和决策者能够直观地理解数据中的结构模式,发现潜在的规律和趋势,进而做出更为精准的判断......
  • 2024-2025-1 20241423 《计算机基础与程序设计》第七周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里2024-2025-1计算机基础与程序设计第七周作业这个作业的目标数组与链表、基于数组和基于链表实现数据结构、无序表与有序表、树、图、子程序与参数作业正文本博......
  • PH热榜 | 2024-11-08
    DevNow是一个精简的开源技术博客项目模版,支持Vercel一键部署,支持评论、搜索等功能,欢迎大家体验。在线预览1.Quorini标语:几分钟内设计并运行无服务器云API介绍:Quorini提供了一套可视化的工具,可以用来设计数据模型,并且运行着一个全托管的无服务器后端。使用Quori......
  • 华为OD机试2024年真题题库(A卷+B卷+C卷+D卷+E卷)
    文章目录一、什么是华为OD,什么是华为OD机试?二、华为OD面试流程?三、华为OD机试通过率高吗?四、华为OD薪资待遇?五、大家比较关注问题的FAQ......
  • 2024 CSP 游记
    游记逆转时空的公式就是珍惜当下。DAY-38初赛,不会的我都蒙了A和B。DAY-0.4白天在学校十分有干劲,晚上九点半下课到家十点半,收拾物件到十一点多倒头就睡。DAY0火车上正在酣睡中,@Kenma@lichenxi111俩人在旁边大力敲击键盘开卷,本人只能强制开机跟他们一起开打。和@......
  • 2024-2025-1 20241311 《计算机基础与程序设计》第七周学习总结
    学期2024-2025-1学号20241311《计算机基础与程序设计》第七周学习总结作业信息这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机......
  • 20222312 2024-2025-2 《网络与系统攻防技术》实验四报告
    一、恶意代码文件类型标识、脱壳与字符串提取对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者(1).通过kali中的file命令查看文件格式和可运行平台,即exe文件,Win32平台通过PEID查壳文件发现使用UPX壳二、使用IDAPro静态或动态分析crackm......
  • GoLand 2024 安装(附激活补丁,亲测有效)
    第一步前往goland的官网,下载新版的goland下载完成后,进行安装,next,安装完成首次打开,会要求输入激活码才能使用第二步点击获取补丁文件保存下载之后进入文件夹***/JetBrains2023最新全家桶激活***找到文件/方式3:永久激活补丁+脚本(适合最新版本,可显示到2025年)点击进入......
  • 第二届教育发展与社会科学国际学术会议 (EDSS 2025) The 2nd International Conferen
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍第二届教育发展与社会科学国际学术会议(EDSS2025)定于2025年1月17-19日在中国上海举行。会议旨在为从事“教育”与“社会科学......
  • 2024-2025-1 20241312 《计算机基础与程序设计》第7周学习总结
    |这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计||这个作业要求在哪里|2024-2025-1计算机基础与程序设计第七周作业||这个作业的目标|①数组与链表②基于数组和基于链表实现数据结构③无序表与有序表④树⑤图⑥子程序与参数||作业正文|https://www.cnblogs.com/s......