Venom内网代理工具
摘要:Venom代理工具使用
<1> 工具介绍
Venom是一款为渗透测试人员设计的、使用Go开发的多级代理工具
Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理
在内网渗透时,可将网络流量代理到多层内网
特性:
- 可视化网络拓扑
- 多级socks5代理
- 多级端口转发
- 端口复用 (apache/mysql/…)
- ssh隧道
- 交互式shell
- 文件的上传和下载
- 节点间通信加密
- 支持多种平台(Linux/Windows/MacOS)和多种架构(x86/x64/arm/mips)
下载地址:https://github.com/Dliv3/Venom/
<2> 工具使用
(1) 监听与发起连接
admin节点和agent节点均可监听连接也可发起连接
服务端admin监听、客户端agent发起连接:
1 | 服务端:./admin_linux_x64 -lport 1111 |
客户端agent监听、服务端admin发起连接:
1 | 服务端:./admin_linux_x64 -rhost 本机ip -rport 1111 |
(2) agent节点支持端口复用
agent提供了两种端口复用方法
- 通过SO_REUSEPORT和SO_REUSEADDR选项进行端口复用
- 通过iptables进行端口复用(仅支持Linux平台)
通过venom提供的端口复用功能,在windows上可以复用apache、mysql等服务的端口,暂时无法复用RDP、IIS等服务端口,在linux上可以复用多数服务端口。被复用的端口仍可正常对外提供其原有服务
第一种端口复用:
1 | # 以windows下apache为例 |
第二种端口复用:
1 | # 以linux下apache为例 |
这种端口复用方法会在本机设置iptables规则,将reuse-port的流量转发到lport,再由agent分发流量
需要注意一点,如果通过sigterm,sigint信号结束程序(kill或ctrl-c),程序可以自动清理iptables规则。如果agent被kill -9杀掉则无法自动清理iptables规则,需要手动清理,因为agent程序无法处理sigkill信号。
为了避免iptables规则不能自动被清理导致渗透测试者无法访问80端口服务,所以第二种端口复用方法采用了iptables -m recent通过特殊的tcp包控制iptables转发规则是否开启
1 | # 启动agent在linux主机上设置的iptables规则 |
(3) admin结点命令
1 | (admin node) >>> help |
goto 操作某节点、getdes/setdes 获取/设置节点信息描述

connect/listen 结点互连
1 | (node 1) >>> listen 2222 |
socks 建立到某节点的socks5代理
1 | (node 1) >>> socks 7777 |
rforward 将node1网段的192.168.200.1的80端口转发到admin节点本地的3333端口
1 | (node 1) >>> rforward 192.168.200.1 80 3333 |
(4) 多层网络环境 搭配proxifier使用
工具支持以节点为跳板,构建多级代理。
socks 建立到目标结点的socks5代理,然后 proxifier 搭配代理,即可访问目标内网其他主机
例如:
网络环境:我们拿下了外网可访问的 192.168.200.2主机,再其C段内 存活一台 192.168.200.1 直接访问不可
利用 venom + proxifier


然后利用 proxifier连接代理,将自己的访问 由代理转发出去
设置 Proxy Server

然后配置 Proxification Rules 代理解析规则
Target Hosts 为 192.168.200.1

即可将自己访问 192.168.200.1的请求通过服务器socks5代理转发过去
然后浏览器 输入 即可访问到内网主机开启的web服务

