该项目属于“开发一套 CTF PWN 选手训练专用虚拟实验室”的项目成果。
泰晓科技在 2022 年的开源之夏提报了 3 个项目,该项目为其一,详情可了解 开源之夏 - Summer 2022。
项目标题:开发一套 CTF PWN 选手训练专用虚拟实验室
项目描述:本项目基于 Cloud Lab 开源项目开发一套 CTF 训练实验环境:pwn lab,专门为 PWN 方向的选手入门设计,确保可以在 Windows,Linux,MacOS 等操作系统上更加轻松、快捷地部署 PWN 环境,并且提供快捷命令更换 glibc 版本以及部署部分经典 PWN 题目。
项目难度:进阶
项目社区导师:@lzufalcon
导师联系方式:falcon@tinylab.org
合作导师联系方式:
项目产出要求:
项目技术要求:
相关的开源软件仓库列表:
这里为 Summer2022: CTF Pwn Lab 开发实录。
安装 Cloud Lab
本项目基于 Cloud Lab 开发,是其一个子仓库,所以必须先安装 Cloud Lab,及其所必须的 Docker Git 等。
$ git clone https://gitee.com/tinylab/cloud-lab.git
安装 pwn-lab
选择 pwn-lab 分支,通过 Cloud Lab 下的 tools/docker/choose
命令可以选择 pwn-lab 实验室即可安装。
$ cd cloud-lab/
$ git checkout pwn-lab
$ tools/docker/choose pwn-lab
build 容器
$ tools/docker/build pwn-lab
运行 pwn-lab 实验室(以 vnc 模式登陆)
$ LOGIN=vnc tools/docker/run pwn-lab
其他的登陆方式如:ssh webvnc bash
停止 pwn-lab 实验室
$ tools/docker/stop pwn-lab
重新运行 pwn-lab 实验室
$ tools/docker/start pwn-lab
重新创建实验室
$ tools/docker/rerun pwn-lab
pwn-lab 为 Ubuntu 20.04 的环境,所有相关文件均存放于 /labs/pwn-lab
目录下内容如下
tools
scripts
challenge
Install
用于初始用户安装全部 pwn 环境所需的插件,需要在进入后第一时间运行
$ cd /labs/pwn-lab/tools/scripts/
$ ./install
DownloadTools.sh
用于下载所需要的软件(默认已经安装完毕,如果误删可运行此脚本):
$ cd /labs/pwn-lab/tools/scripts/
$ ./DownloadTools.sh
switch.sh
用于自动化切换 pwngdb 插件,pwngdb 是 pwn 选手最常用的工具,但是做不同题目需要频繁切换插件,这个脚本可以帮助简化流程:
$ cd /labs/pwn-lab/tools/scripts/
$ ./switch.sh
Please choose one mode of GDB?
1.peda 2.gef 3.pwndbg
Input your choice:3
Please enjoy the pwndbg!
chlibc.sh
用于自动切换 libc 版本的脚本,减少繁琐的命令输入:
$ cd /labs/pwn-lab/tools/scripts/
$ sudo ./chlibc [libc_path] [filename]
0x10.zip
这是用于 pwn 选手练习的部分题目,存放于 /labs/pwn-lab/challenge/
目录下:
$ cd /labs/pwn-lab/challenge
$ unzip 0x10.zip
解压后里面包含了题目和 exp ,其中 exp 仅用于提供模板和解题思路。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。