Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Предположим, ты уже умеешь повышать привилегии в среде AWS. Но туда ведь нужно еще как‑то попасть! Файлы .credentials
в репозиториях и другие простые ошибки разработчиков встречаются все реже и реже. Что еще можно поискать? Об этом и поговорим сегодня.
В своей прошлой статье я рассказывал о самых простых и основных темах — IAM и EC2. Но тем временем AWS — это чуть больше двух сотен разных сервисов.
Сейчас все больше компаний начинают использовать контейнерные среды. AWS, следуя за спросом, предлагает несколько сервисов для работы с Docker или Kubernetes. У кластеров в AWS есть некоторые отличия от обычных, но они крайне незначительны.
Обычная система и AWS
Слева обычная система, справа то же самое, но в AWS. Везде присутствует Docker Engine — собственно, сам движок, обеспечивающий работоспособность контейнерной среды. И реестр — специальное место, откуда можно скачать образ докера.
www
Подробнее о Docker и Kubernetes:
В ECR хранятся образы контейнеров. Они помогают разработчикам в управлении, развертывании и настройке инфраструктуры. В подобных местах при пентесте особо не разгуляешься, но очень часто не самые внимательные кодеры могут оставить в образе какие‑нибудь конфиденциальные данные, поэтому обязательно стоит проверять в том числе и реестр.
Без учетных данных надеяться можно лишь на удачу. ECR имеет URL для доступа следующего вида:
https://<account-id>.dkr.ecr.<region>.amazonaws.com
Например:
https://184194106212.dkr.ecr.us-east-2.amazonaws.com
Возможно, удача тебе улыбнется и ты получишь доступ к реестру.
Также иногда на пентесте встречается работающая на 5000-м порте служба Docker Registry, которую пока не умеет определять Nmap.
Сканирование хоста с работающим Docker Registry при помощи Nmap
Если реестр требует аутентификации, то при попытке обратиться к нему получим ошибку:
root@xtreme$> curl -k https://<IP>:5000/v2/_catalog
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}
Имея на руках список возможных логинов, можно попробовать атаковать брутфорсом:
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/
А когда найдешь данные для аутентификации, сдампить образы поможет DockerRegistryGrabber.
Если есть доступ к AWS CLI, то, конечно же, получится достать на порядок больше информации.
Источник: xakep.ru