CTF REVERSE练习之病毒分析

news2024/9/24 16:34:39

首先介绍两个知识点,在后面的实验中运用到的。

1、7Zip

7-Zip 是一款开源软件。我们可以在任何一台计算机上使用 7-Zip ,包括用在商业用途的计算机。7-Zip 适用于 Windows 7 / Vista
/ XP / 2008 / 2003 / 2000 / NT / ME / 98。并且有面向 Mac OS X、Linux、Unix 平台的命令行版本。

7zip使用起来十分方便,通过添加的右键菜单,可以尝试对任意文件进行解压缩操作。7zip支持的文件格式十分丰富,其中压缩包括:7z, XZ, BZIP2,
GZIP, TAR, ZIP and WIM等格式,解压缩包括:ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT,
HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM,
XAR, Z等格式。

在一些CTF逆向分析的题目中,我们可以尝试使用7zip对其进行解压缩操作,可能就会有意想不到的效果,可以大大加快我们的分析过程。

2、在线沙箱

网上有许多公开的在线沙箱,使用这些沙箱提供的服务,我们可以方便的观察一个程序的详细行为报告,进而判断一个程序大致的内部逻辑。

在线沙箱通常用于大致判定一个程序的行为是否安全,在逆向分析中,我们可以通过提交一个文件给沙箱程序来判断程序内部的大致逻辑,通过对沙箱报告的分析,有时候可以有效加快我们的逆向分析进程。

本文涉及知识点实操练习: [CTF
REVERSE练习之病毒分析](https://www.hetianlab.com/expc.do?ec=ECID172.19.104.182014111410071600001&pk_campaign=freebuf-
wemedia)

题目描述:

某日,一小学生弄了个U盘到打印店打印文件,U盘往计算机上一插,发现机子死机了,高明的打印店老板为了防止此类事件,特意设置了霸王键,可一键备份,随后老板把U盘备份了交给小王,小王想要知道U盘里到底被感染了什么你能帮帮他吗?

主机C:\Reverse\8目录下提供了这个UP_BOOT.img文件,请对该文件进行逆向分析,找到题目过关的Flag。

我们先来看这个病毒进行一个病毒特征分析

病毒程序是一个IMG文件,这种文件不是可执行文件,因此无法直接运行。我们使用7zip打开这个文件,看看里面是不是附加了什么东西。选中UP_BOOT.img文件后,单击鼠标右键,在弹出的右键菜单中选择“7Zip”——“Open
archive”,如图所示:

图片1.png

打开文件后我们发现里面有两个文件,将其解压出来:

图片2.png

我们发现一个autorun.inf文件,文件内容为:


你真厉害都到这了,看看这个游戏你肯定会喜欢的,但是据说这个游戏是被加了后门的,找到后门操作的文件的内容,取文件内容的16位md5值作为key!祝你好运…

提示游戏“是男人你就下100层.exe”被加了后门,双击运行程序,发现弹出了一个游戏,游戏还是很难玩的,如下图所示:

图片3.png

