Интересная история о битве с Docker Registry от господина @sab0tag3d:
Я часто использую словарь уважаемого Бума (https://github.com/Bo0oM/fuzz.txt) для брута веб-директорий и поиска низковисящих багов.
В этот раз во время внешнего пентеста, я нашел директорию https://example.com:5000/v2/_catalog в которой был примерно следующий список:
Выяснив, что это Docker API, я решил копнуть дальше и просмотреть, что этот может быть, и наткнулся на отличную статью https://www.notsosecure.com/anatomy-of-a-hack-docker-registry/
С помощью утилиты, упомянутой в статье, я скачал образ контейнера jenkins.
Внутри разработчики заботливо приложили sh-скрипт, наверное, для удобства:
Я сразу обрадовался, что возможно нашел приватный ключ, и начал пробовать его использовать на всех хостах в сети, но безуспешно.
Но потом до меня дошло, что нужно заглянуть в директорию
Вот примерный список что там нашлось: Дополнительный набор приватных ssh-ключей, а также пароли от ssh к хостам, если вдруг что-то пойдет не так, тестовые пароли: от JIRA, BUGZILLA и кучи сервисов о назначении который я могу только догадываться.
Резюме от автора канала: Мораль этой истории должна быть понятна каждому, registry и печень надо беречь с молодости.
Я часто использую словарь уважаемого Бума (https://github.com/Bo0oM/fuzz.txt) для брута веб-директорий и поиска низковисящих багов.
В этот раз во время внешнего пентеста, я нашел директорию https://example.com:5000/v2/_catalog в которой был примерно следующий список:
{"repositories":["centos.6.10","centos_temp","example.com/jenkins","example.com/ubuntu16.04"]}
Выяснив, что это Docker API, я решил копнуть дальше и просмотреть, что этот может быть, и наткнулся на отличную статью https://www.notsosecure.com/anatomy-of-a-hack-docker-registry/
С помощью утилиты, упомянутой в статье, я скачал образ контейнера jenkins.
Внутри разработчики заботливо приложили sh-скрипт, наверное, для удобства:
$ cat start_point.sh
#! /bin/bash -e
mkdir -p /var/jenkins_home/.ssh
mv /usr/share/jenkins/ref/.ssh/id_rsa /var/jenkins_home/.ssh
chmod 600 /var/jenkins_home/.ssh/id_rsa
Я сразу обрадовался, что возможно нашел приватный ключ, и начал пробовать его использовать на всех хостах в сети, но безуспешно.
Но потом до меня дошло, что нужно заглянуть в директорию
/usr/share/jenkins/ref/.ssh
, (ну кому прийдет в голову класть в эту папку что-то кроме ключей).Вот примерный список что там нашлось: Дополнительный набор приватных ssh-ключей, а также пароли от ssh к хостам, если вдруг что-то пойдет не так, тестовые пароли: от JIRA, BUGZILLA и кучи сервисов о назначении который я могу только догадываться.
Резюме от автора канала: Мораль этой истории должна быть понятна каждому, registry и печень надо беречь с молодости.