Misc的基本解题思路
title: week2
date: 2024-11-02 13:25:47
tags:
Misc的基本解题思路
大致分类
解题思路:拿到一段文本时,首先要分析属于哪一种编码,判断无误后,可以通过在线解码网站如CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码和解码软件进行解码。
重难点在于快速识别各种编码以及熟练掌握对应的解码方法。
需要牢记一些编码的特征
- shellcode编码后的字符串特征是每个字节前面都有”\x”。 
- Quoted-printable编码最显著的特征是每个字节前面都有“=”,利用在线网页http://web.chacuo.net/charsetquotedprintable和CyberChef可以实现编码和解码功能。 
- UUencode编码后的字符串的特征是:所有字符看起来像乱码,但都是可打印字符;如果有多行,那么除了最后一行,都以“M”开头。UUencode可以使用在线工具http://web.chacuo.net/charsetuuencode实现解码。 
- Brainfuck编码:为OoK,[ ], > < + - . , 的样式,用在线解码网站https://www.splitbrain.org/services/ook实现编码和解码。在CTF练习平台上有一道名为编码解码的题就是此编码。 - 隐写- PNG图片隐写- PNG图片隐写做题思路: - 拿到图片后先看图片是否有缺失,如果有八成是修改图片的高度问题,就在010里面找到IHDR去修改长或宽,保存一下看是否有flag。 - 在010里面看文件头是否完整,文件头为89 50 4E 47,若不完整需要新建16进制文件补充完整后复制粘贴再保存。 - 把png图片放在StegSolve软件里去查看,可能会隐藏一个二维码。 - 在010里面查找关键词,如flag,可能有的flag会隐藏在里面。 - LSB隐写- 解题思路: - 把图片放到stegsolve里,然后Analyse 点dataextract,进入色彩通道,勾选红,绿,蓝为0,选择LSB,然后预览(preview) - 可能就能预览到flag或flag的一部分,也可能得到实体编码,把多余元素去掉再转为16进制。 - 还有一种是点击SaveBin,再次查看图片,此时也许会隐藏着一个二维码。 - GIF图片隐写- 解题思路: - 将它在stegsolve里打开,在Analyse里选FrameBrowser,进行一帧一帧地查看。可能会隐藏二维码。 - 文本隐写- 目前只接触到零宽隐写,例题为字里行间的秘密,很神奇。 - 注意:复制文本时要用快捷键ctrl+A全选,再复制粘贴。否则很可能会漏掉内容。 - 可以在在线网站上进行解题。 - 打开word文档更改字体颜色。 - 压缩包- 伪加密- 原理:一个zip文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 - 压缩源文件数据区:50 4B 03 04 是zip的头文件,14 00是解压文件所需要的pkware版本,01 00是全局方式位标记(判断有无加密的重要标志),08 00是压缩方式 ,5A 7E:最后修改文件时间,F7 46:最后修改文件日期 - 压缩源文件目录区: 
 50 4B 01 02:目录中文件文件头标记,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:局部头部偏移量- 压缩源文件目录结束标志: 
 50 4B 05 06:目录结束标记,00 00:当前磁盘编号,00 00:目录区开始磁盘编号,01 00:本磁盘上纪录总数
 01 00:目录区中纪录总数,59 00 00 00:目录区尺寸大小,3E 00 00 00:目录区对第一张磁盘的偏移量
 00 00:ZIP 文件注释长度- 解题思路: - 将zip文件放到010里面,把50 4B 03 04后的第3、4个byte改成0000还有把50 4B 01 02后的第5、6个byte改成0000即可破解伪加密。如果解压缩失败要注意是否是STORED(0)仅储存的格式,应改成DEFLATE(8),即更改00 为08. - 区分 - 无加密 - 压缩源文件数据区的全局加密应当为00 00 - 且压缩源文件目录区的全局方式位标记应当为00 00 - 假加密 - 压缩源文件数据区的全局加密应当为00 00 - 且压缩源文件目录区的全局方式位标记应当为09 00 - 真加密 - 压缩源文件数据区的全局加密应当为09 00 - 且压缩源文件目录区的全局方式位标记应当为09 00 - 爆破攻击- 使用爆破软件ARCHPR - 掩码攻击 - 如果我们知道密码中的一部分,只需按规则构造其余部分,这个时候位置所代表的字节内容未知。掩码攻击的原理相当于构造了前4字节为那么可以构造abcd????进行掩码攻击,其中“?”是占位符,表示该就可以利用掩码方式破解密码。假设已知8位密码的前4字节是abcd,abcd的字典,因此掩码攻击的效率会比暴力破解高出很多。利用掩码攻击时,“长度”选项卡暂时失效,需要我们自己确定破解的长度。 - 例如例题中^([a-z]){3}\d[a-z]$。即为密码:前三个字符为小写a到z,然后有一个字符为数字,最后一个字符为小写字母a到z。本题将使用ARCHPR工具进行解题,掩码为???4?,数字从0-9的未知数字,手动试出数字为4时可以爆破出密码。 - 流量分析- 工具:Wireshark - 通用方法与思路: - 先看文件分组数,如果分组数较少,说明考点较直接,杂包过滤不是重点。如果过多,通过协议分级看到各协议的比例,如果流量中存在Telnet、FTP、ICMP等明文传输协议,建议通过追踪流或过滤的方法,优先看这些的通信过程。 - 如果没有上述协议,而是存在大量(字节占比较大)的HTTP,就通过”统计-HTTP-请求“工具查看请求或者载荷。 - 如果离线文件中均没有上述协议,就需要结合题目的描述进行分析。例如,若题目中存在大量DNS协议,就需要重点关注查询的域名以及对该域名的响应。假如存在USB协议,则需要结合协议载荷判断设备类型,再根据设备通信规则复原出传输的信息。 - 本次练习题中有一道DNS - 通过查询协议分级,几何题目考虑重点查看DNS。在显示过滤器中输入“dns”后,可以发现每个异常的域名都请求了2次,把所有可疑域名提取出来,去除所有的”.192.168.191.129”(IP地址),重复项仅保留一个,再拼接到一起,将得到的文段用16进制转字符串,再用Base64解码,就可以得到flag。 



