20232801 2023-2024-2 《网络攻防实践》实践八报告

20232801 2023-2024-2 《网络攻防实践》实践八报告

1.实践内容

1.动手实践任务:
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者.
2.动手实践任务二:分析Crackme程序
在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
3.分析实践任务一:(回答问题在下文中)
分析一个自制恶意代码样本rada,并撰写报告
4.分析实践任务二:(回答问题在下文中)
分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。

2.实践过程

1. 动手实践一

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
打开WinXPattacker,将学习通上的Rada.exe下载传入虚拟机,进入文件所在位置使用
file rada.exe 查看文件信息。
看到它是一个32位Windows的可执行文件,由该表改文件的GUL图形界面
在这里插入图片描述
打开PEiD工具,可以看到文件的入口点为0000FD20、文件偏移为00004120、EP段为JDR1,加壳类型为UPX壳
在这里插入图片描述
在终端输入strings RaDa.exe中看到打印字符串,均是乱码。
在这里插入图片描述

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

使用超级巡警脱壳机工具对rada.exe进行脱壳处理,看到“脱壳成功”的字样后,会发现在当前目录下生成了rada_unpacked.exe文件:在这里插入图片描述
再在终端中输入strings RaDa_unpacked.exe,发现有大量函数调用名
在这里插入图片描述
使用IDA工具打开rada_unpacked.exe,在在string界面中选择Unicode编码
在这里插入图片描述
3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
进行查找:找到Authors:Raul Siles & David Perez,2004,此处信息即编写作者
在这里插入图片描述

2. 动手实践任务二

在学习通中下载file crackme1.exe和file crackme2.exe
执行file crackme1.exe
file crackme2.exe 查看文件信息,但是这样这两个没有图形界面在这里插入图片描述

使用IDA pro Free工具打开crackme1.exe进行分析,发现两个字符串“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 View界面里,在IDA上选择view—graphs—function calls。发现其中包含函数fprintf和printf ,与上述两句话直接相关,猜测sub_401280即为我们要找的核心函数
在这里插入图片描述
view—graphs中打开sub_401280函数的流程图。判断:判断输入的参数个数是否为2,若参数个数不为2时输出I think you are missing something,若参数个数为2则会将第二个输入与I know the secret作比较,正确则输出You know how to programs
在这里插入图片描述
在终端测试验证猜想:crackme1.exe “I know the secret得到反馈信息。猜想正确
在这里插入图片描述
Crackme2
与上述一样进行分析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在终端输入
copy crackme2.exe crackmeplease.exe crackmeplease.exe “I know secret” 得到结果We have a little secret:Chocolate
在这里插入图片描述

3. 分析实践任务一

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

输入命令md5sum Rada.exe,得到md5摘要为“caaa6985a43225a0b3add54f44a0d4c7”

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

该文件下载后门到目标主机,发动DOS攻击,与10.10.10.10主机进行了通信,并查询了Mac地址

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

能添加注册列表、移动文件位置至C盘,并与10.10.10.10建立相关连接,接收相关指令并执行相关指令。

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

采用了UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo的加壳方式,直接被一键脱壳。

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

应该是后门或者僵尸程序,因为它不能自主传播不是病毒或者蠕虫,没有附加在邮件上,也不是木马。利用程序远程接受执行命令。

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

Raul siles、木马Bobax、特洛伊木马Setiri、GatSla

分析:
输入:md5sum Rada.exe,得到md5摘要为“caaa6985a43225a0b3add54f44a0d4c7”
在这里插入图片描述
文件下载后门到目标主机,发动DOS攻击,与10.10.10.10主机进行了通信,并查询了Mac地址。
在这里插入图片描述
查询了数据库相关信息、对应Mac地址等等
在这里插入图片描述
在c盘C:\RaDa\tmp目录下创建用于保存下载文件的文件夹,恶意软件还修改了注册表
在这里插入图片描述
作者相关信息:
在这里插入图片描述

