如何搭建Pwn利用环境

前人栽树,后人乘凉

socat 使用方法

socat 简介

本身socat是加强版的nc工具,可以借助nc获得本地测试的TCP、UDP接口,主要用于Pwn题目的部署工作,方便重启

安装socat工具

在ubuntu 16.04 安装socat工具,直接使用apt-get即可(记得保证权限满足):

sudo apt-get install socat

运行命令:

socat TCP-LISTEN:4444,REUSEADDR,FORK EXEC:./xxxxxxxx

xxxx表示文件路径

xinetd方法

  1. 安装

    1
    sudo apt-get install xinetd
  2. 设置启动模板

1
2
3
4
5
6
7
8
9
10
11
/etc/services 下先添加自己的服务端口信息 
/etc/xinetd.d/ 下添加自己的服务
service pwn_test
{
disable = no //打开
port = 10002
socket_type = stream
server = 【filepath】
wait = no
user = pwn_user
}

简单方法,docker部署方式,主要用于正式CTF比赛

docker方式部署主要用于正式比赛需要部署多台虚拟机的场景,而且可以通过控制虚拟机资源进行管理。
存在不足:
(1)docker虚拟机资源有限,可能带来性能问题,特别是大规模访问场景下;
(2)docker版本如果存在本地逃逸漏洞,可以导致打穿docker主进程获得“上帝”视角,对办比赛就十分不友好;
(3)docker可以有效限制权限等问题,但是对于kernel类型题目还是不太适合。