环境与工具箱
第二讲把装备一次配齐。原则:先用最小可用集合跑通题目,再按方向逐步加装备——工具收藏不等于能力,但该有的趁手家伙必须趁早配好。
先记住一句话:每道 CTF 题的解题过程 = 信息收集 + 转换 + 分析 + 利用,工具箱就是按这四步配的。
一、基础环境:一台"乱搞不心疼"的系统
| 方案 | 优点 | 建议 |
|---|---|---|
| Kali Linux 虚拟机(VMware / VirtualBox) | 工具预装最全,行业标准 | 推荐:主力解题环境,快照功能随造随回 |
| WSL2(Windows 子系统) | 启动快、和 Windows 共享文件 | 适合跑 pwntools / 命令行工具,GUI 工具仍需虚拟机 |
| 物理机直装 | 性能最好 | 不推荐新手:解题环境天生要"折腾",别拿日常系统冒险 |
虚拟机装好先做三件事:打快照(装完基础工具后立刻拍一个)、配好共享文件夹、装输入法。之后无论把环境搞成什么样,一条快照回滚。
二、按方向整理的工具清单
Web(第三讲主角)
| 工具 | 用途 |
|---|---|
| Burp Suite(Community 免费) | 抓包改包的瑞士军刀,Web 题核心 |
| browser 开发者工具 F12 | 看请求、改 Cookie、断点调试 JS |
| dirsearch / ffuf | 目录与参数爆破 |
| SQLMap | SQL 注入自动化(理解原理后再用,别当拐杖) |
| CyberChef | 编码/解码/加解密的"便携料理机",浏览器即可使用 |
Crypto(第四讲)
| 工具 | 用途 |
|---|---|
| CyberChef | ROT13、Base 全家桶、摩斯电码一键识别 |
Python + pycryptodome | 手写解密脚本的事实标准库 |
| RsaCtfTool | RSA 常见攻击自动化 |
| SageMath(进阶) | 数论计算(考试级 RSA / 格密码) |
Misc 与取证(第五讲)
| 工具 | 用途 |
|---|---|
| 010 Editor / HxD | 十六进制编辑,看文件头尾 |
| stegsolve(Java) | 图片隐写逐层分析 |
| zsteg | PNG/BMP 的 LSB 隐写检测 |
| binwalk / foremost | 固件与文件的分离提取 |
| Wireshark | 流量包分析 |
| ARCHPR / ZIP 套路脚本 | 压缩包伪加密、明文攻击 |
Pwn 与逆向(第六讲)
| 工具 | 用途 |
|---|---|
| IDA Free / Ghidra | 静态反编译看伪代码 |
| gdb + pwndbg/gef 插件 | 动态调试:断点、内存、寄存器 |
| pwntools | 与远程服务交互、构造 payload 的 Python 库 |
| checksec | 一条命令看二进制开了哪些保护 |
| ROPgadget / one_gadget | 找利用片段 |
三、Python 环境与 pwntools 安装
Misc 与 Pwn 都离不开 Python。建议在虚拟机里单独建一个解题环境:
bash
# 以 Kali/Ubuntu 为例
python3 -m venv ~/ctf-env
source ~/ctf-env/bin/activate
pip install pwntools pycryptodome gmpy2 requests验证安装:
bash
python3 -c "import pwn; print(pwn.__version__)"
python3 -c "from Crypto.Cipher import AES; print('pycryptodome ok')"💡 动手实验:装好环境后,去 BUUCTF 注册账号,随便开一道 Misc 签到题(比如"世另我"级别的 base64 题),用 CyberChef 解出 Flag 并提交成功——这个闭环跑通,你的 CTF 生涯就正式开始了。
四、工具观:三句话
- 工具是手的延伸,不是脑子。SQLMap 能跑出来的注入,你要能手工注入并说清原理——面试和难点题都只认后者
- CyberChef 优先。遇到看不懂的字符串,先丢 CyberChef 的 Magic 模块自动识别,再人工确认——90% 的"神秘字符串"是编码不是加密
- 每用一次新工具,写一行用法进自己的笔记。比赛时你的笔记就是第二大脑,比搜东西快十倍
小结
- 环境首选 Kali 虚拟机 + 快照;WSL2 做轻量补充
- 四步解题法对应四类工具:收集(Burp/搜索)→ 转换(CyberChef)→ 分析(IDA/Wireshark)→ 利用(SQLMap/pwntools)
- Python 环境装
pwntools + pycryptodome + requests三件套即可覆盖多数脚本需求
下一讲进入第一个正式方向:Web 方向。