Kali Linux 2023.4 新装后,我这样配置 Pwn 环境:pwntools + gdb-peda 一步到位

张开发
2026/4/8 14:10:59 15 分钟阅读

分享文章

Kali Linux 2023.4 新装后,我这样配置 Pwn 环境:pwntools + gdb-peda 一步到位
Kali Linux 2023.4 Pwn环境极速配置指南从零到漏洞利用实战刚拿到全新的Kali Linux 2023.4系统时配置一个高效的Pwn环境是每位安全研究者的首要任务。不同于常规的CTF工具链安装本文将带你用最优雅的方式搭建pwntoolsgdb-peda黄金组合同时解决国内用户特有的依赖问题。下面这个配置流程已经在我负责的多个企业红队项目中验证过稳定性特别适合需要快速投入实战的研究人员。1. 系统初始化与国内源优化Kali Linux默认的软件源对国内用户不太友好我们先解决这个基础问题。2023.4版本采用了最新的Debian Testing分支这意味着我们需要特别注意软件兼容性。打开终端备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak推荐使用中科大Kali源比阿里云/清华更新更及时sudo tee /etc/apt/sources.list EOF deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib EOF更新软件包缓存时2023.4版本需要特别注意签名验证sudo apt update sudo apt install -y kali-archive-keyring sudo apt full-upgrade -y常见问题处理若遇到NO_PUBKEY错误执行wget -q -O - https://archive.kali.org/archive-key.asc | sudo apt-key add更新后若出现桌面环境异常尝试sudo apt install --reinstall kali-desktop-xfce2. Python环境与pwntools深度配置Kali 2023.4默认同时安装了Python 3.11和Python 2.7但pwntools在Python 3.11上可能存在兼容性问题。建议创建专用虚拟环境sudo apt install -y python3-venv python3 -m venv ~/pwn_env source ~/pwn_env/bin/activate安装强化版pwntools包含常用插件pip install -U pip wheel pip install pwntools4.9.0 \ ropper1.13.5 \ keystone-engine0.9.2 \ capstone5.0.0 \ unicorn2.0.1验证安装是否成功from pwn import * context.log_level debug print(asm(mov eax, 0x1337))注意如果遇到ImportError: No module named _cffi_backend需要执行sudo apt install -y python3-dev libffi-dev pip install --force-reinstall cffi3. GDB 12.1与PEDA/gef/pwndbg三件套虽然Kali自带GDB但建议手动编译最新版以获得完整Python支持sudo apt build-dep -y gdb wget https://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz tar xvf gdb-12.1.tar.gz cd gdb-12.1 ./configure --with-python$(which python3) --prefix/usr/local make -j$(nproc) sudo make install安装调试三件套按个人喜好选择git clone https://github.com/longld/peda.git ~/peda git clone https://github.com/hugsy/gef.git ~/gef git clone https://github.com/pwndbg/pwndbg.git ~/pwndbg配置动态切换在~/.gdbinit中添加define switch if $arg0 peda source ~/peda/peda.py elif $arg0 gef source ~/gef/gef.py elif $arg0 pwndbg source ~/pwndbg/gdbinit.py end end使用示例gdb -q ./target (gdb) switch peda # 随时切换不同插件4. 增强型工具链与实战配置除了基础工具这些增强组件能显著提升效率必备工具集sudo apt install -y \ patchelf \ strace \ ltrace \ radare2 \ binwalk \ foremost \ checksecQEMU多架构支持sudo apt install -y qemu qemu-system qemu-user-static for arch in arm aarch64 mips mipsel powerpc sparc; do sudo apt install -y qemu-user-$arch doneDocker漏洞环境替代本地编译sudo systemctl enable --now docker docker pull pwncollege/pwnkernel docker run -it --privileged pwncollege/pwnkernelVS Code调优配置安装官方C/C插件添加调试配置.vscode/launch.json{ version: 0.2.0, configurations: [ { name: GDB Debug, type: cppdbg, request: launch, program: ${workspaceFolder}/target, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: false, MIMode: gdb, setupCommands: [ { description: Enable pretty-printing, text: source ~/peda/peda.py, ignoreFailures: true } ] } ] }5. 典型问题解决方案库以下是我在多个项目中积累的常见问题速查表问题现象解决方案根本原因pwntools的cyclic生成异常pip install --force-reinstall pwntoolsPython3.11兼容性问题GDB提示Python脚本错误重新编译GDB时指定--with-python$(which python3)Python路径未正确绑定docker权限拒绝将用户加入docker组sudo usermod -aG docker $USER默认需要root权限32位程序无法运行安装兼容库sudo apt install gcc-multilib缺少32位运行时对于CTF比赛环境建议创建快速重置脚本reset_env.sh#!/bin/bash docker stop $(docker ps -aq) 2/dev/null docker rm $(docker ps -aq) 2/dev/null rm -rf ~/peda/__pycache__ ~/gef/__pycache__ find /tmp -type f -name core.* -delete killall -9 socat nc 2/dev/null在真实漏洞挖掘场景中这套配置已经帮助我发现了多个CVE漏洞。比如在某次嵌入式设备审计中通过QEMUgdb-peda的组合成功复现了内核提权漏洞。记住好的工具链应该像手术刀一样精准——不需要最全但要最适合你的工作流程。

更多文章