1 Star 1 Fork 1

泰晓科技/Pwn Lab

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

PWN Lab 官方文档

该项目属于“开发一套 CTF PWN 选手训练专用虚拟实验室”的项目成果。

泰晓科技在 2022 年的开源之夏提报了 3 个项目,该项目为其一,详情可了解 开源之夏 - Summer 2022

项目详情

  1. 项目标题:开发一套 CTF PWN 选手训练专用虚拟实验室

  2. 项目描述:本项目基于 Cloud Lab 开源项目开发一套 CTF 训练实验环境:pwn lab,专门为 PWN 方向的选手入门设计,确保可以在 Windows,Linux,MacOS 等操作系统上更加轻松、快捷地部署 PWN 环境,并且提供快捷命令更换 glibc 版本以及部署部分经典 PWN 题目。

  3. 项目难度:进阶

  4. 项目社区导师:@lzufalcon

  5. 导师联系方式:falcon@tinylab.org

  6. 合作导师联系方式:

  7. 项目产出要求:

    • 为 CTF 选手 PWN 环境提供完善的做题环境
    • 可以在本地快速部署 PWN 题目
    • 使用命令快速更换 glibc 版本以适应不同题目环境
    • 撰写开发手册和使用文档并录制使用演示视频
  8. 项目技术要求:

    • Linux 基本操作
    • 熟悉 Cloud Lab 并在此基础上开发
    • 熟悉 PWN 题目的各种环境
    • 熟悉 PWN 题目的靶场
  9. 相关的开源软件仓库列表:

项目开发记录

这里为 Summer2022: CTF Pwn Lab 开发实录

产品安装

  1. 安装 Cloud Lab

    本项目基于 Cloud Lab 开发,是其一个子仓库,所以必须先安装 Cloud Lab,及其所必须的 Docker Git 等。

    $ git clone https://gitee.com/tinylab/cloud-lab.git
    
  2. 安装 pwn-lab

    选择 pwn-lab 分支,通过 Cloud Lab 下的 tools/docker/choose 命令可以选择 pwn-lab 实验室即可安装。

    $ cd cloud-lab/
    $ git checkout pwn-lab
    $ tools/docker/choose pwn-lab
    

创建 pwn-lab

  1. build 容器

    $ tools/docker/build pwn-lab
    
  2. 运行 pwn-lab 实验室(以 vnc 模式登陆)

    $ LOGIN=vnc tools/docker/run pwn-lab
    

    其他的登陆方式如:ssh webvnc bash

  3. 停止 pwn-lab 实验室

    $ tools/docker/stop pwn-lab
    
  4. 重新运行 pwn-lab 实验室

    $ tools/docker/start pwn-lab
    
  5. 重新创建实验室

    $ tools/docker/rerun pwn-lab
    

pwn-lab 环境以及用法

环境

pwn-lab 为 Ubuntu 20.04 的环境,所有相关文件均存放于 /labs/pwn-lab 目录下内容如下

  1. tools

    • ctf-xinetd
    • glibc-all-in-one
    • one_gadget
    • patchelf
    • peda
    • pwndbg
    • Pwngdb
    • ROPgadget
    • Ropper
  2. scripts

    • clibc
    • install
    • DownloadTools.sh
    • switch.sh
  3. challenge

    • 0x10.zip

用法

  1. Install

    用于初始用户安装全部 pwn 环境所需的插件,需要在进入后第一时间运行

    $ cd /labs/pwn-lab/tools/scripts/
    $ ./install
    
  2. DownloadTools.sh

    用于下载所需要的软件(默认已经安装完毕,如果误删可运行此脚本):

    $ cd /labs/pwn-lab/tools/scripts/
    $ ./DownloadTools.sh
    
  3. 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!
    
  4. chlibc.sh

    用于自动切换 libc 版本的脚本,减少繁琐的命令输入:

    $ cd /labs/pwn-lab/tools/scripts/
    $ sudo ./chlibc [libc_path] [filename]
    
  5. 0x10.zip

    这是用于 pwn 选手练习的部分题目,存放于 /labs/pwn-lab/challenge/ 目录下:

    $ cd /labs/pwn-lab/challenge
    $ unzip 0x10.zip
    

    解压后里面包含了题目和 exp ,其中 exp 仅用于提供模板和解题思路。

空文件

简介

PWN Lab for CTF, based on Cloud Lab. 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/tinylab/pwn-lab.git
git@gitee.com:tinylab/pwn-lab.git
tinylab
pwn-lab
Pwn Lab
master

搜索帮助