Система для поиска незащищенных

Система для поиска незащищенных S3-серверов BuckHacker.

Совсем недавно горизонт событий «Information Gathering»-инициатив разнообразил совершенно новый проект BuckHacker ().

BuckHacker предназначен для поиска незащищенных серверов Amazon Simple Storage Service (S3), известных как бакеты. Поиск можно осуществлять по имени бакета (как правило, содержит название компании или организации, использующей сервер) или по имени файла хранящегося на нем. Сервис очень простой, но многофункциональный. По словам разработчиков, система собирает имена бакетов, индексирует страницы со списками содержимых файлов, анализирует результаты и сохраняет их в базе данных, доступной для пользователей BuckHacker.

Целью проекта является привлечение внимания к проблеме безопасности бакетов. За последние несколько лет слишком много компаний подвергалось удару из-за неверных разрешений на доступ к бакетам. Мы создали BuckHacker по примеру Shodan или Censys, чтобы можно было лучше оценить реальные масштабы угрозы. Объясняет разработчик.

UPD: Рейтинг самых масштабных утечек из хранилищ S3 за последнее время и познавательный артикль о ситуации в целом с S3-серверами от Rapid7

Будучи в фазе pre-alfa, проект был запущен 13 февраля и ушел в оффлайн уже спустя 8 часов. Как утверждают разработчики, запущенная база содержала в 2-3 раза меньший объем данных, от реально имеющегося в их распоряжении. Несмотря на это, сервер не выдержал большое кол-во запросов, а веб-имплементация сервиса оказалась «плохо написана». Авторы проекта оправдывают свой провал недостаточным опытом в веб-разработке и иной квалификацией девелоперов (реверс инжиринг). Даты следующего запуска проекта пока не анонсированы.

Сама по себе идея и мотивы создания подобного проекта являются очевидными. На гитхабе уже достаточно давно существует ряд проектов, упрощающих исследование незащищенных серверов Amazon S3.

Наиболее полезные из них:

READ  К каким последствиям

Этот инструмент следует причислить к must-have списку арсенала любого нетсталкера бакхантера. Он объединяет в себе сразу три модуля для удобного поиска бакетов и еще несколько полезных фич.

Certstream модуль, осуществляющий поиск уязвимых бакетов, на основе добавляемых в реальном времени записей в логи проекта Certificate Transparency.

Domain ищет публично доступные бакеты перебирая индивидуальные списки доменов.

Keywords этот модуль пытается найти некорректно настроенные S3-хранилища используя индивидуальные словари с «ключевыми словами».

Каждый модуль поддерживает генерацию до 1200 «умных» пермутаций на каждый домен Точно также все модули осуществляют проверку punycode и поддерживают аутентификацию

Этот инструмент используется в два этапа. Первый этап является исключительным для данного проекта с точки зрения уникальности возможности выбора «региона».

bucketDomain = ‘http:s3-‘ + region + ‘.amazonaws.com’

Программа изучает список интересующих исследователя доменов на предмет использования ими S3-хранилищ. Интересной практикой оказалось бы изучение рейтинга «Топ 1,000,000» от Alexa или Fortune1000. Второй этап заключается в банальном изучении полученных бакетов на публичность доступа и права записи

Список S3 «регионов»

Фаззер S3-серверов.

Проверяет приватные бакеты на корректность настроек в прошлом спомощью WayBack Machine.

Словари для перечисленных задач:

Вроде бы этого достаточно, но нет. Пришло время разобрать нюансы искомого проекта, оставшиеся за кулисами существующих на данный момент скудных обзоров в тематических СМИ.

Имеет ли BuckHacker API?

Нет, не имеет. Разработчики даже не упоминали о возможности его появления. Однако, можно с большой долей вероятности полагать его применение в будущем, если проект станет пользоваться достаточной популярностью. На официальной страничке в твиттере проект уже набрал 713 фоловеров.

Чем же BuckHacker отличается от Google-дорков или вышеперечисленных инструментов кроме того, что это еще и собранная из результатов поисковая система?

READ  Android wear 2.0: полный

Это действительно самый интересный вопрос. Авторы проекта утверждают, что собирают имена бакетов несколькими способами (не раскрывая их) и не прибегают к грубому перебору. Разработчики также заверяют, что не исследуют S3-хранилища, требующие аутентификации.

We collect bucket names in several ways, we dont bruteforce for bucket names but we have more elegant ideas. At the moment we have more than 100.000 buckets names. We dont use any kind of credentials to fetch the data (remember evil people could do also that) and we dont perform any kind of write access.

Это вся имеющаяся информация о данном проекте?

Нет, еще известно, что разработчики изначально собирали имена бакетов сразу нескольких вендоров облачных хранилищ (amazon s3, digital ocean spaces, azure blob, google storage). Дальше, анализируя огромные массивы данных, состоящие из ответов на запросы в формате .xml, исследователи обнаружили множество случаев одной ошибки, означающей что был запрошен не существующий домен. Дальше стало известно, что некоторые из «несуществующих доменов» являлись «полностью определёнными именами домена». Это могло означать, что раньше домен мог быть привязан к теперь уже не существующей записи. Проведя обратные днс запросы избранных доменов, разработчик подтвердил свои догадки. Таким образом было выявлено 1700 имен бакетов все еще привязанных к S3-инфраструктуре и уязвимых к атаке «subdomain takeover» (перехвата домена).

BuckHacker — это открытый проект?

Эм..скорее да, чем нет. Однако в официальном репозитории на гитхабе пока пусто.

Для ознакомления с S3 бакетами рекомендую пройти небольшой квест от

UPD: Certificate Transparency экспериментальный открытый IETF стандарт и open source проект, инициатором которого является Google. Проект позволяет любому узнать про все сертификаты, которые были выпущены удостоверяющим центром. Когда все удостоверяющие центры будут поддерживать этот стандарт, станет невозможно выпустить сертификат так, чтобы об этом не мог узнать владелец домена. При использовании Certificate Transparency, информация о каждом выпущенном сертификате записывается в лог (Certificate log) доступный только для записи и открытый для публичного аудита. Этот лог не позволяет менять или удалять записи, а допускает только их добавление. Любой может получить доступ к логу и получить информацию о выпущенных сертификатах. На данный момент уже существует несколько() таких логов. Постоянный мониторинг этих логов позволит отследить выпуски всех сертификатов для домена и не пропустить ошибочный. Чтобы лог был доступен только на добавление записей, используется древовидное хэширование, иначе называемое дерево Меркла(). Это позволяет проверить, что любая более новая версия лога включает в себя любую предыдущую версию. Сам лог должен быть подписан электронной подписью, точнее подписывается хэш корня дерева Меркла для лога.

About

View all posts by