Рейтинг сложности: "Очень легко"
"Three" является частью лаборатории "Starting Point. Tier 1."
Задачи
Task №1
Вопрос: Сколько портов TCP открыто?
Ответ: Сканим c Nmap
Task №2
Вопрос: Каков домен адреса электронной почты, указанного в разделе «Контакты» на сайте?
Ответ: На сайте открываем раздел "Contact".
Домен: thetoppers.htb
Task №3
Вопрос: В отсутствие DNS-сервера, какой файл Linux мы можем использовать для преобразования имен хостов в IP-адреса, чтобы получить доступ к веб-сайтам, которые указывают на эти имена хостов?
Ответ: /etc/hosts
Task №4
Вопрос: Какой поддомен обнаруживается при дальнейшем переборе?
Ответ: Добавим пару IP и имя хоста в /etc/hosts.
Проверяем в браузере - сайт загрузился
Используем gobuster cо словарем для перебора субдоменов.
Обнаруживаем субдомен s3.
Task №5
Вопрос: Какая служба работает на обнаруженном субдомене?
Ответ: Amazon S3
Task №6
Вопрос: Какую утилиту командной строки можно использовать для взаимодействия со службой, работающей на обнаруженном поддомене?
Ответ: awscli
Task №7
Вопрос: Какая команда используется для настройки установки AWS CLI?
Ответ: aws configure
Task №8
Вопрос: Какая команда используется вышеуказанной утилитой для вывода списка всех сегментов S3?
Ответ: aws s3 ls
Task №9
Вопрос: Этот сервер настроен для запуска файлов, написанных на каком языке веб-скриптов?
Ответ: php
Поиск флага
Установим AWS CLI. Настроим программу через aws configure.
Во всех пунктах настройки можно ввести любой символ.
Проверим cli и узнаем файлы на хранилище амазон.
Если возникает ошибка можно добавить поддомен в /etc/hosts.
Находим папку thetoppers.htb
Есть только файл index.php.
Нам нужно получить доступ к остальным файлам на сервере для поиска флага. Смотрим базовые команды для aws.
Есть возможность загрузить файл на сервер. Запишем Web Shell на PHP в файл shell.php и загрузим его на сервер, чтоб бы получить доступ к терминалу.
Файл shell.php
<?php system($_GET["cmd"]);?>
Через команду cp загружаем файл в хранилище и проверяем его наличие.
В браузере на запрос файла shell.php приходит ответ 200.
Попробуем ввести команду ls
Так как команда сработала и ответ пришел, значит можно выполнять любые команды на сервере. Проверим корень сервера и находим файл flag.txt.
Открываем файл и находим нужный флаг.
a980d99281a28d638ac68b9bf9453c2b