misc的四大部分:
- 文件操作与隐写
- 图片隐写术
- 压缩文件处理
- 流量取证技术
压缩文件处理
压缩文件分析
-
伪加密
如果压缩文件是加密的,或文件头正常但解压缩错误,首先尝试文件是否为伪加密。zip文件是否加密是通过识别符来显示的,在每个文件的文件目录字段有一位专门标识了文件是否加密,将其设置为00表示
使用场景:伪加密文件
操作方法:使用winhex打开压缩文件,找到文件头第九第十个字符,将其修改为0000.
-
使用winhex打开文件搜索16进制504B0102,可以看到每个加密文件头字段
-
从50开始计算,第九第十个字符为加密字段,将其设置为0000即为可变成无加密状态
-
RAR文件由于有头部校验,使用伪加密打开文件会出现报错,使用winhex修改标志位后如报错消失且正常解压缩,说明是伪加密。使用winhex打开RAR文件,找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可破解伪加密。
-
-
暴力破解
通常可以使用ARCHPR.exe工具来破解zip文件
使用场景:Windows下加密过的zip文件
-
攻击类型选择暴力破解,在范围位置根据提示选择暴力破解范围选项设置暴力破解包含的类型,开始于和结束于选项具体范围,如果没有定义则全范围暴力破解。
点击打开选择要破解的文件,点击开始进行破解。建议使用1~9位的数字密码,以及系统自带的英文字典作为密码字典
-
攻击类型选择掩码可以进行复杂的暴力破解,比如知道密码前3位是abc,后3位为数字,则在攻击类型选择掩码,在掩码处输入abc???,暴力范围选项选择所有数字,打开要破解的点击,点击破解。此时==???==的部分会被我们选择的暴力破解范围中字符代替。
-
-
明文攻击
明文攻击指知道加密的ZIP中部分文件的明文内容,利用这些内容推测出密钥并解密ZIP文件方法,相比于暴力破解,这种方法在破解密码较为复杂的压缩包时效率更高。
使用场景:已知加密的ZIP部分文件明文内容
例:假设一个加密的压缩包中有两个文件readme.txt和flag.txt,其中flag.txt的内容是我们希望知道的内容,而我们拥有readme.txt的明文文件,使用上述两个文件即可进行明文攻击。
操作:
1、将readme.txt的明文文件进行压缩,变成readme1.zip
2、打开archpr,攻击类型选择明文,明文文件路径选择readme1.zip(即将明文文件不加密压缩后的文件),加密的文件
选择要破解的文件,点击开始,破解成功后会获得密码。
使用该方法需要注意两个关键点:
1、有一个明文文件,压缩后CRC值与加密压缩包中的文件一致。
2、明文文件的压缩算法需要与加密压缩文件的压缩算法一致。
RAR文件格式
有时候给出的RAR文件的头部各个字块会会故意给错误导致无法识别。
流量取证技术
CTF比赛中,流量包的取证分析是另一项重要的考察方向。
通常比赛中会提供一个包含流量数据的PCAP文件,有时候也会需要选手们先进行修复或重构传输文件后,再进行分析。
-
总体把握
- 协议分级
- 端点统计
-
过滤筛选
- 过滤语法
- Host,Protocol,contains,特征值
-
发现异常
- 特殊字符串
- 协议某字符
- flag位于服务器中
-
数据提取
- 字符串取
- 文件提取
总的来说比赛中的流量分析可以概括为以下三个方向:
-
流量包修复
-
协议分析
-
数据提取
流量数据包文件分析
WireShark工具的基本使用
wirkshark的过滤器和过滤规则能够帮助我们迅速定位到要分析的报文。
常用的过滤命令:
-
过滤IP,如源IP或者目标 x.x.x.x
ip.src eq x.x.x.x or ip.dst eq x.x.x.x 或者 ip.addr eq x.x.x.x
-
过滤端口
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80
只显示tcp协议的目标端口为80tcp.srcport == 80
只显示tcp协议的源端口为80tcp.port >= 1 and tcp.port <= 80
WireShark协议分析技巧:
-
查看网络协议:统计 -> 协议分级
-
根据数据包特征进行筛选
右键 -> 作为过滤器应用 -> 选中
-
WireShark流汇聚
在关注的http数据包或tcp数据包中选择流汇聚,可以将HTTP流或TCP流汇聚或还原成数据,在弹出的框中可以看到数据内容。
常见的HTTP流关键内容:
- HTML中直接包含重要信息
- 上传或下载文件内容,通常包含文件名、hash值等关键信息,常用POST请求上传
- 一句话木马,POST请求,内容包含eval,内容使用base64加密
WireShark数据提取
-
使用WireShark可以自动提取通过http传输的文件内容
文件 -> 导出对象 -> HTTP
-
WireShark可以手动提取文件内容
点击想要的数据包,选定内容 的位置,右键 -> 导出分组字节流,或者点击菜单栏 文件 -> 导出分组字节流,快捷方式Ctrl + H,在弹出的框中将文件保存成二进制文件。
免责声明:本文章涉及的知识和技能仅用于学习研究,如有用于非法途径或未被授权的真实网络环境,所造成的后果自行承担,责任与本文作者无关,倡导把安全知识和技能用于正当、正规、正义的途径。