夏令营集训3--MISC总结

MISC:

一 、流量分析

二、文件格式分析

三、隐写—图片、音频

四、压缩包分析

五、古典密码

什么是MISC:

Misc 是英文 Miscellaneous 的前四个字母,杂项、混合体、大杂烩的意思。
Misc 在国外的比赛中其实又被具体划分为各个小块,有
Recon、Forensic、Stego、Misc…
在国内内的比赛中,被统一划分入 Misc 领域,有时 Crypto(尤其是古典密码)也被划入其中。
杂项大致有几种类型:
流量分析
隐写
压缩包处理
文件格式分析
攻击取证
Recon(信息搜集)
主要介绍一些获取信息的渠道和一些利用百度、谷歌等搜索引擎的技巧
Encode(编码转换)
主要介绍在 CTF 比赛中一些常见的编码形式以及转换的技巧和常见方式
Forensic && Stego(数字取证 && 隐写分析)
隐写取证是 Misc 中最为重要的一块,包括文件分析、隐写、内存镜像分析和流量抓包分析等等,涉及巧妙的编码、隐藏数据、层层嵌套的文件中的文件,灵活利用搜索引擎获取所需要的信息等等。

一、流量分析:

常比赛中会提供一个包含流量数据的 PCAP 文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。
PCAP 这一块作为重点考察方向,复杂的地方在于数据包里充满着大量无关的流量信息,因此如何分类和过滤数据是参赛者需要完成的工作。

主要工具是wireshark,需要熟练掌握使用方法,过滤器语法、追踪流、导出文件

wireshark:

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码。

2、用以上菜单项对wireshark进行配置:
“File"(文件)打开或保存捕获的信息 。“Edit” (编辑)查找或标记封包。进行全局设置。
“View”(查看)设置Wireshark的视图。 “Go” (转到)跳转到捕获的数据。
“Capture”(捕获)设置捕捉过滤器并开始捕捉。“Analyze”(分析)设置分析选项。
“Statistics” (统计)查看Wireshark的统计信息。“Help” (帮助)查看本地或者在线支持

3、过滤器
使用Wireshark时最常见的问题,是当使用默认设置时,会得到大量冗余信息,以至于很难找到自己需要的部分。这就是为什么过滤器会如此重要。它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。
捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。在Capture(捕获) -> Capture Filters (捕获过滤器)中设置。
显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。

流量分析题目 1: bugku上的杂项Telnet
解法一:直接用编译器Notepad++打开搜索flag;

在这里插入图片描述

解法二:
telnet是一个远程连接协议,协议端口号为23。
它的特性为明文传输用户和密码。
首先过滤,只查看”telent流”,然后选取一行,右键打开,追踪”TCP流“。

在这里插入图片描述题目提示为“Telnet题”所以我们 首先过滤,只查看”telent流”:

在这里插入图片描述

然后选取一行,右键打开,追踪”TCP流“。

在这里插入图片描述
得到flag

在这里插入图片描述
流量分析题目 2: CTF.pcapng

在这里插入图片描述
在Wireshark软件打开key.pcapng文件 开始扫描数据:
在这里插入图片描述
然后寻找可以追踪TCP流的数据:
在这里插入图片描述
在这里插入图片描述然后在线解码的flag:
在这里插入图片描述

流量分析题目 3:key.pcapng

方法一 快,有效:直接把文件拉进networking(记事本)里面,然后查找“flag”
在这里插入图片描述
在这里插入图片描述
方法二:

和之前一样,也是打开wireshark软件扫描文件数据:
一开始在其它颜色的ip地址上不是追踪不到数据就是len=0,直到在绿色的IP地址上可以追踪并且出现了flag

在这里插入图片描述

二、文件格式分析

