内网渗透之端口转发,socket代理

s

端口转发

当我们获取到一台,边缘(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,可以访问内网资源,但是不能出外网

1

我们要做的是,在网卡2,开启个socket5服务,然后将网卡2的socket5服务端口,转到网卡1的端口上,我们就可以连接,网卡1的端口,进行socket5代理,这样就能通过外网进行内网渗透了。

这里socket5代理,我就用远程连接服务来代替,这样直观了解些

设置转发规则

netsh操作需要管理员权限

1
2
1.先查看下当前配置的转发规则
netsh interface portproxy show all

3

现在未添加转发规则

我们来添加一条转发规则,我们把内网的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

4

设置防火墙规则

规则已经添加进去了,现在我们要查看防火墙,如果开启了防火墙,要对其添加一条,监听端口允许入站规则
或者直接关闭防火墙,但一般不推荐关闭防火墙

1
2
3
4
5
6
查看防火墙是否开启
netsh firewall show config
关闭防火墙
netsh advfirewall set allprofiles state off
开启服防火墙
netsh advfirewall set allprofiles state on

2

当前服务器开启了防火墙,我们要添加一条入站规则

1
2
添加一条名为test的入站规则,端口放行9696
netsh advfirewall firewall add rule name=test dir=in action=allow protocol=tcp localport=9696

5

添加成功后,我们连接网卡1的9696端口,流量就会转发到网卡2的3389端口上了

6

删除规则

端口转发成功了,接下来是,删除规则,当我们干完活记得搽屁股

1
2
3
删除指定端口转发规则

netsh interface portproxy delete v4tov4 listenport=9696 listenaddress=

7

1
2
删除入站规则
netsh advfirewall firewall delete rule name=test dir=in protocol=tcp localport=9696

8

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.git
cd s5.go
go build .\s5.go
./s5.go.exe //默认在8080端口开启socket5服务
9
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服务

10

如果不想go程序显示