假期CTF学习记录
Crypto:
一、模运算
- 二项式定理:
$$ (x+y)^n=(^n_0)x^ny^0+(^n_1)x^{n-1}y^1+...+(^n_{n-1})x^1y^{n-1}+(^n_n)x^0y^n $$
针对RSA:$N=p*q$
$x=(ap+bq)^n=(ap)^n+(bq)^n \mod n$
二、AES
Python中的简单实现:
1 |
|
三、工作模式(CBC,ECB,OFB,CFB,CTR)
ECB不需要IV,需要短块处理
CBC需要短块处理
OFB,CFB,CTR是把明文转成密钥流与明文异或进行加密,因此没有短块问题
MISC:
一、图片题
- LSB隐写
1、 利用Stegsolve低位通道解决
2、 带密码的LSB隐写: 在kali中使用cloacked-pixel中分离出隐藏信息,命令如下:
1 |
|
隐含文件,利用binwalk查看是否存在隐含文件,再利用dd指令或forecast指令来分离出隐藏的文件
另一种图片隐含文件,利用steghide分离隐藏的文件
1 |
|
exif隐写,在kali中使用exiftool工具提取隐藏信息
F5隐写,kali环境中使用F5-steganography-master
CRC校验(有可能出现zlib),在010Editor中找到CRC,使用脚本计算正确的宽度和高度
gif动图:
一、47 49 46 38开头
二、放进Stegsolve中提取每帧动画
二、流量分析
- 利用WireShark分析流量包,再对详细数据进行过滤
http POST/GET 等
分析关于TCP的流量包,使用WireShark中的TCP流量追踪
寻找用户密码,需要找到**.dmp**文件名
(*dmp文件是windows系统中的错误转储文件,当Windows发生错误蓝屏的时候,系统将当前内存【含虚拟内存】中的数据直接写到文件中去,方便定位故障原因。)
(*里面包含主机用户密码信息)
- 对于USB流量包,使用UsbKeyboardDataHacker脚本提取内容
1 |
|
- 宽带数据泄露,使用RoutePassView查找用户名或密码
三、压缩文件
- 密码爆破
Kali中:使用fcrackzip工具(ZIP压缩文件)
1
fcrackzip -b -c 1 -l 4-5 -u xxx.png
Windows中:使用ARCHPR工具(ZIP,RAR等压缩文件)
- CRC爆破:
使用py脚本爆破
- 伪加密(ZIP):
a.压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记 (有无加密)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 64:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
00 00:扩展记录长度
b.压缩源文件目录区:
50 4B 01 02:目录中文件文件头标记(0x02014b50)
1F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(是否是加密)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 65:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量
c.压缩源文件目录结束标志:
50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5A 00 00 00:目录区尺寸大小
3F 00 00 00:目录区对第一张磁盘的偏移量
00 00 00:ZIP 文件注释长度
- 伪加密(RAR)
结构如下
RAR 5.0签名由8个字节组成:
0x52 0x61 0x72 0x21 0x1A 0x07 0x01 0x00
比较一下
RAR 4.x 签名由7字节组成:
0x52 0x61 0x72 0x21 0x1A 0x07 0x00
1 |
|
找到第24个字节,该字节尾数为4表
示加密,0表示无加密,将尾数改为0即可破解伪加密.
四、音频题
将MAV等音频文件放入Audacity中分析,如摩斯电码
将MAV等音频文件放入dtmf2num中分析(电话数字号码),代码如下:
1 |
|
五、文档题
- Txt文档ntfs隐写:
1】在隐写文档的目录下打开cmd命令行,输入:
1 |
|
2】在ntfsstreamseditor中扫描,尽量使用Winrar解压
出现pyc文件的话:使用uncompyle反汇编
1
uncompyle6 xxx.pyc > main.py
或
在线工具反编译
- Docx文档隐写:在文件->选项->显示->选中显示隐藏文字
六、视频题
- 使用Kinovea打开视频文件(要求视频文件的路径上没有中文),进行每帧分析
七、镜像文件
- 在Kali中用Foremost分离
总结
很可惜,寒假里总是有种种不可避免的事,因此学到的内容有限,但我也有很多收获,只能说,2025继续努力!!