linux pwn 环境搭建

i春秋的pwn入门教程:Linux+pwn零基础入门

docker 配置

ubuntu导入docker镜像后,按照教程,但是出现了”权限不够的问题”,这时候就要加上--privileged=true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建容易,映射端口 
docker run -it -p 23946:23946 --privileged=true Imagename /bin/bash

docker ps -a

# docker 后台运行
CTRL+P+Q
docker exec -it container_name /bin/bash #exit退出也不会真正stop


# 连接容器
docker attach container_name

# docker rmi xx #删除镜像

容器添加端口

1
2
3
docker inspect `container_name` | grep IPAddress

iptables -t nat -A DOCKER -p tcp --dport 10001 -j DNAT --to-destination 172.17.0.2:10001

容器拷贝文件

将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

1
docker cp /www/runoob 96f7f14e99ab:/www/

将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。

1
docker cp /www/runoob 96f7f14e99ab:/www

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

1
docker cp  96f7f14e99ab:/www /tmp/

socat 用法

在docker环境内,运行以下命令将heapTest_x86程序的输入输出绑定到10001端口

1
socat tcp-listen:10001,reuseaddr,fork EXEC:./heapTest_x86,pty,raw,echo=0

监听 192.168.1.252 网卡的 15672 端口,并将请求转发至 172.17.0.15 的 15672 端口。

1
$ socat  -d -d -lf /var/log/socat.log TCP4-LISTEN:15672,bind=192.168.1.252,reuseaddr,fork TCP4:172.17.0.15:15672

参数说明:

1
2
3
4
5
6
-d -d  前面两个连续的 -d -d 代表调试信息的输出级别。
-lf /var/log/socat.log 指定输出信息的文件保存位置。
TCP4-LISTEN:15672 在本地建立一个 TCP IPv4 协议的监听端口,也就是转发端口。这里是 15672,请根据实际情况改成你自己需要转发的端口。
bind 指定监听绑定的 IP 地址,不绑定的话将监听服务器上可用的全部 IP。
reuseaddr 绑定一个本地端口。
fork TCP4:172.17.0.15:15672 指的是要转发到的服务器 IP 和端口,这里是 172.17.0.15 的 15672 端口。

转发 UDP

转发 UDP 和 TCP 类似,只要把 TCP4 改成 UDP4 就行了。

1
$ socat -d -d -lf /var/log/socat.log UDP4-LISTEN:123,bind=192.168.1.252,reuseaddr,fork UDP4:172.17.0.15:123

文章作者: Ginove
文章链接: https://ginove.github.io/2018/11/03/linux-pwn-环境搭建/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ginove