Misc入门培训

编码的介绍

这篇大佬博客讲的非常详细:https://www.cnblogs.com/mq0036/p/6544055.html

我就不做过多的介绍了,但是看懂编码真的非常重要!!1

Misc简介
 

MISC,中文即杂项,包括图片隐写,音频隐写,流量包分析,编码分析、压缩包分析、磁盘分析取证、与信息安全相关的大数据等

竞赛过程中解MISC时会涉及到各种脑洞,各种花式技巧。

常用命令

1. Binwalk

1.1 Binwalk工具介绍
Binwalk是一个自动提取文件系统,该工具最大的优点就是可以自动完成指定文件的扫描,智能发掘潜藏在文件中所有可疑的文件类型及文件系统。=
1.2 Binwalk文件扫描和提取
Binwalk分析文件
命令:binwalk +file 通过扫描能够发现目标文件中包含的所有可识别的文件类型。

通过Binwalk我们可以看到这一张jpg文件中藏着zip文件。
Binwalk提取文件。
命令 binwalk  -e +文件名。

2. foremost

2.1 foremost工具介绍
foremost是基于文件开始格式,文件结束标志和内部数据结构进行恢复文件的程序。该工具通过分析不同类型文件的头、尾和内部数据结构,同镜像文件的数据进行比对,以还原文件。它默认支持19种类型文件的恢复。用户还可以通过配置文件扩展支持其他文件类型。

2.2 foremost提取文件
有时候binwalk无法正确分离出文件,这时候就可以使用foremost,将目标文件复制到kali中,在终端中使用命令行进入文件所在文件夹,使用如下命令:
Foremost+file –o 输出目录名。

3. file命令

file命令实际上是一个命令行工具,用来查看文件类型。
使用方法:
将文件复制到kail或者带有file工具的系统中,使用file查看文件。

Misc隐写(图片)

图片题分析大概过程:

工具

010Editor

010Editor是一款快速且强大的十六进制编辑器。=我们可以通过使用010Editor查看文件的头部来判断类型。

以下是常见的文件头:

以上都是经常用到的,非常重要;题目做多了,自然就会记住啦

当文件类型不确定时就可以尝试查看文件头来判断

png图片

文件格式:

对于一个 PNG 文件来说,其文件头总是由位固定的字节来描述的,剩余的部分由 3 个以上的 PNG 的数据块(Chunk)按照特定的顺序组成。

文件头 89 50 4E 47 (因为很重要,所以一再强调)

还有IHDR模块
趁热打铁上题目:misc2
打开文档发现第一行出现ng,还有第二行的IHDR模块,那我们直接后缀修改为.png

直接得到flag
第二种例子就是关于010的使用,他不局限于图片,它可以查看很多样式的数据
010 Editor 是一款全新概念的 十六进制编辑器

例题misc6

我们直接把图片拖进010工具里面如图所示

关于细致的介绍,我不做过多的讲解,简单来说右边的是一些16进制的代码。用于分析数据
这题思路就是直接去试着查找字符串
CTRL+F 是搜索
答案如下

还有一种就是png图片的CRC错误;宽高不正确导致我们查看图片不全面

misc25:

我们一般的做题思路就是拿到图片,先扔进010里面查看有没有有用的信息

扔进去之后我们发现CRC报错,这里的话直接用脚本爆破

脚本如下:

import zlib
import struct

# 同时爆破宽度和高度
filename = "misc25.png"
with open(filename, 'rb') as f:
    all_b = f.read()
    data = bytearray(all_b[12:29])
    n = 4095
    for w in range(n):
        width = bytearray(struct.pack('>i', w))
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
         #替换成图片的crc 在010中为第二行后三个,和第三行第一个
            if crc32result == 0x76EC1E40:
                print("宽为:", end = '')
                print(width, end = ' ')
                print(int.from_bytes(width, byteorder='big'))
                print("高为:", end = '')
                print(height, end = ' ')
                print(int.from_bytes(height, byteorder='big'))

爆破出高为250 宽为900;

这里推荐一个工具方便修改png图片的宽高

修改之后再次打开图片

gif图片

misc37

打开题目所给的图片,发现图片在动此时用工具
HoneyView查看即可

jpg

关于jpg也是一些常规操作,foremost  ,binwalk,binwalk-e,分析文件结构是否出错,CRC报错等等;

流量题