继续进行分析,再次尝试使用7Zip打开“是男人你就下100层.exe”这个文件,我们发现里面有三个文件,分别为1.vbs、1.exe、2.exe,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-68KFTZJr-1691584308053)(https://image.3001.net/images/20210309/1615270418_6047121289d94cf4ced15.png!small)]

拿到这些东西,之后怎么办呢。这就可以用到我们之前讲的在线沙箱。

运行释放的1.exe文件,除了一个一闪而过的黑框之外,我们看不到任何其他行为。现在我们需要使用在线沙箱分析来加快我们的分析流程,看看1.exe都有哪些行为特征。

打开在线沙箱分析平台,一般需要你注册一个账号并激活,点击“分析文件”上传1.exe进行分析,等待一段时间就可以看到分析报告了。

从分析报告中我们可以看出,1.exe释放了一个test.txt文件到当前目录,而且把test.txt的文件属性设置为系统和隐藏,因此我们看不到文件夹里面多了一个txt文件。

现在使用记事本打开这个test.txt文件,文件内容为(WdubQ4IGEzAG54NfATJTNhI4TLIvPvENyTLLWb3YCNBeK5wad5XCgrSQNOih1F),如图所示:

图片5.png

这就是我们所要找的文件,使用MD5计算工具,算出这个字符串的16位MD5值,为ba3c34ec7cd9c086,这就是我们要找的flag了,如图所示:

图片6.png

逆向真好玩,就是有点掉头发,最近的实验已经是一山更比一山高了,不仅仅是实验内容,而且还有不少工具需要了解。了解工具才能更好的做实验,解决问题!

向真好玩,就是有点掉头发,最近的实验已经是一山更比一山高了,不仅仅是实验内容,而且还有不少工具需要了解。了解工具才能更好的做实验,解决问题!

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【点下方卡片】就可以领取了,无偿分享

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

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

相关文章

开发中常用的数据库日志都长啥样呢?

目录 常见日志级别 数据库日志 Undo log 逻辑日志 redolog binlog 慢查询日志 AOF 文本文件 RDB 二进制文件 常见日志级别 DEBUG:用于详细记录应用程序的运行过程,如变量值、执行流程等。DEBUG级别的日志通常用于开发和调试过程中,以…

不看后悔一辈子!不看错过50K!历尽心血总结Redis全局命令

前言: 📕作者简介:热爱编程的敖云岚,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏:Java基础语法,JavaEE初阶,数据库&#xff0c…

【Python】单元测试框架unitest及其高级应用

目录 Unittest 简单使用示例 重要概念 断言方法 深入 高级应用 认识Page Object 资料获取方法 Unittest Unittest是python的一个单元测试框架,但是它不仅适用于单元测试,还适用自动化测试用例的开发与执行。我们可以很方便的使用它组织执行测试用…

JVM垃圾回收篇-垃圾回收算法

JVM垃圾回收篇-垃圾回收算法 标记清除(Mark Sweep) 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分,比如说我们的应用程序本身。 mutator的职责一般是NEW(分配内存)、READ(从内存中读取内容)、WRITE(将内容写入内…

CSMA/CD协议原理

共享总线以太网具有天然的广播特性,即使总线上某个站点给另一个站点发送单播帧,表示帧的信号也会沿着总线传播到总线上的其他各站点 。 当某个站点在总线上发送顿时,此时,如果总线上的其他站点也要在总线当某个站点在总线上发送顿…

Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit

一、前言 QAbstractSpinBox是全部微调输入框的父类,这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件,父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。在上一篇数值微调输入框中有详细介绍。 QDateTi…

资深java程序员的IDEA的常用设置

设置入口 打开项目以后也可以在左上角File-->setting进行设置,不过部分设置的是该项目的,换个项目可能就变了,建议打开项目之前就设置。 一般新的idea软件默认是下图页面,或者打开项目后可以点击File-->Close Project退到…

【CI/CD】Git Flow 分支模型

Git Flow 分支模型 1.前言 Git Flow 模型(本文所阐述的分支模型)构思于 2010 年,也就是 Git 诞生后不久,距今已有 10 多年。在这 10 多年中,Git Flow 在许多软件团队中大受欢迎。 在这 10 多年里,Git 本身…

C++异常使用

异常关键字: try:在try部可检测异常 catch:当发现异常捕获处 throw:抛出异常处 noexcept:被修饰函数内部不会发生异常 允许抛出和捕捉各种类型的数据。 int main() {try{func();}catch(const char*e){ //捕捉字符…

计算机是怎么存储和识别人类高级语言的

目录 1、计算机是怎么“存储”人类的高级语言的?2、 UTF-8和UTF-32的区别3、UTF-8是如何区分字节的长度呢?(即如何识别这一串二进制是多少个字节的?)4、计算机是如何识别人类的高级语言的? 1、计算机是怎么…

idea如何开启多个客户端(一个代码开启多个客户端运行)

1.在编程界面UdpEchoClient的下拉列表中找到Edit Configurations...并点击 2.点击Modify options 3.点击Allow multiple instances将其勾选上 4.点击ok 在经历了以上的设置以后,再次运行客户端的程序便会创建一个新的客户端运行(有了一个新的运行窗口&am…

【AI】《动手学-深度学习-PyTorch版》笔记(十四):多层感知机

AI学习目录汇总 1、多层感知机网络结构 1.1 线性模型:softmax回归 在前面介绍过,使用softmax回归来处理分类问题时,每个输出通过都一个仿射函数计算,网络结构如下,输入和输出之间为全链接层: 1.2 多层感知机 多层感知机就是在输入和输出中间再添加一个或多个全链接…

解数独(Java)

题目链接: 力扣 题目详情: 37. 解数独t编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只…

研发工程师玩转Kubernetes——使用emptyDir在同一Pod不同容器间共享数据

kubernets可以通过emptyDir实现在同一Pod的不同容器间共享文件系统。 正如它的名字,当Pod被创建时,emptyDir卷会被创建,这个时候它是一个空的文件夹;当Pod被删除时,emptyDir卷也会被永久删除。 同一Pod上不同容器之间…

【数据分析】pandas (三)

基本功能 在这里,我们将讨论pandas数据结构中常见的许多基本功能 让我们创建一些示例对象: index pd.date_range(“1/1/2000”, periods8) s pd.Series(np.random.randn(5), index[“a”, “b”, “c”, “d”, “e”]). df pd.DataFrame(np.random.…

BDA初级分析——界定问题

数据分析,从界定问题开始 一、界定问题的作用 如何从现有台式机企业客户中挑选出那些想购买服务器的企业客户? 问题中的陷阱,隐藏的假设条件 假设1: 在购买服务器的客户中,只有0.01%的客户是购买过公司台式机的客户&#xff0…

超详细的Linux基础命令

文章目录 前言Linux目录结构Linux命令通用格式ls 命令什么是工作目录什么是 HOME 目录 目录切换相关命令cd 命令pwd 命令 特殊的路径符创建目录文件操作相关命令touch 命令cat 命令more 命令cp 命令mv 命令rm 命令通配符 查找命令which 命令find 命令按文件名查找文件按文件大小…

无人驾驶实战-第十一课(控制理论)

在七月算法上报了《无人驾驶实战》课程,老师讲的真好。好记性不如烂笔头,记录一下学习内容。 课程入口,感兴趣的也可以跟着学一下。 ————————————————————————————————————————— 无人驾驶中控制系…

1、如何实现两台电脑之间数据相互读写

一、确保两台电脑在同一个局域网中,可以使用网线【动态配置】进行两台电脑互连。 二、静态配置: 将IP地址和网关设为192.168.0.1,目的是让这台电脑做另一台电脑的网关,子网掩码一点击会自动添加。第二台电脑同样打开设置,此处IP地…