常见文件头和文件尾的16进制编码:
JPEG (jpg) 文件头:FFD8FF 文件尾:FF D9
PNG (png) 文件头:89504E47 文件尾:AE 42 60 82
GIF (gif) 文件头:47494638 文件尾:00 3B ZIP Archive (zip) 文件头:504B0304 文件尾:50 4B
TIFF (tif), 文件头:49492A00
RAR Archive (rar), 文件头:52617221
Windows Bitmap (bmp), 文件头:424D
Adobe Photoshop (psd), 文件头:38425053
Rich Text Format (rtf), 文件头:7B5C727466
XML (xml), 文件头:3C3F786D6C
HTML (html), 文件头:68746D6C3E
Outlook Express (dbx), 文件头:CFAD12FEC5FD746F
Outlook (pst), 文件头:2142444E
MS Word/Excel (xls.or.doc), 文件头:D0CF11E0
MS Access (mdb), 文件头:5374616E64617264204A
WordPerfect (wpd), 文件头:FF575043
Adobe Acrobat (pdf), 文件头:255044462D312E
Quicken (qdf), 文件头:AC9EBD8F

文件格式分析

杂项题目主要是以文件附件作为题目,但是给的文件不一定是有后缀名的,这就需要我们识别这些文件。
1、 file命令
file命令实际上是一个命令行工具,用来查看文件类型。
使用方法:
将文件复制到kail或者带有file工具的系统中,使用file查看文件。
例如:

在这里插入图片描述将文件后缀名补上即可正常打开文件,然后根据实际情况判断这是什么类型的题目。

2、十六进制编译器–HxD、WinHex、010Editor
HxD是一个认真设计的快捷16进制编辑器。还提供直接磁盘编辑、内存修改和处理任何大小的文件。易用的用户界面,提供查找、替换、导出、校验和、字节数据插入、文件粉碎、分割和合并文件、统计数据分布等功能。

文件分离

件分离的原因:
在CTF这个充满脑洞的比赛中,出题人往往会以一些稀奇古怪的出题方式出题,因此你可以常常看见暴打出题人等字眼出现在比赛论坛中。在CTF中一个文件中隐藏着另外其他文件的题目是经常有的。这就需要掌握文件分离的技巧来应对。下面介绍几种姿势
1、Binwalk
(1)Binwalk工具介绍
Binwalk是一个自动提取文件系统,该工具最大的优点就是可以自动完成指定文件的扫描,智能发掘潜藏在文件中所有可疑的文件类型及文件系统。相比于之前介绍的file命令行工具来说,file只是从文件的第一个字节开始识别,且只能把一个文件识别成一个类型的文件,很难看出是否隐藏着其他的文件,Binwalk就能很好的完成这项任务。

(2)Binwalk文件扫描和提取
Binwalk分析文件
命令:binwalk +file 通过扫描能够发现目标文件中包含的所有可识别的文件类型。
在这里插入图片描述
通过binwalk我们可以看到这个png文件中还包含着一个zip文件
Binwalk提取文件
命令 binwalk +file -e;
“-e”和“–extract”用于按照定义的配置文件中的提取方法从固件中提取探测到的文件系统。
若提取成功则会生成一个_文件名_extracted的目录,目录中存放的就是提取出的文件

在这里插入图片描述

2、dd命令

前面介绍的是自动化分离工具,dd这个工具是一种半自动化工具,有的时候自动化工具不能实现文件的分离,所以需要用这个工具来进行分离。

使用dd命令分离文件格式如下:
dd if=源文件名 of=输出文件名 skip=开始分离的字节数 bs=1;
参数说明:
if=file #输入文件名,缺省为标准输入。
of=file #输出文件名,缺省为标准输出。
bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
skip=blocks #从输入文件开头跳过 blocks 个块后再开始复制。

三、隐写—图片、音频

什么是隐写?

由于我们识别声音或图片的能力有限,因此稍微改动信息的某一位是不会影响我们识别声音或图片的。隐写和加密之间的相同点就是,都是需要经过特殊的处理才能获得特定的信息。它们之间的不同点简单的说就是,加密的话会是一些奇怪的字符,或数据。隐写的话,就是信息明明就在眼前,但是你却视而不见。

工具:Stegsolve.jar
Audacity
MP3Stego_GUI

图片隐写

图像隐写术进行数据隐写分为以下几类:

1.在图片右击-属性-详细信息中隐藏数据信息;

2.将数据类型进行改写(rar类型数据 将其改写成jpg格式);

