Telegram / Boosty / Видео
Подпишись на канал t.me/kiberdruzhinnik, чтобы не пропускать контент.
Также на https://boosty.to/kiberdruzhinnik/posts/5dd92d9a-f734-4b06-870f-c592eab47314 я опубликовал подробный видео разбор этой задачи. Это может быть полезно для обучения, если вы делаете первые шаги в информационной безопасности. Поддержать меня на Boosty.
Обзор сервисов
После сканирования обнаруживаем только два открытых порта:
Open 10.129.108.83:22
Open 10.129.108.83:80
Добавим в /etc/hosts
домен perfection.htb
.
Веб-сервис
На сервисе обнаруживаем калькулятор.
SSTI RCE
Проводим атаку по внедрению шаблона в калькулятор по гайду из ссылки https://book.hacktricks.xyz/pentesting-web/ssti-server-side-template-injection#erb-ruby.
Будем инжектировать нашу нагрузку в параметр category1
.
Пробуем перебирать символы и находим, что %0A
байпассит фильтр.
Далее нам не составляет труда выполнить RCE и получить шелл.
Флаг пользователя
Повышение привилегий
В корне пользователя susan
находим интересную папку Migration
, в которой лежит база данных с хешами паролей:
Хеши похожи на SHA-256, но они не брутятся просто так.
В почте пользователя susan
обнаруживаем подсказу по формату пароля:
meterpreter > cat /var/spool/mail/susan
Due to our transition to Jupiter Grades because of the PupilPath data breach, I thought we should also migrate our credentials ('our' including the other students
in our class) to the new platform. I also suggest a new password specification, to make things easier for everyone. The password format is:
{firstname}_{firstname backwards}_{randomly generated integer between 1 and 1,000,000,000}
Note that all letters of the first name should be convered into lowercase.
Please hit me with updates on the migration when you can. I am currently registering our university with the platform.
- Tina, your delightful student
Пишем маленький скрипт для брутфорса, либо используем маску в hashcat
и получаем пароль от учетной записи susan
.
Можно просто залогиниться с помощью SSH:
Проверим права суперпользователя и обнаруживаем их все.
$ sudo -l
[sudo] password for susan:
Matching Defaults entries for susan on perfection:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty
User susan may run the following commands on perfection:
(ALL : ALL) ALL
$ sudo su