• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья Penetration Testing. Бакеты Amazon S3

amazon_web_cloud-680x400.jpg


Тестировал недавно сайт какой-то музыкальной группы в Miami, а работал собственно этот сайт в CDN Amazon, на самом сайте ничего интересного не нашел, а вот когда начал исследовать bucket'ы....

Что такое Amazon S3?

Интернет-сервис Amazon Simple Storage Service (S3) — это веб-хранилище. Оно спроектировано с целью упрощения веб вычислений и предназначено для хранения и извлечения любых объемов данных из любых источников: веб-сайтов и мобильных приложений, корпоративных приложений, а также данных с датчиков или устройств IoT.

Что такое AWS Bucket?

S3 хранит произвольные объекты размером до 5 терабайт, каждый из которых содержит до 2 килобайт метаданных. Объекты организованы в бакеты (каждый из которых принадлежит учетной записи Amazon) и идентифицируются в каждом бакете с помощью уникального назначенного пользователем ключа. Виртуальные машины Amazon (AMI) которые используются в EC2, могут быть экспортированы в S3 в виде пакетов.

Бакеты и объекты могут быть созданы, перечислены и извлечены с использованием HTTP-интерфейса, REST-стиля или интерфейса SOAP. Кроме того, объекты могут быть загружены с использованием протокола BitTorrent.

Запросы разрешаются с использованием списка управления доступом, связанного с каждым бакетом и объектом.

Названия и ключи bucket выбираются так, чтобы объекты могли быть адресованы с использованием URL-адресов:

  • /key
  • http://bucket.s3.amazonaws.com/key
  • http://bucket/key (где бакет - это DNS CNAME указывающий на bucket.s3.amazonaws.com)

1) Поиск бакетов.

Для поиска бакетов, я воспользовался этой тулзой.

Код:
./find_public_buckets.py -p -s company.com

Screenshot_20171011_230739.png


По окончании процесса смотрим файл buckets_found.txt:

Screenshot_20171011_231038.png


Из списка лога видно что нашли 4 бакета, но доступ к ним запрещен, один бакет публичный, и включим редирект. Значит напрямую по адресу, мы ничего не получим, а если спросим у Гугла?

Код:
site:s3.amazonaws.com inurl:company filetype:xls password

Screenshot_20171011_233812.jpg


Бинго! Получаем логины и пароли от аккаунтов организации.

Company - вымышленное название, любые совпадения случайны!

Вывод:

Иногда бывает, где-то, за каким-то сервисом админы не доглядели, или вообще *** положили, ведь у амазон нет встроенной функции поиска бакетов, но зато какой-нибудь хакер напишет или уже написал скрипт для автоматизации поиска, и все, приплыли!

Все действия в этой статье были произведены при реальном пентесте, грамотно расставляйте права на файлы и включайте доступ только по ключу, и тогда уровень вероятности что ваш сайт в амазоне похакает какой-нибудь скрипт-кидди будет стремиться ближе к нулю (если сами ключи не светить).
 
Последнее редактирование модератором:

InetTester

Green Team
21.10.2018
308
43
BIT
0
Прочитал немного с опозданием вашу статью)
на сколько я понял под определения бакет попадает абсолютно любой файл который храниться в сервисе Amazon Simple Storage Service(S3) и который может быть просто получен по некому заданому пользователю ключу ?
Т.е проще говоря можно попробовать получить брутом все бакеты а далее уже качнуть их и глянуть что они там содержат....
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!