Категория > Новости > HTB Bucket. Взламываем сайт через Amazon S3 и похищаем пароль рута через PDF - «Новости»
HTB Bucket. Взламываем сайт через Amazon S3 и похищаем пароль рута через PDF - «Новости»2-05-2021, 00:00. Автор: Ирина |
Hack The Box. По дороге ты научишься получать и создавать данные в базе DynamoDB, посмотришь на работу с бакетами Amazon S3 и научишься получать данные через вложение в PDF, используя уязвимость в конвертере PDF4ML.warningПодключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками. РазведкаСканирование портовПервым делом я заношу IP машины (10.10.10.212) в файл Затем переходим к сканированию портов. Я запускаю скрипт, который уже не раз описывал, и сканирую порты в два прохода (второй раз — со скриптами по найденным в первый раз портам). ports=$(nmap -p- --min-rate=500 $1 | grep^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1 Результат работы скриптаПо результатам имеем два открытых порта: 22-й (служба SSH) и 80-й (веб‑сервер Apache). На SSH пока стучаться рано, поскольку у нас нет учетных данных. Гораздо перспективнее будет изучить веб‑сервер. Внимательно осмотримся на сайте, так как, помимо точек входа и разных уязвимостей, следует собирать и другую важную информацию, например имена пользователей, применяемые технологии и прочие вещи, которые могут пригодиться в дальнейшем. Сам сайт на первый взгляд кажется простеньким, и на первой же странице отметим доменное имя Главная страница сайта http://bucket.htb Заглядываем в исходный код страницы и видим примечательную особенность — использованы теги для вставки изображений. Файлы с картинками загружаются с другого домена — Исходный код домашней страницы http://bucket.htb Значит, на веб‑сервере есть виртуальный хост Тестовый запрос по обнаруженному адресу Вместо HTML с него возвращается статус выполнения, а значит, используется какая‑то служебная технология (из названия поддомена пока что стараемся не делать быстрых выводов). Сканирование веб-страницОдно из первых действий при тестировании веб‑приложений — это сканирование сайта на наличие интересных каталогов и файлов. Особенно это полезно, когда натыкаешься на тупик, подобный тому, в котором мы оказались. Для сканирования можно применять широко известные программы dirsearch и DIRB, но я обычно пользуюсь более быстрым gobuster. При запуске используем следующие параметры:
gobuster dir -t 128 -uhttp://s3.bucket.htb -w/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt --timeout 30s
Найденные каталоги на http://s3.bucket.htb/Находим всего два интересных каталога. При обращении к первому снова получим ответ со статусом. Кстати, чтобы копаться в JSON, можно прямо в терминале использовать утилиту
curl http://s3.bucket.htb/health | jq
Преобразованный с помощью jq ответ от http://s3.bucket.htb/healthОбращаясь к каталогу
http://444af250749d:4566/shell/
Если открыть его в браузере, можно увидеть, что это Amazon S3. Что ж, теперь никаких сомнений! Страница, полученная при обращении к http://s3.bucket.htb/shell Точка входаAmazon S3Amazon Simple Storage Service (или S3) — это сервис для хранения объектов, полезный, когда нужно легко масштабирующееся хранилище. Его часто применяют, чтобы хранить статическую часть сайтов, ресурсы мобильных приложений, а также для хранения бэкапов и прочих подобных нужд. Также у Amazon есть своя СУБД класса NoSQL, которая хранит данные в формате «ключ — значение», она называется DynamoDB. Наша цель — получить доступ к хранимым данным, поскольку они явно важны для прохождения машины. По S3 есть официальная документация. Ознакомившись с ней, ставим набор утилит AWS Command Line и настраиваем доступ к хранилищу.
sudo apt install awscli
aws configure
Конфигурация AWS CLIРазберемся с заданными параметрами.
Теперь, когда заданы основные параметры для работы с AWS, мы можем выполнять запросы к базе DynamoDB. Как и при работе с любой базой, первым делом просмотрим, есть ли доступные таблицы. В запросе используем следующие параметры:
aws dynamodb list-tables --endpoint-urlhttp://s3.bucket.htb/--no-sign-request | jq
Таблицы в базе DynamoDBПерейти обратно к новости |