Удар по контейнерам. Пентестим Docker и Kubernetes в облаке Amazon

Содержание статьи

  • Elastic Container Registry (ECR)
  • Внешняя разведка
  • AWS CLI
  • Elastic Container Service (ECS)
  • Initial Access
  • Enumeration
  • Elastic Kubernetes Service (EKS)
  • Initial Access
  • Перечисление
  • Выводы

Пред­положим, ты уже уме­ешь повышать при­виле­гии в сре­де AWS. Но туда ведь нуж­но еще как‑то попасть! Фай­лы .credentials в репози­тори­ях и дру­гие прос­тые ошиб­ки раз­работ­чиков встре­чают­ся все реже и реже. Что еще мож­но поис­кать? Об этом и погово­рим сегод­ня.

В сво­ей прош­лой статье я рас­ска­зывал о самых прос­тых и основных темах — IAM и EC2. Но тем вре­менем AWS — это чуть боль­ше двух сотен раз­ных сер­висов.

Сей­час все боль­ше ком­паний начина­ют исполь­зовать кон­тей­нер­ные сре­ды. AWS, сле­дуя за спро­сом, пред­лага­ет нес­коль­ко сер­висов для работы с Docker или Kubernetes. У клас­теров в AWS есть некото­рые отли­чия от обыч­ных, но они край­не нез­начитель­ны.

Обыч­ная сис­тема и AWS

Сле­ва обыч­ная сис­тема, спра­ва то же самое, но в AWS. Вез­де при­сутс­тву­ет Docker Engine — собс­твен­но, сам дви­жок, обес­печива­ющий работос­пособ­ность кон­тей­нер­ной сре­ды. И реестр — спе­циаль­ное мес­то, отку­да мож­но ска­чать образ докера.

www

Под­робнее о Docker и Kubernetes:

  • The Illustrated Children’s Guide to Kubernetes
  • Xakep #196. Все о Docker

 

Elastic Container Registry (ECR)

 

Внешняя разведка

В 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

Ес­ли есть дос­туп к AWS CLI, то, конеч­но же, получит­ся дос­тать на порядок боль­ше информа­ции.

Источник: xakep.ru

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *