ctf pwn题部署

2022-09-28

socat一键部署

如果你当前操作的虚拟机or服务器就是可以被连接的目标,那么问题就简单了。

step1 首先在当前操作的机器部署后程序运行环境,并且使用exp能够成功打下。 step2 使用socat命令一键部署。

socat tcp-listen:10001, fork exec: ./pwn_qes, reuseaddr
# tcp-listen:10001 开启10001监听端口
# fork exec: ./pwn_qes 表明支持多用户访问
# reuseaddr 表示如果有一个连接进程出现问题后,监听端口仍然能继续监听。

缺点:不安全,被拿shell了,如果这个人是坏蛋,它就可以任意操作你的机子。

pwn_chroot_deploy(用户态题目部署)

基于giantbranch大佬的开源项目,本人做了一些小修改. 修改后的代码地址如下:https://github.com/wsxk/pwn_deploy_chroot 具体修改如下:

1.修改python3不适配的问题

python2的语法,改成了python3,使得python3也能够成功运行代码文件。

2.修改config.py基本配置

关于原本的替换源,在国内环境可能会出现速度慢无法访问的问题,这里修改了原本的镜像源为清华源。

PS:如果你换源后,发现仍然无法拉取更新,大概率是你的docker需要重启一下,使用systemctl restart docker重启服务即可(血的教训)

内核态pwn题部署

内核相关的pwn题目部署起来是相当麻烦的,虽然docker也可以完成这个工作,但是还是推荐在服务器上开个虚拟机直接上xinetd(docker毕竟是裁剪过的内核,不是完整的linux内核,出题时容易出现问题)。
还有一些题目需要用到qemu的,也是直接开个虚拟机比较好
目前没有比较好的一键配置脚本,待开发…..

reference

https://tina2114.github.io/2020/03/22/docker%E7%9A%84%E6%90%AD%E5%BB%BA/#more