Silentium
USER FLAG
nmap 扫一下靶机的端口服务
1 | |
22 的 SSH 服务,还有 80 的 HTTP

先看 80 的,无法重定向,设置一下/etc/hosts
1 | |

浏览器可以成功访问到

用 dirsearch 扫目录没扫到有用东西
利用 fuff 工具扫子域名
1 | |
可以扫到staging.silentium.htb

配置一下/etc/hosts
1 | |

然后就可以访问到了

在http://silentium.htb/#team可以看到有个 Ben 用户名

随便输入个admin@silentium.htb,回显的是 404(邮箱后缀就是靠猜呗)

输入ben@silentium.htb,回显的是 401

这说明是存在这个用户的,只是密码不对而已
不过这有个忘记密码的功能


输入邮箱ben@silentium.htb,发包可以得到 tempToken:CRQa3U0jTP6msNDmUocNmvOIcnOpBwKUD7ecSVfDPNHrSq0a7HMLEN3NoDQidiHN

这里还有个改密码的地方

在这里输入 tempToken 就能改密码了


成功登录

可以看出这是 Flowise,还有可以在/api/v1/version看到当前的版本是 3.0.5

去找一下对应版本的历史漏洞和POC:CVE-2025-58434 + CVE-2025-59528
POC:https://github.com/AzureADTrent/CVE-2025-58434-59528
1 | |

可以看到登录后能在http://staging.silentium.htb/apikey获取到 apikey

1 | |
直接复制到终端即可,然后让输入地址,这里是反弹shell的地址,就输入 kali 分配到的 IP:10.10.16.23

然后是端口 4444

这里让准备好监听
1 | |

最后监听好后回车即可,成功反弹shell

直接就是 root 用户

不过是在 docker 容器中

env 环境变量可以查看到密码:r04D!!_R4ge

尝试 22 端口登录 ben 用户
1 | |
成功登录

得到 user flag

1 | |
ROOT FLAG
尝试提权,SUID 和 SUDO 都没有,查看网络服务
1 | |
有个 3001 端口

端口转发带出来
1 | |

本地访问http://127.0.0.1:3001/

是 Gogs 服务,找历史漏洞和POC
可以找到:CVE-2025-8110

到最新版还没修复(不过文章是25年的了)

POC:https://github.com/Ghxstsec/CVE-2025-8110
脚本里的 username 和 token 要改一下

要先注册一个用户,我注册的是 test 用户,密码是 Admin@123

注册好后登录进去,token可以在 “用户设置” 中

“授权应用” 里生成


1 | |
然后修改一下脚本即可

运行命令,这里的 IP 和 端口是反弹shell的
1 | |

成功提权


1 | |