所用到的软件wireshark
常规操作包括分析协议,追踪HTTP流,追踪TCP流,导出HTTP。USB键盘流量,USB鼠标流量(USB这两还是有些操作难度,目前不做要求)

主要还是对追踪的流量进行分析;

我们还是通过例题进行讲解

例题1:

常规套路就是,先进行协议分析,看看TCP,和HTTP的占比

通过协议分级,我们可以看出TCP占比较大,题目给的提示是,查找登录密码。

那我们干脆直接追踪TCP流

在stream2中发现答案

例题2:

常规操作首先进行协议分析

我们发现都为TCP流量,那么干脆直接追踪TCP流查看去向


直接得到flag

压缩包:

rar伪加密

zip伪加密
 

zip 伪加密原理:

zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。

把  压缩源文件目录区  的  全局方式位标记   的  01  00 或 09 00  改为  00 00   就可以去除密码

把  压缩源文件目录区  的  全局方式位标记   的  00 00  改为    01  00 或 09 00    就可以添加密码 提示
zip 文件

一个 ZIP 文件由三个部分组成:

压缩源文件数据区  +  压缩源文件目录区   +  压缩源文件目录结束标志

压缩源文件数据区: 
50 4B 03 04:这是头文件标记(0x04034b50) 
14 00:解压文件所需 pkware 版本 
00 00:全局方式位标记(有无加密) 
08 00:压缩方式 
5A 7E:最后修改文件时间 
F7 46:最后修改文件日期 
16 B5 80 14:CRC-32校验(1480B516) 
19 00 00 00:压缩后尺寸(25) 
17 00 00 00:未压缩尺寸(23) 
07 00:文件名长度 
00 00:扩展记录长度 
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500 

压缩源文件目录区: 
50 4B 01 02:目录中文件文件头标记(0x02014b50) 
3F 00:压缩使用的 pkware 版本 
14 00:解压文件所需 pkware 版本 
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了) 
08 00:压缩方式 
5A 7E:最后修改文件时间 
F7 46:最后修改文件日期 
16 B5 80 14:CRC-32校验(1480B516) 
19 00 00 00:压缩后尺寸(25) 
17 00 00 00:未压缩尺寸(23) 
07 00:文件名长度 
24 00:扩展字段长度 
00 00:文件注释长度 
00 00:磁盘开始号 
00 00:内部文件属性 
20 00 00 00:外部文件属性 
00 00 00 00:局部头部偏移量 
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001 

压缩源文件目录结束标志: 
50 4B 05 06:目录结束标记 
00 00:当前磁盘编号 
00 00:目录区开始磁盘编号 
01 00:本磁盘上纪录总数 
01 00:目录区中纪录总数 
59 00 00 00:目录区尺寸大小 
3E 00 00 00:目录区对第一张磁盘的偏移量 
00 00:ZIP 文件注释长度
以上就是基本原理,我们直接上例题

说了那么多也就总结为3条
 

1.无加密:

压缩源文件数据区的全局方式位标记应当为00 00  (50 4B 03 04 14 00 后)
且压缩源文件目录区的全局方式位标记应当为00 00   (50 4B 01 02 14 00 后)

    2.伪加密:

压缩源文件数据区的全局方式位标记应当为 00 00  (50 4B 03 04 14 00 后)
且压缩源文件目录区的全局方式位标记应当为 09 00   (50 4B 01 02 14 00 后)、

  3.真加密:

压缩源文件数据区的全局方式位标记应当为09 00  (50 4B 03 04 14 00 后) 

且压缩源文件目录区的全局方式位标记应当为09 00  (50 4B 01 02 14 00 后)

ps:也不一定要09 00或00 00,只要是奇数都视为加密,而偶数则视为未加密

但是这道题全是09 00,因此我的第一想法是真加密.

打开伪加密的文件

分析可知为压缩源文件数据区位置为09 00

压缩源文件区为 09 00 我们把09 00改为 00 00 成功破解伪加密,红色为我们修改的位置

爆破 工具ARCHPR 

直接扔进工具爆破就行,到时候会细讲

音频题

例题一 摩斯或者二进制

工具audacity

对于音频题目还是首先观察一下是否存在摩斯密码,二进制转换等等
例如下题
例题,打开音频

对于上图中的我们常规转换方式为摩斯密码
结果为
短的为. 长的为-

 ..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

之后用到所给摩斯密码解密即可


例题二查看频谱
 

例题为23山东省网络安全技能大赛 题目
打开文件我们查看频谱图

直接看到答案

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值