Nocturnal
10.10.11.64
nmap
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # Nmap 7.95 scan initiated Tue Apr 15 00:23:01 2025 as: nmap -e utun4 -sC -sV -vv -oA nmap/default 10.10.11.64 Nmap scan report for 10.10.11.64 Host is up, received echo-reply ttl 63 (0.62s latency). Scanned at 2025-04-15 00:23:14 CST for 18s Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE REASON VERSION 22/tcp open ssh syn-ack ttl 63 OpenSSH 8.2p1 Ubuntu 4ubuntu0.12 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 20:26:88:70:08:51:ee:de:3a:a6:20:41:87:96:25:17 (RSA) | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDpf3JJv7Vr55+A/O4p/l+TRCtst7lttqsZHEA42U5Edkqx/Kb8c+F0A4wMCVOMqwyR/PaMdmzAomYGvNYhi3NelwIEqdKKnL+5svrsStqb9XjyShPD9SQK5Su7xBt+/TfJyJFRcsl7ZJdfc6xnNHQITvwa6uZhLsicycj0yf1Mwdzy9hsc8KRY2fhzARBaPUFdG0xte2MkaGXCBuI0tMHsqJpkeZ46MQJbH5oh4zqg2J8KW+m1suAC5toA9kaLgRis8p/wSiLYtsfYyLkOt2U+E+FZs4i3vhVxb9Sjl9QuuhKaGKQN2aKc8ItrK8dxpUbXfHr1Y48HtUejBj+AleMrUMBXQtjzWheSe/dKeZyq8EuCAzeEKdKs4C7ZJITVxEe8toy7jRmBrsDe4oYcQU2J76cvNZomU9VlRv/lkxO6+158WtxqHGTzvaGIZXijIWj62ZrgTS6IpdjP3Yx7KX6bCxpZQ3+jyYN1IdppOzDYRGMjhq5ybD4eI437q6CSL20= | 256 4f:80:05:33:a6:d4:22:64:e9:ed:14:e3:12:bc:96:f1 (ECDSA) | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLcnMmaOpYYv5IoOYfwkaYqI9hP6MhgXCT9Cld1XLFLBhT+9SsJEpV6Ecv+d3A1mEOoFL4sbJlvrt2v5VoHcf4M= | 256 d9:88:1f:68:43:8e:d4:2a:52:fc:f0:66:d4:b9:ee:6b (ED25519) |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASsDOOb+I4J4vIK5Kz0oHmXjwRJMHNJjXKXKsW0z/dy 80/tcp open http syn-ack ttl 63 nginx 1.18.0 (Ubuntu) | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS |_http-server-header: nginx/1.18.0 (Ubuntu) |_http-title: Did not follow redirect to http://nocturnal.htb/ Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Read data files from: /opt/homebrew/bin/../share/nmap Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . # Nmap done at Tue Apr 15 00:23:32 2025 -- 1 IP address (1 host up) scanned in 30.69 seconds
|
添加 nocturnal.htb 至 hosts
fuzz
注册后登陆并上传文件查看下载接口

此处存在横向越权,可以下载其他用户的文件,将 username 使用 fuff 进行爆破后得到用户名 amanda,下载其上传的 privacy.odt

使用其中的密码登录,可以看到管理员后台

通过后台进行备份下载

审计 php 代码,发现 admin.php 处存在命令注入,有过滤空格等其他字符
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
| function cleanEntry($entry) { $blacklist_chars = [';', '&', '|', '$', ' ', '`', '{', '}', '&&'];
foreach ($blacklist_chars as $char) { if (strpos($entry, $char) !== false) { return false; } }
return htmlspecialchars($entry, ENT_QUOTES, 'UTF-8'); }
if (isset($_POST['backup']) && !empty($_POST['password'])) { $password = cleanEntry($_POST['password']); $backupFile = "backups/backup_" . date('Y-m-d') . ".zip";
if ($password === false) { echo "<div class='error-message'>Error: Try another password.</div>"; } else { $logFile = '/tmp/backup_' . uniqid() . '.log'; $command = "zip -x './backups/*' -r -P " . $password . " " . $backupFile . " . > " . $logFile . " 2>&1 &"; $descriptor_spec = [ 0 => ["pipe", "r"], 1 => ["file", $logFile, "w"], 2 => ["file", $logFile, "w"], ];
$process = proc_open($command, $descriptor_spec, $pipes); if (is_resource($process)) { proc_close($process); }
sleep(2);
$logContents = file_get_contents($logFile); if (strpos($logContents, 'zip error') === false) { echo "<div class='backup-success'>"; echo "<p>Backup created successfully.</p>"; echo "<a href='" . htmlspecialchars($backupFile) . "' class='download-button' download>Download Backup</a>"; echo "<h3>Output:</h3><pre>" . htmlspecialchars($logContents) . "</pre>"; echo "</div>"; } else { echo "<div class='error-message'>Error creating the backup.</div>"; }
unlink($logFile); } }
|
在其他源码文件中得知数据库为 sqlite,文件位置为 ../nocturnal_database/nocturnal_database.db

于是通过命令注入下载数据库,查看 user 表哈希
1 2 3 4
| admin d725aeba143f575736b07e045d8ceebb amanda df8b20aa0c935023f99ea58358fb63c4 tobias 55c82b1ccd55ab219b3b109b07d5061d test e10adc3949ba59abbe56e057f20f883e
|
crackstation
tobias:slowmotionapocalypse 成功登陆 ssh
提权
linpeas
ports
转发 8080 端口到本地,使用凭据 admin:slowmotionapocalypse 登陆服务
version
ispconfig 3.2.10 存在 PHP injection https://github.com/bipbopbup/CVE-2023-46818-python-exploit
shell