4. 分析实践任务二

  1. 分析日志文件并回答以下给出的问题:
    (1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息? IRC-般 使用哪些TCP端口?
IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天
申请加入的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK ;对于曾经注册过的靶机,直接通过JOIN指令加入对应的频道,指令如下JOIN
IRC通常使用6660 - 6669端口进行监听。6667是明文端口,此外额外占用一个端口6697进行SSL加密传输

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

僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
用于发动分布式拒绝服务攻击(DDoS)、发送垃圾邮件、窃取隐私信息、刷点击量等

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

209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
206.196.44.172

使用kali来完成此实验:wireshark打开botnet_pcap_file.dat
设置过滤条件为:ip.addr == 172.16.134.191&&tcp.port == 6667 ,可以得到IRC服务器地址。

在这里插入图片描述

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

共3461台主机访问了僵尸网络

分析:
首先我们先获取209.196.44.172与172.016.134.191之间的所有的IRC数据包,使用命令:tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"产生了左边三个文件:
在这里插入图片描述
打开report.xml文件。包括上述双方的ip地址,端口,mac地址,通信时间。
在这里插入图片描述
使用命令:`在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 > 2022922naf_result.txt;wc -l 2022922naf_result.txt

在这里插入图片描述

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

TCP:135、139、25、445、4899、80  UDP:137

使用tcpdump筛选TCP和UDP端口
筛选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
在这里插入图片描述
筛选UDPtcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq
在这里插入图片描述
得到端口后,使用wireshark的analayse的协议分级功能,可以查看嗅探得到数据包的协议分级,如下图所示,下一步排查的重点协议为
TCP:IRC、HTTP(80)、NETBIOS session(SMB)(139);UDP:NETBIOS(137)、RPC(1434)
使用wireshark依次过滤筛选以上重点端口进行分析
(1)TCP端口80,过滤条件:ip.dst==172.16.134.191 && tcp.dstport==80 && http 这是一个红色代码蠕虫攻击,因为有dafault.ida为标识的code red
在这里插入图片描述
(2)TCP端口445,过滤条件 ip.dst==172.16.134.191 && tcp.dstport==445
在这里插入图片描述
(3)TCP端口139,过滤条件ip.dst==172.16.134.191 && tcp.dstport==139
若干个个不同的IP访问了这个端口,但攻击都未成功
在这里插入图片描述
(4)UDP端口1434,过滤条件ip.dst==172.16.134.191 && udp.dstport==1434:
SQL Slammer的蠕虫病毒
在这里插入图片描述
(7)哪些攻击成功了?是如何成功的?
针对TCP445端口的PSEXESVC攻击-(IP:61.111.101.78)是成功的

3.学习中遇到的问题及解决

问题1:在外部下载RADA.exe文件后,放入不了winxp

  • 问题1解决方案:发现我的防火墙将其自动查杀了,在老师的帮助下,恢复文件

4.实践总结

学习了如何一步步分析攻击内容,判断其是什么样的攻击类型。进一步提升自己的防护意识。

参考资料

参考上届同学的方法进行分析- …

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

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

相关文章

LeetCode 刷题 -- Day 7

今日题目 题目难度备注226. 翻转二叉树 简单101. 对称二叉树简单222. 完全二叉树的节点个数 简单⭐⭐⭐110. 平衡二叉树 简单⭐⭐⭐257. 二叉树的所有路径简单代码优化能力 树篇 Ⅱ 今日题目题目:226. 翻转二叉树一、源代码二、代码思路 题目:101. 对称…

Chrome 插件如何开发?

开发 Chrome 插件涉及几个关键步骤,包括了解 Chrome 插件的架构、编写必要的代码、测试和发布。以下是开发 Chrome 插件的基本流程: 1. 了解 Chrome 插件的基础知识: - Chrome 插件通常由 HTML、CSS 和 JavaScript 文件组成。 - 它们可…

curl_opt参数解析

curl_opt参数概述 curl --version curl 7.81.0 (x86_64-pc-linux-gnu) 下载地址 : https://curl.se/download/ CURLOPT_WRITEDATA: 用于设置接收数据的回调函数所需的参数。通常是一个指针,指向接收到的数据将被写入的位置。 CURLOPT_URL: 设置请求的 U…

Leetcode - 周赛395

目录 一,3131. 找出与数组相加的整数 I 二,3132. 找出与数组相加的整数 II 三,3133. 数组最后一个元素的最小值 四,3134. 找出唯一性数组的中位数 一,3131. 找出与数组相加的整数 I 本题本质就是求两个数组最小值的…

[iOS]组件化开发

一、组件化开发基础 1.组件定义 在软件开发中,一个组件是指一个独立的、可替换的软件单元,它封装了一组相关的功能。组件通过定义的接口与外界交互,并且这些接口隔离了组件内部的实现细节。在Swift语言中,组件可以是一个模块、一…

文献速递:肺癌早期诊断---低剂量胸部计算机断层扫描上的三维深度学习端到端肺癌筛查

Title 题目 End-to-end lung cancer screening with three-dimensional deep learning on low-dose chest computed tomography 低剂量胸部计算机断层扫描上的三维深度学习端到端肺癌筛查 01文献速递介绍 2018年估计有160,000例死亡病例,肺癌是美国最常见的癌症…

青少年软件编程(Scratch一级)等级考试试卷(2019年12月)

客观题 题目总数:35 总分数:70 时间:不限时 CSDN添加图片自带水印,可至文末获取无水印版word文档 第 1 题 单选题 下列关于舞台的描述,不正确的是?( ) A.Scratch只能…

MVVM框架

LifeCycle 翻译为生命周期。意义就是为了监控某个事件的生命周期。 此处用了addObserver函数,代表添加监控者。监控该activity的变化。activity的状态有onCreate,onStop,onDestory等,该函数表示对所有状态进行监听。 该方法使用了标签的方法&#xff0c…

护航智慧交通安全 | 聚铭精彩亮相2024交通科技创新及信创产品推广交流会

4月26日,石家庄希尔顿酒店内,河北省智能交通协会盛大举办2024年度交通科技创新及信创产品推广交流会。聚铭网络受邀参与,携旗下安全产品及解决方案精彩亮相,为智慧交通安全保驾护航。 为深化高速公路创新驱动发展战略&#xff0…

vue3中的reactive、readonly和shallowReactive

在 Vue 3 中,reactive、readonly 和 shallowReactive 是用于创建响应式对象的函数,它们可以帮助管理组件状态和数据流。下面是它们的详细介绍以及相应的代码示例: reactive: reactive 函数用于创建一个完全响应式的对象,当对象的属…

2024 java easyexcel poi word模板填充数据,多个word合成一个word

先看效果 一、准备工作 1.word模版 2.文件路径 二、pom依赖 <!-- easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.7</version></dependency><depe…

商城数据库88张表结构(九)

DDL 33.商品举报表 CREATE TABLE wang_informs (informid int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,informTargetid int(11) NOT NULL COMMENT 举报人ID,goodid int(11) NOT NULL COMMENT 被举报商品ID,shopid int(11) NOT NULL COMMENT 被举报店铺ID,informType int(…

如何申请免费SSL证书,把网站升级成HTTPS

HTTPS&#xff08;Hyper Text Transfer Protocol Secure&#xff09;是一种用于安全数据传输的网络协议&#xff0c;它可以有效地保护网站和用户之间的通信安全。然而&#xff0c;要使一个网站从HTTP升级到HTTPS&#xff0c;就需要一个SSL证书。那么&#xff0c;如何申请免费的…

一文解读 SQL 生成工具

SQL 生成工具可用于测试 Parser 与其他数据库产品的兼容性&#xff0c;通过解析 YACC 语法文件中的产生式&#xff0c;生成对应的 SQL 语句&#xff0c;再使用数据库执行该 SQL&#xff0c;根据结果判断语句是否与其他数据库语法兼容。 01工具使用 语法文件预处理 预处理目的…

notion使用小tip(待补充)

可以替代思维导图是一个很棒的软件 公式编辑&#xff1a;latex 网站链接&#xff1a;LATEX语法 一些常用的用法&#xff1a; 下标&#xff1a;a_{Si} 分数&#xff1a;\frac{}{} 乘&#xff1a;\times 向量&#xff1a;\vec{} pai (3.14159…) : \pi 直接用公式编辑器&#…

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解

MATLAB构建贝叶斯网络bnt工具箱: 贝叶斯网络(Bayesian networks)相关网页资源介绍1 工具包安装2 创建贝叶斯网络2.1 图结构(Graph structure)2.2 创建贝叶斯网络外壳(Creating the Bayes net shell)2.3 创建贝叶斯网络2.3 参数2.4 随机参数2 推断(Inference)2.1 边缘分…

【kettle005】kettle访问Oracle数据库并处理数据至execl文件(已更新)

1.一直以来想写下基于kettle的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下Oracle数据库相关知识体系 3.欢迎批评指正&#xff0c;跪谢一键三连&am…

全栈从0到1 3D旅游地图标记和轨迹生成

功能演示 演示视频 体验地址 Vercel App 开发技术栈&#xff1a; NextJs&#xff08;前端框架&#xff09;React&#xff08;前端框架&#xff09;TailwindCSS &#xff08;CSS样式&#xff09;echart echart gl &#xff08;地图生成&#xff09;shadui&#xff08;UI组件…

Nginx自定义状态码499出现原因

499状态码定义 维基百科的定义 499 Client Closed Request (Nginx) Used in Nginx logs to indicate when the connection has been closed by client while the server is still processing itsrequest, making server unable to send a status code back 499状态码是nginx自…

Vue2 和 Vue3 的区别 (性能,编码方式,API 特性,源码)

在这个快节奏的时代&#xff0c;技术更新换代的速度也越来越快。我一直在使用Vue 2来开发项目。然而&#xff0c;现在越来越多的公司转向了Vue 3&#xff0c;并将其作为主要的前端开发框架。这就需要我们及时跟进新技术的发展&#xff0c;以保持竞争力。因此&#xff0c;我决定…