CTF杂项常见类别
CTF杂项常见类别
隐写术
载体
- 图片
- 音频
- 视频
- 压缩包
图像隐写
- 颜色差别(LSB隐写)
- gif多帧隐藏
- exif信息隐藏(藏在图片的exif信息中)
- 图片修复
LSB最低有效位隐写
- 利用RGB
- 红色十进制为255,二进制为1111,1111(8个1)
- 通过修改像素最低位的1bit来达到隐藏的效果
- 工具:stegsolve
- 点击左右查看不同色位的信息
图像隐写
- 信息隐藏在动态图中
- stegsolve中框架浏览器frame brouser
Exif信息隐写
- 照片中的EXIF属性可以保存大量的信息
- windows右击查看图像属性
图像修复
图像类型
- jpeg/jpg 文件头:(2byte)FF D8 文件结束:(2byte)FF D9
- png(8byte):89 50 4E 47 0D 0A 1A 0A
- gif(6byte):47 49 46 38 39(37) 61
- BMP(2byte):42 4D
- 参考博客https://www.cnblogs.com/senior-engineer/p/9541719.html
- 常用类型博客参考https://blog.csdn.net/xiaolong22333/article/details/107498232
修改图片大小
- 第二行的前四位是宽,后四位是高
工具
- winhex修复文件头
音频隐写
- 信息隐藏在声音里(逆序)
- 信息隐藏在数据里
工具
- Adoube Audition
做法
- 拉到Adobe Audition里面是下面这个样子。我们可以手动比照上面那个表格得到数字,也可以用dtmf2num.exe自动解码。
- MP3Stego
Decode.exe -X 文件名 -P 密码
- -X后面是隐藏的东西 -P后面写密码
- ****1.开始->运行->CMD
- 进入某个磁盘,直接盘符代号:如D:,不用CD 命令切换
- 进入除根录以下的文件夹 cd 文件夹路径 例如我要进入 E:/Program Files/PHP 就
输入 E:回车操作
- 将没有隐藏信息的部分删掉
- 若有莫斯电码信息,则减弱左声道,加强右声道或倒过来
视频隐写
- 信息一女昂在视频的某个或多个帧中
- Premiere
文件隐写
- 文件拼接
- 简单的可以直接使用Windows下的文件拼接命令copy /b 1.jpg+2.zip output.jpg
工具:
- binwalk
- dd
- winhex
md5解密网站
- https://www.cmd5.com/
- MD5算法特点:
- 压缩性:任意长度的数据,算出的MD5值长度都是固定的
- 容易计算,从原数据计算出的MD5值很容易
base64解密网站
- https://the-x.cn/base64
- 这个网站对格式要求不是很高,且能够报错
密码学及编码
- 古典密码可以分为置换密码和替换密码
位移密码
凯撒密码
每一个字母顺序移动几个位置,key值即为偏移量
解密方法(对key值进行解密)
手动解密
在线工具
python中的pycipher模块
from pycipher import Caesar
Caesar(key=设置).encipher(“待引入”)
特殊形式ROT13
相当于凯撒加密的key=13
加密和解密是一个循环
一共26个英文字母,相当于是跑了一边英文字母
栅栏密码
一维的加密(分组密码)
栏数必须为密文长度的约数,明文长度与密文长度相同
弗吉尼亚密码
二维的加密
工具:在线解密,脚本
输入明文
输入密钥
对称加密算法
加密和解密使用相同密钥
DES,3DES,AES
使用在线工具进行解密
非对称加密算法
如果使用公钥进行加密,则用对应的私钥才能解密
如果使用私钥,则需要使用公钥
RSA,Elgamal,背包算法,Rabin,D-H,ECC
猪圈密码
直线和点组成的图形
-
培根密码:由a和b构成的替换密码
可以将a理解为0
b理解为1
-
键盘密码:电脑键盘位置连线画出图案
连线得到的是字母图案
编码
加密
通过密钥和密文可以还原原始信息
编码:
将数据转化成某种固定的格式的编码信息,方便不同系统之间的传输
散列:
哈希值,验证完整性,不能解码
注意:
莫斯电码,HTML编码,二维码也算是编码
base64编码文本末尾输出字符使用=,所以编码后输出的文本末尾可能会出现一个或两个=
解码网站汇总
各种编码特点
- 参考博客:https://cloud.tencent.com/developer/article/1748394
- 1、MD5——示例21232F297A57A5A743894A0E4A801FC3
一般MD5值是32位由数字“0-9”和字母“a-f”所组成的字符串,如图。如果出现这个范围以外的字符说明这可能是个错误的md5值,就没必要再拿去解密了。16位值是取的是8~24位。 - 2、sha1——示例d033e22ae348aeb5660fc2140aec35850c4da997
这种加密的密文特征跟MD5差不多,只不过位数是40 - 1、Base64——示例YWRtaW4tcm9vdA==
一般情况下密文尾部都会有两个等号,明文很少的时候则没有 - 2、Base58——示例6tmHCZvhgfNjQu
它最大的特点是没有等号 - 3、Base32——示例GEZDGNBVGY3TQOJQGE======
他的特点是明文超过十个后面就会有很多等号 - 4、Base16——示例61646D696E
它的特点是没有等号并且数字要多于字母 - 5、Base85——示例@:X4hDWe0rkE(G[OdP4CT]N#
特点是奇怪的字符比较多,但是很难出现等号 - 6、Base100——示例:emoji
特点就是一堆Emoji表情各种密码特点
- 1、凯撒密码——示例iodj{khoor_zrug_123}
只对字母进行加密,常用于CTF比赛中 - 2、维吉尼亚密码——示例fmcg{iglmq_wptd_123}
可以说是凯撒密码的加强版,引入了密钥
隐写术工具
stegsolve
- 图片隐写术
- 扫出二维码可以用手机qq,微信,cortexscan
- 也可以逐帧分析gif,点击frame browser进入帧预览功能
winhex/010editor(导出或导入16进制处理txt形式的文件)
photoshop(图形拼接)
- 矩形选框功能选出条形码
- ctrl+c进行复制
- 右下角创建图层
- 使用选择工具移动
Adobe Auditon
- 右侧的L和R分别代表左右声道,可以打开或关闭左右声道
- 上方的hms一栏中可以增大音符
搜索加解密工具
burpsuit
- 最上方一栏decoder可以实现编码和解码
- encode实现加密(选择编码方式)
- decode实现解密(选择解码方式)
binwalk
- 先cat一下看看里面有什么
- 检测隐写的东西里面有什么
- binwalk 文件(命令),即可检测出里面有什么东西
foremost
- foremost 文件名(命令),即可分离出里面隐藏的东西
CTF取证技术
流量分析
wireshark
筛选器
- 点击右侧表达式,使用wireshark内在表达式进行过滤
- 筛选协议:http,ftp等
- ip.addr == 192.168.1.1
- 也可以使用表达式中的逻辑运算符进行运算
追踪流
- 右击追踪流
- 选择TCP/UDP/SSL/HTTP
- 弹出的窗口中选择查找下一个
文件导出
- Export Objects,选择不同类型
被偷走的文件和秘密文件
- 题目给出入侵时的秘密文件,分析ftp流量包
- 追踪流
- 发现有rar文件,使用binwalk -e进行分离
- 分离出rar文件,使用ARCHPR进行爆破,得到flag
操作:
- 点击上方筛选
- 查看所有upload中hack.php信息
- 右击,选择follow,追踪http流
四种流
- GET用来获取资源,只是获取,查询数据,不会修改服务器的数据
- POST可以向服务器发送修改请求,进行数据的修改。
不同文件类型的文件头
日志分析
电子取证
即日志分析
访问IP+访问时间+访问方式+访问路径+访问版本+响应
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 h3110w0r1d's Blog!