3.根据各种类型图像的固定格式,隐藏数据修改图像开始标志,改变其原有图像格式,在图像结束标志后加入数据,在图像数据中假如数据,不影响视觉效果情况下修改像素数据,加入信息;

4.利用隐写算法将数据隐写到图像中而不影响图像(仅限于jpg图像),隐写算法常见有F5、Guess、JSteg和JPHide等。

在这里插入图片描述

图片隐写

1、jpg jpg图片是经过有损的压缩;
2、png png是无损的压缩;
3、gif gif可以存放动态的帧;
4、bmp bmp是将数据原样储存;
5、二维码

png图片,png图片是一种无损压缩的位图片形格式,也只有在无损压缩或者无压缩的图片(BMP)上实现lsb隐写。如果图像是jpg图片的话,就没法使用lsb隐写了,原因是jpg图片对像数进行了有损压缩,我们修改的信息就可能会在压缩的过程中被破坏。而png图片虽然也有压缩,但却是无损压缩,这样我们修改的信息也就能得到正确的表达,不至于丢失。BMP的图片也是一样的,是没有经过压缩的。BMP图片一般是特别的大的,因为BMP把所有的像数都按原样储存,没有进行压缩。

LSB隐写

LSB,最低有效位,英文是Least Significant Bit 。我们知道图像像素一般是由RGB三原色(即红绿蓝)组成的,每一种颜色占用8位,0x00~0xFF,即一共有256种颜色,一共包含了256的3次方的颜色,颜色太多,而人的肉眼能区分的只有其中一小部分,这导致了当我们修改RGB颜色分量种最低的二进制位的时候,我们的肉眼是区分不出来的。

实例:倒立屋

在这里插入图片描述

然后把文件拉进Stegsoive工具中

在这里插入图片描述
在这里插入图片描述

解题思路:题目的重点是LSB隐写

音频隐写

1、众所周知的摩斯电码
使用Audacity打开文件,然后可以在音道的最上边看到一些特殊的:

在这里插入图片描述
看起来是一个摩斯电码,短线代表.,长线代表-,可以对照表或者寻找在线解密工具,最后摩斯电码翻译如下:

“… -… -.-. ----. …— … -… …- ----. -.-. -… ----- .---- —… —… --.- … …— . -… .---- --… -… --… ----- ----. …— ----. .---- ----. .---- -.-.”

摩斯电码解码得到:HBC925649CB0188Q52E617D70929191C
再进行md5解密即可

2、利用MP3stego进行的数据隐写

MP3stego介绍:

MP3stego是著名的音频数据隐写工具,支持常见的压缩音频文件格式如mp3的数据嵌入,它采用的是一种特殊的量化方法,并且将数据隐藏在MP3文件的奇偶校验块中。

使用方法:打开cmd,然后将Decode.exe拖到命令行里,在此之前需要把需要分析的mp3文件拖到Decode.exe所在目录里。

用MP3Stego进行加密解密:
加密:encode -E 加密文本 -P 密码 wav文件 mp3文件
解密:decode -X -P 密码 mp3文件
选项 -X是获取隐藏的东西 -P后面写密码

音频隐写的实例:music.mp3
在这里插入图片描述
把题目复制到MP3stego里面
在这里插入图片描述
然后直接在mp3stego_GUI磁盘内输入cmd:
然后继续用MP3Stego进行加密解密:解密:decode -X -P 密码 mp3文件
选项 -X是获取隐藏的东西 -P后面写密码(在刚才目录“描述.txt”l里面一般题目都会附在压缩包上)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述音频隐写的flag SimCTF{MP3_MP3_sdfdsf}

四、压缩包分析

zip压缩包常见漏洞
1、密码暴力破解/字典/掩码攻击
2、伪加密
3、明文攻击

密码暴力破解/字典/掩码攻击
爆破:顾名思义,逐个尝试选定集合中可以组成的所有密码,直到遇到正确密码。
字典:字典攻击的效率比爆破稍高,因为字典中存储了常用的密码,因此就避免了爆破时把时间浪费在寻找密码上。(可从网上下载字典,但大多数题目需要自己构造字典)

在这里插入图片描述

密码暴力破解/字典/掩码攻击

