title: week2
date: 2024-11-02 13:25:47
tags:

Misc的基本解题思路

大致分类

  • 编码解码

  • 隐写(图片,音频,视频,文本)

  • 压缩包处理(zip,rar)

  • 流量分析(协议,文件,usb,wifi)

  • 攻击取证(日志分析,内存分析,文件镜像)

    编码解码

解题思路:拿到一段文本时,首先要分析属于哪一种编码,判断无误后,可以通过在线解码网站如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。