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. 展开 收起
Python 等 6 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/tinylab/pwn-lab.git
git@gitee.com:tinylab/pwn-lab.git
tinylab
pwn-lab
Pwn Lab
master

搜索帮助