0xGame2025 CTF Misc赛道出题解析与教学指南
字数 3504 2025-11-08 10:04:01
0xGame2025 CTF Misc赛道教学指南
前言
本教学文档基于0xGame2025 CTF Misc赛道的出题思路和解题方法整理而成,旨在帮助CTF初学者系统学习Misc方向的核心知识点。
Week1 基础入门
1.1 编码基础
Base64编码
- 原理:将二进制数据转换为64个可打印字符(A-Z, a-z, 0-9, +, /)
- 编码过程:
- 将数据按3字节分组(24位)
- 每组拆分为4个6位组
- 每个6位组转换为十进制(0-63)
- 根据Base64索引表对应字符
- 填充规则:不足3字节用0填充,输出用=表示填充
- 特征识别:
Zmxh可能是"flag"的Base64编码
凯撒密码
- 原理:字母表移位替换密码
- 加密公式:
密文字母 = (明文字母位置 + 偏移量) mod 26 - 解密公式:
明文字母 = (密文字母位置 - 偏移量 + 26) mod 26 - 大小写处理:
- 大写字母:A(65)-Z(90)
- 小写字母:a(97)-z(122)
- 破解方法:爆破26种可能偏移量
1.2 文件格式分析
.docx文件结构
- 本质是ZIP压缩包格式
- 遵循开放打包约定(OPC)
- 可修改后缀为.zip解压查看内部文件
- 重要目录:
docProps/可能包含隐藏信息
1.3 Linux基础命令
- SSH连接:
ssh username@hostname -p port - 常用命令:
whoami:显示当前用户名pwd:显示当前工作目录ls:列出文件(参数:-a显示隐藏文件,-l显示详细信息)cd:切换目录cat:读取文件内容su:切换用户
1.4 图片隐写技术
LSB隐写原理
- 基本概念:修改像素RGB值的最低有效位(LSB)
- 存储格式:PNG通常使用RGB模式,每个通道范围0-255
- 隐写影响:对画面视觉效果影响极小
- 提取工具:
- Stegsolve:可视化工具,支持通道分析
- Zsteg:命令行工具,自动检测隐写
使用方法(Stegsolve):
- 导入图片
- Analyse → Data Extract
- 勾选RGB通道的LSB
- 选择LSB First模式
- Preview查看结果
Week2 进阶技能
2.1 自定义Base64
- 核心原理:Base64第4个字符的索引值 = 第3个输入字节的低6位(byte3 % 64)
- 解题思路:通过对比明文密文反推自定义字符集
- 工具差异:Python base64库遇到=停止,系统base64命令解码更灵活
2.2 ZIP明文攻击
攻击条件
- 压缩方式为ZipCrypto加密
- 已知8字节连续明文和对应偏移
- 需要4字节明文验证密钥
攻击步骤
- 使用
bkcrack -L查看压缩包信息 - 准备已知明文(如PNG文件头)
- 执行攻击:
bkcrack -C encrypted.zip -c target_file -p known_plaintext - 使用获取的密钥解密
PNG文件头特征
- 魔数头:
89 50 4E 47 0D 0A 1A 0A - IHDR块:
00 00 00 0D 49 48 44 52
2.3 Git泄露利用
- 关键文件:
.git文件夹包含版本历史 - 恢复工具:GitTools中的
gitdumper和extractor - 解题步骤:
- 下载.git文件夹:
gitdumper http://target/.git/ repo - 提取历史文件:
extractor repo output - 查看提交记录恢复删除文件
- 下载.git文件夹:
2.4 Shiro反序列化
漏洞原理
- Remember Me功能使用AES加密序列化数据
- 默认密钥:
kPH+bIxk5D2deZiIxcaaaA== - 数据流:Base64 → AES解密 → Java反序列化
流量分析要点
- 查找HTTP流量中的rememberMe Cookie
- 使用在线工具解密:https://potato.gold/navbar/tool/shiro/ShiroTool.html
- 命令执行结果可能通过DNS隧道传输
2.5 图片元数据修改
宽高修改方法
- PNG:修改IHDR块的width和height
- JPG:修改SOF0段的宽高值
- GIF:修改Logical Screen Descriptor
EXIF工具
- 使用exiftool查看和修改元数据
- 命令:
exiftool -参数 图片文件
2.6 区块链基础
解题要素
- RPC链地址(网络配置)
- 合约地址
- 测试币水龙头
- 挑战合约代码
操作流程
- 安装MetaMask插件
- 添加自定义网络(链ID、RPC URL)
- 导入私钥获取测试币
- 使用Remix IDE编译部署合约
- 与合约交互完成挑战
Week3 高级技术
3.1 AI提示词注入
- 目标:让AI跳出预设prompt限制
- 方法:创造特殊情景诱导AI越狱
- 应用:简单的AI安全测试题目
3.2 内存修改技术
Cheat Engine使用
- 运行游戏和Cheat Engine
- 附加游戏进程
- 扫描变化的值定位内存地址
- 修改内存值达成目标
其他工具
- x64dbg动态调试
- IDA Pro逆向分析
3.3 Base64绕过技巧
Python与系统差异
- Python base64库:严格遵循规范,遇到=停止
- 系统base64命令:灵活解码所有字符
绕过方法
- 使用双Base64编码拼接
- 利用echo命令特性(-n参数避免换行符)
3.4 Linux提权技术
SUID提权原理
- SUID程序以文件所有者权限运行
- 查找命令:
find / -perm -u=s -type f 2>/dev/null - 常见SUID程序:dd、bash等
资源网站
- GTFOBins:https://gtfobins.github.io/
3.5 BitLocker内存取证
密钥体系
- FVEK(全卷加密密钥):直接加密数据
- VMK(卷主密钥):加密FVEK
- 保护器:加密VMK(密码、TPM等)
取证步骤
- 使用Volatility分析内存镜像
- 识别Profile:
volatility -f image.raw imageinfo - 提取FVEK:
volatility --profile=Win7SP1x64 -f image.raw bitlocker - 使用dislocker解密:
dislocker -v -V image.raw -k fvek.file --offset=65536 dislocker-mount/ mount -o loop,ro dislocker-mount/dislocker-file mount-point/
3.6 APNG隐写
文件结构
- 基于PNG格式,增加fcTL块控制动画
- 关键字段:delay_num(延时)、dispose_op(帧处理)
- 可进行时间轴隐写
解题工具
- Python apng库处理帧提取
- Stegsolve分析LSB隐写
- OurSecret工具处理深层隐写
Week4 实战应用
4.1 NTFS日志分析
$LogFile作用
- 记录元数据操作(创建、删除、重命名等)
- 不记录文件实际内容
- 系统权限要求高,难以篡改
分析方法
- 使用Autopsy或7z提取$LogFile
- 使用日志分析工具解析
- 查询重命名操作:
SELECT lf_UsnJrlTimestamp, lf_UsnJrlReason, lf_FileName FROM LogFile WHERE lf_UsnJrlReason LIKE '%RENAME%' ORDER BY lf_LSN;
4.2 渗透提权实战
定时任务利用
- 查看/etc/cron.d/目录
- 分析root权限的定时任务
- 利用rsync的--rsync-path参数劫持:
touch -- --rsync-path=sh\ shell.sh echo -e '#!/bin/bash\ncp /bin/bash /tmp/rootbash\nchmod 4777 /tmp/rootbash' > shell.sh
SUID绕过
- Bash安全机制:SUID运行时降级权限
- 使用-p参数保留权限:
./rootbash -p
4.3 CRC32爆破攻击
攻击原理
- ZIP元数据中存储原始文件CRC32校验码
- 小文件(≤4字节)可暴力破解内容
- 结合明文攻击获取加密密钥
攻击条件
- 压缩方式为ZipCrypto
- 目标文件原始大小较小
- 已知CRC32值
4.4 Python Jail逃逸
逃逸方法
- 构建对象继承链:
''.__class__.__base__.__subclasses__() - 查找可利用类(如os._wrap_close)
- 调用危险函数执行命令
文件描述符利用
- 通过/proc/pid/fd/读取已打开文件
- 绕过权限检查(open过程验证权限)
- 读取方法:
import os os.lseek(4, 0, 0) print(os.read(4, 90000).decode('utf-8', errors='ignore'))
学习建议
工具使用原则
- 理解原理后再使用自动化工具
- 重要比赛优先使用可靠工具
- 掌握多种解决方案以备不时之需
AI使用规范
- 作为学习辅助而非替代思考
- 理解AI给出的解决方案
- 记录学习过程和思考路径
持续学习路径
- 以赛代学,参加各类CTF比赛
- 建立技术博客记录解题过程
- 寻找学习伙伴共同进步
- 关注前沿技术和新型漏洞
结语
本教学文档涵盖了0xGame2025 Misc赛道的主要知识点,从基础编码到高级取证技术,旨在为CTF初学者提供系统的学习路径。建议结合实际题目练习,逐步提升技能水平。