pwnDockerAll

所属分类:collect
开发工具:Shell
文件大小:0KB
下载次数:0
上传日期:2021-11-28 01:10:07
上 传 者sh-1993
说明:  密码接收器全部,,
(pwnDockerAll,,)

文件列表:
dockerGDBIn (76, 2021-11-27)
dockerGDBOut (485, 2021-11-27)
dockerPwnRun (808, 2021-11-27)
dockerSources/ (0, 2021-11-27)
dockerSources/daemon.json (276, 2021-11-27)
dockerTerm (1003, 2021-11-27)
install.sh (1506, 2021-11-27)
setup.sh (2545, 2021-11-27)
soft/ (0, 2021-11-27)
soft/pip-9.0.1.tar.gz (1197370, 2021-11-27)
soft/setuptools-36.6.0.zip (725173, 2021-11-27)
terminalConfig (14, 2021-11-27)
ubuntuSources/ (0, 2021-11-27)
ubuntuSources/2.23/ (0, 2021-11-27)
ubuntuSources/2.23/sources.list (939, 2021-11-27)
ubuntuSources/2.24/ (0, 2021-11-27)
ubuntuSources/2.24/sources.list (1129, 2021-11-27)
ubuntuSources/2.26/ (0, 2021-11-27)
ubuntuSources/2.26/sources.list (816, 2021-11-27)
ubuntuSources/2.27/ (0, 2021-11-27)
ubuntuSources/2.27/sources.list (899, 2021-11-27)
ubuntuSources/2.28/ (0, 2021-11-27)
ubuntuSources/2.28/sources.list (1139, 2021-11-27)
ubuntuSources/2.29/ (0, 2021-11-27)
ubuntuSources/2.29/sources.list (1129, 2021-11-27)
ubuntuSources/2.30/ (0, 2021-11-27)
ubuntuSources/2.30/sources.list (1119, 2021-11-27)
ubuntuSources/2.31/ (0, 2021-11-27)
ubuntuSources/2.31/sources.list (798, 2021-11-27)
ubuntuSources/2.32/ (0, 2021-11-27)
ubuntuSources/2.32/sources.list (1154, 2021-11-27)
ubuntuSources/2.33/ (0, 2021-11-27)
ubuntuSources/2.33/sources.list (949, 2021-11-27)
ubuntuSources/2.34/ (0, 2021-11-27)
ubuntuSources/2.34/sources.list (929, 2021-11-27)

# pwnDockerAll Language: [English](https://github.com/PIG-007/pwnDockerAll/blob/master/README_en-US.md) | [中文简体](https://github.com/PIG-007/pwnDockerAll/blob/master/README.md) 只用几个命令建立PWN环境,只需要Docker! ## Docker镜像包含 + `pwndbg`:[pwndbg/pwndbg: Exploit Development and Reverse Engineering with GDB Made Easy (github.com)](https://github.com/pwndbg/pwndbg) + `Pwngdb`:[scwuaptx/Pwngdb: gdb for pwn (github.com)](https://github.com/scwuaptx/Pwngdb) + `peda`:[longld/peda: PEDA - Python Exploit Development Assistance for GDB (github.com)](https://github.com/longld/peda) + `pwntools`:[Gallopsled/pwntools: CTF framework and exploit development library (github.com)](https://github.com/Gallopsled/pwntools) + `other essential`:ROPgadget..and so on ## 安装 需要先安装 `docker.io`,并且确保你的容器能够连上网络。 ```bash cd ~/ git clone https://github.com/PIG-007/pwnDockerAll.git #git clone https://gitee.com/Piggy007/pwnDockerAll.git cd pwnDockerAll chmod a+x setup.sh sudo ./setup.sh [libc_version] #such as this: #sudo ./setup.sh 2.33 ``` ## 使用方法 终端改变路径到需要的PWN题处 ```bash dockerPwnRun [pwnfileDir] [docker_images_name] dockerPwnRun [pwnfileDir] [docker_images_name] -g [port] ``` 映射的PWN文件目录在/ctf/下 ![Snipaste_2021-08-27_21-58-42](https://pig-007.oss-cn-beijing.aliyuncs.com/img/20210827215851.png) 由于PWN文件目录是从宿主机映射到容器中的,所以你可以在宿主机中修改文件`exp.py`。 除此之外,当从容器中退出时,容器会自动删除,不会占用空间,即开即用。 可以用以下命令查看`Docker`镜像: ```bash docker images ``` ## 其他功能 ### 获取其他版本Libc环境 理论上,只要提供了该Libc版本对应ubuntu的`sources.list `,并且`Docker hub`也有该版本的ubuntu就可以创建。但是需要修改以下配置文件: ```bash #the configuration is in setup.sh dic=([2.23]="16.04" [2.24]="17.04" [2.26]="17.10" [2.27]="18.04" [2.28]="18.10" [2.29]="19.04" [2.30]="19.10" [2.31]="20.04" [2.32]="20.10" [2.33]="21.04" [2.34]="22.04") ``` 添加对应Libc版本的ubuntu,如下: ```bash #the configuration is in setup.sh dic=([2.19]="14.04" [2.23]="16.04" [2.24]="17.04" [2.26]="17.10" [2.27]="18.04" [2.28]="18.10" [2.29]="19.04" [2.30]="19.10" [2.31]="20.04" [2.32]="20.10" [2.33]="21.04" [2.34]="22.04") ``` 比如这里新建 `[2.19]="14.04"` ### 支持GDB attach功能 使用时加入-g参数,并指定端口即可使用类似 `gdb.attach(p)` 的功能,这个功能需要安装`socat` ``` apt-get install socat ``` 然后就类似如下启动语句: ```bash dockerPwnRun [pwnfileDir] [docker_images_name] -g 30001 ``` `exp.py`中设置如下: ```python #In exp.py def dockerDbg(): myGdb = remote("127.0.0.1",30001) myGdb.close() pause() ``` 这个功能是基于Docker的host网络的 ### 其他终端添加 默认的终端是`gnome-terminal`。但是可以自己设置自己的终端,在`terminalConfig`文件下设置,默认支持的终端如下: + `gnome-terminal` + `xterm` + `xfce4-terminal` 同样可以添加其他终端,在文件`dockerTerm`中设置,添加对应语句,比如添加`terminator` : ```bash terminalList=(gnome-terminal xterm xfce4-terminal terminator) if [ "${terminal}" == "terminator" ];then #echo "gnome-terminal" sudo terminator -x bash -c "~/pwnDockerAll/dockerGDBOut;exec bash" bash" exit 1; fi ``` ### 用Glibc源码来调试 在安装对应版本的Docker镜像之前可以去掉在文件 `setup.sh` 中以下语句的注释来获得源码调试功能。 ```bash ##gdb sources---------------------------------------- wget -P ./glibcFile/$version_images/ http://ftp.gnu.org/gnu/glibc/glibc-$version_images.tar.gz tar -zxvf ./glibcFile/$version_images/glibc-$version_images.tar.gz -C ./glibcFile/$version_images/ docker cp ./glibcFile/$version_images/glibc-$version_images/ $conName:/root/glibc-src/ ``` ```bash ##add your own thing here---------------------------- docker exec $conName /bin/bash -c "sed -i 'N;6 i dir ~/glibc-src/malloc' ~/.gdbinit" ``` ### 添加自己的东西 创建镜像之前可以在文件 `setup.sh`下列语句中添加自己的东西 ```bash ##add your own thing here---------------------------- docker cp file $version_images:/root/ ``` ### 安装其他软件 可以在文件`install.sh`安装其他软件来实现其他功能

近期下载者

相关文件


收藏者