掩码攻击:如果已知密码的某几位,如已知6位密码的第3位是a,那么可以构造 ??a??? 进行掩码攻击,掩码攻击的原理相当于构造了第3位为a的字典,因此掩码攻击的效率也比爆破高出不少。

题目一:ISCC2017–再见李华

假如你是李华(LiHua),收到乔帮主一封密信,没有任何特殊字符,请输入密码,不少于1000个字。同学,记得署名哦~

解题思路:首先打开这个压缩包发现里面有张照片,有一个md5的字符串但是并不完整,将这张图片拉进虚拟机binwalk一下,发现里面有一个zip压缩包,将这个压缩包提取出来,有密码不能直接打开,观察知道不是zip伪加密,然后根据题目密码不少于1000个字猜测密码是四位数,我们构造掩码为???LiHua

在这里插入图片描述

ZIP伪加密
zip伪加密与zip的文件格式有关,zip中有一位是标记文件是否加密的,如果更改一
个未加密zip包的加密标记位,那么在打开压缩包时就会提示该文件是加密的。

对于伪加密有以下几种方法:

  1. 在Mac OS及部分Linux(如Kali)系统中,可以直接打开伪加密的zip压缩包
  2. 使用检测伪加密的ZipCenOp.jar,解密后如果能成功打开zip包,则是伪加密,否则说明思路错误。
    使用ZipCenOp.jar(需要java环境),在cmd中使用
    java -jar ZipCenOp.jar -r xxx.zip

在这里插入图片描述

ZIP伪加密

3.、使用16进制编辑器改回加密标记位
zip格式中的核心目录区中,我们强调了一个叫做通用位标记(General purpose bit flag)的 2 字节,不同比特位有着不同的含义。通常00 00代表没有密码,01 00为加密

压缩源文件数据区:50 4B 03 04:这是头文件标记
压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记
3F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
压缩源文件目录结束标志 :50 4B 05 06:目录结束标记

ZIP伪加密
题目二–bugku-zip伪加密

解题思路:使用十六进制编译器打开flag.zip,将09改为00保存打开即可得到flag

在这里插入图片描述
全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密

明文攻击

明文攻击是一种较为高效的攻击手段,大致原理是当你不知道一个zip的密码,但是你有zip中的一个已知文件(文件大小要大于12Byte)时,因为同一个zip压缩包里的所有文件都是使用同一个加密密钥来加密的,所以可以用已知文件来找加密密钥,利用密钥来解锁其他加密文件

五、古典密码

凯撒密码

凯撒密码(Caesar)是一种代换密码,他是经典的古典密码算法之一,它的基本思想是通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。

凯撒密码(Caesar)基本原理

我们知道,字母表一共有26个英文字母,我们选择凯撒密码实现一个加密时,我们需要将某个明文字母做N位偏移得到密文,这个N最多为26,而且偏移为26时和偏移为0时一样,明文和密文对应相等,实际上可以说最大的偏移量为25,这里的偏移量是这个加密解密算法的核心,我们可以说他就是秘钥。

加密公式:密文 = (明文 + 位移数) Mod 26
解密公式:明文 = (密文 - 位移数) Mod 26

栅栏密码

所谓栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。
一般来说见到一堆字母没有空格,就应该想一想是不是栅栏。
比较常见的是2栏的棚栏密码
例如密文:TEOGSDYUTAENNHLNETAMSHVAED
解密过程:先将密文分为两行
T E O G S D Y U T A E N N
H L N E T A M S H V A E D
再按上下上下的顺序组合成一句话
THE LONGEST DAY MUST HAVE AN END.

棋盘密码

假设我们需要发送明文讯息 “Attack at once”, 用一套秘密混杂的字母表填满波利比奥斯方阵,像是这样:

在这里插入图片描述
i和j视为同一个字,使字母数量符合 5 × 5 格。之所以选择这五个字母,是因为它们译成摩斯密码时不容易混淆,可以降低传输错误的机率。使用这个方格,找出明文字母在这个方格的位置,再以那个字母所在的栏名称和列名称代替这个字母。

明文:A T T A C K A T O N C E
密文:13 12 12 13 43 25 13 12 23 35 43 53


版权声明:本文为MIGENGKING原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。