Авторы: FaLLenSkiLL Malwarya
Ссылка на тачку HTB:
https://app.hackthebox.com/machines/Runner
Разведка
Из скана nmap узнаем доменное имя и открытые порты
┌──(root㉿kali)-[/home/kali]
└─# nmap -T4 10.10.11.13
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-23 20:40 +05
Nmap scan report for runner.htb (10.10.11.13)
Host is up (0.083s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
8000/tcp open http-alt
Nmap done: 1 IP address (1 host up) scanned in 12.47 seconds
Сразу для удобства добавляем запись в hosts
echo "10.10.11.13 runner.htb" | sudo tee -a /etc/hosts
Сканим директории на 80 и 8000 портах
Target: http://runner.htb/
[20:54:33] Starting:
[20:55:31] 403 - 564B - /assets/
[20:55:31] 301 - 178B - /assets -> http://runner.htb/assets/
Task Completed
Из директорий полезного я ничего не увидел, поэтому можно попробовать поискать поддомены
Добавляем найденный поддомен в hosts
echo "10.10.11.13 teamcity.runner.htb" | sudo tee -a /etc/hosts
User flag
Заходим на teamcity.runner.htb, видим форму авторизации JetBrains
Если погуглить, можно найти парочку эксплоитов на эту версию
Я попробовал использовать разные эксплоиты, но принцип у них один. Добавление админской учетной записи
Авторизуемся с нашей только что созданной учеткой
На всякий случай проверяем действительно ли мы админы
Если да, то мы можем создавать и скачивать бекапы в панели администратора
В самом бекапе нас интересуют хеши паролей пользователей и приватный ключ ssh
chmod 400 id_rsa
Подключаемся к ssh по ключику (сработало на пользователе john)
Читаем user flag
Root flag
Я первым делом проверил открытые порты
На 9000 кажется есть что-то интересное, пробросим его себе
Заходим на вебчик. Тут у нас portainer.io
К нему подошла учетка matthew, пароль от которой можно получить сбрутив хэш их бекапа
Попадаем в панель управления контейнерами
Нам нужно создать новый контейнер
В качестве Images
указываем teamcity:latest
В Working dir указываем /proc/self/fd/8
После деплоя заходим в консоль
Подключаться будем из под пользователя root
Хоть мы на данный момент находимся в контейнере, мы все равно можем прочитать флаг с тачки
Tags: