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.rhkb.cn/news/316021.html

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

相关文章

【可下载】CDA 1级教材《精益业务数据分析》2023最新版

十年磨一剑,今日把书展! 作为国内率先成立的专注于数据科学领域的专业研究团队,CDA数据科学研究院组织多名行业知名专家,在对近十年的教学和研究成果进行凝练,并紧密结合各行业领军企业的实际业务数据分析需求和案例后…

手写SpringMVC开发框架

运行环境 JDK :17 IntelliJ IDEA : 2022.3 Tomcat:8.5.86 前期工作 先创建一个新的Maven项目,按照图示操作: 在这里我们选择Maven Archetype选项,写好项目名称:Handwriting-SpringMVC&#xff…

某知乎APP - X-Zse-96

⚠️前言⚠️ 本文仅用于学术交流。 学习探讨逆向知识,欢迎私信共享学习心得。 如有侵权,联系博主删除。 请勿商用,否则后果自负。 接口网址 app 版本: 8.10.0 aHR0cHM6Ly93d3cuemhpaHUuY29tL2FwaS92NC9zZWFyY2hfdjM 加密位置分析 > …

EOCRDS1T-05S反时限过电流保护继电器 施耐德韩国三和

三和EOCR株式会社是韩国zui大的电动机保护器生产企业,公司由金仁锡博士(施耐德电气集团韩国*执行官)于1981年建立。 2001年,为了把企业发展成性的、战略性企业,随后加入了法国施耐德电气集团公司。 EOCR主要产品有电…

YOLO新鲜腐烂水果检测数据集:8类,11000多张图像,标注完整

YOLO新鲜腐烂水果检测数据集:8类,11000多张图像,yolo标注完整,包含烂苹果,烂香蕉,烂橙子,烂石榴,好苹果,好香蕉,好橙子,好石榴8个类别 图像统一分…

<计算机网络自顶向下> Internet Protocol

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号(IPV4 0100, IPV6 0110) headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这…

OpenHarmony语言基础类库【@ohos.util.LightWeightMap (非线性容器LightWeightMap)】

LightWeightMap可用于存储具有关联关系的key-value键值对集合,存储元素中key值唯一,每个key对应一个value。 LightWeightMap依据泛型定义,采用轻量级结构,初始默认容量大小为8,每次扩容大小为原始容量的两倍。 集合中…

ElasticSearch语句中must,must_not,should 组合关系

前言: 在实际应用中,发现当bool中同时使用must和should 没有达到想要的想过,而是只展示了must中的命中数据,所以打算探究一下bool中 三种逻辑关系的组合。 上述查询语句只展示了must的结果,没有should中的结果&#…

OSPF的LSA详解

一、什么是LSA?LSA作用? 在OSPF协议中,LSA全称链路状态通告,主要由LSA头部信息(LSA摘要)和链路状态组成。部分LSA只有LSA头部信息,无链路状态信息。使用LSA来传递路由信息和拓扑信息&#xff0c…

HarmonyOS编程实践系列:第一节 - 创建健康App欢迎页

系列文章目录 (零)鸿蒙HarmonyOS入门:如何配置环境,输出“Hello World“ (一)鸿蒙HarmonyOS开发基础 (二)鸿蒙HarmonyOS主力开发语言ArkTS-基本语法 (三)鸿蒙…

STM32(垃圾桶开关盖)

封装超声波的代码 一、配置引脚的连接 二、配置 三、写代码 四、配置定时器 查找合适的定时器 其实这里的是remap(复用),不重要 重要的是看Default才对 仔细查看之后发现还是能用的 先把开关灯封装好 再封装舵机 ----------------------…

IDEA更换新版本启动没反应

目前安装了新的IDEA(压缩包方式),由于老版本的IDEA还在用,所以并没有删除,但是安装完后发现点击idea64.exe后没有反应,于是网上找了好多方法最后解决了 下面是我的解决过程 新版本:IntelliJIdea2024.1 老版本: Intelli…

智慧旅游引领旅游行业创新发展:借助智能科技的力量,推动旅游服务的个性化、精准化,提升游客的满意度和忠诚度

随着信息技术的迅猛发展和广泛应用,智慧旅游已成为旅游行业创新发展的重要引擎。智慧旅游借助智能科技的力量,推动旅游服务的个性化、精准化,不仅提升了游客的满意度和忠诚度,也为旅游行业的可持续发展注入了新的活力。本文将从智…

优化大型语言模型交互:提升查询和提示效果的26条原则

推荐下arxiv挂的一个提示词教程: https://github.com/VILA-Lab/ATLAS https://arxiv.org/abs/2312.16171 它提出了一套26条指导原则,改善和优化与大型语言模型(LLMs)的交互过程。通过这些原则,旨在简化对LLMs的查询和…

序列化与反序列化

【一】序列化跟反序列化 # api接口开发,最核心最常见的一个过程就是序列化,所谓序列化就是把数据转换格式,序列化可以分两个阶段:【序列化值的是转换数据格式:序列化,返序列化】# 序列化: 把我们…

如何安装sbt(sbt在ubuntu上的安装与配置)(有详细安装网站和图解)

sbt下载官网 选择对应的版本和安装程序 Download | sbt (scala-sbt.org) 安装 解压 将sbt-1.9.0.tgz上传到xshell,并解压 解压: tar -zxvf sbt-1.9.0.tgz 配置 1、在/home/hadoop/sbt中创建sbt脚本 /home/hadoop/sbt 注意要改成自己的地址 cd …

Quarto Dashboards 教程 3:Dashboard Data Display

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度,分享官方文档的中文教程。软件可能随时更新,建议配合官方文档一起阅读。推荐先按顺序阅读往期内容: 1.quarto 教程 1:Hello, Quarto 2.qu…

vue3插槽的name和v-slot的研究

slot可以分为具名插槽和默认,默认插槽name是default 在父组件的template需要些v-slot/#,没写不生效,而在父组件下,而没被template包含的默认放在template且含有#default. 1)没写slot,可以不写template,也可写default的template2)写了name的slot,即使是default也必须些template…

linux开发板开机启动向日葵

硬件:orangepi 5 pro 操作系统:ubuntu 20.4 lts 安装向日葵 根据我的实测,arm架构的ubuntu系统只能安装向日葵提供的麒麟系统的那个版本,具体安装方式官网下载页面有 允许任意用户连接到 X11 使用root用户登录后打开终端输入一下…

JAVASE->数据结构|顺序表底层逻辑

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:再无B~U~G-CSDN博客 目标: 1. 什么是 List 2. List 常见接口介绍 3. …