Похек
16.4K subscribers
2.08K photos
110 videos
243 files
3.06K links
All materials published on the channel are for educational and informational purposes only.

Мнение автора ≠ мнение компании, где работает автор

Чат: @poxek_chat

Реклама: @PoxekAds_bot или
https://telega.in/c/poxek

РКН: https://clck.ru/3FsVhp
Download Telegram
Forwarded from Blue (h/c)at Café (Женя Белкин '";DROP DATABASE db_name();--)
🔺 Ускоряем пентест CI/CD
Пост должен был выйти чуть позже, но увидев, что скоро начнется соревнование для попадания на Standoff 13 👨‍💻 я решил выпустить его чуть раньше. Он может вам пригодиться, особенно, если оценивать прошлый год.

В последние годы пентестеры все больше обращают внимание на присутствие платформ DevOps, а уже и DevSecOps. Эти экосистемы состоят из различных сервисов, используемых в конвейерах CI/CD, включая:

🔵 Репозитории исходного кода (Gitlab, Gitea)

🔵 Реестры контейнеров (Docker Registry, Sonatype Nexus, JFrog)

🔵 Серверы автоматизации (Gitlab-CI, Jenkins)

🔵 Инструменты для обеспечения качества и безопасности кода (много об этом говорили).

Перспективы копать именно под CI/CD: Возможности и проблемы

Для злоумышленников и пентестеров экосистема CI/CD представляет собой "обоюдоострый меч" — богатство информации и потенциальные точки входа. Слияние множества сервисов, от репозиториев до серверов автоматизации, хранит в себе кучу данных, включая исходный код, образы контейнеров и различные учетные данные 🌐. Такая среда облегчает горизонтальное перемещение, а скомпрометированные API-токены открывают путь для дальнейшей эксплуатации.

Мой личный опыт работы показывает, что компрометация облачных сервисов через CI/CD — это быстрый путь к эскалации. (привет уязвимостям в GitLab 🤗)

📕

Пример таких уязвимостей:

CVE-2022-2185 — ТЫК
CVE-2021-22205 — ТЫК
CVE-2023-5009 — ТЫК
CVE-2023-7028 — ТЫК
CVE-2024-0402 — ТЫК


Но тут возникают сложности... множество целей в экосистеме CI/CD, зависимость от официальных API для атак и огромный объем данных требуют стратегического и автоматизированного подхода.

😜 Виновник поста или швейцарский нож для тестирования на проникновение в CI/CD

💻 Сразу ссылка на инструмент — ТЫК

Epyon был представлен в 2022 году как универсальный инструмент для работы пентестеров в экосистемах CI/CD. Разработанный на языке 💻, включает в себя ряд модулей, предназначенных для взаимодействия с распространенными системами DevOps, и легко интегрируется с такими инструментами, как Gitleaks и TruffleHog, для улучшения разведки и эксплуатации (именно этим мне он и понравился).

Модули Epyon охватывают широкий спектр, включая:

1. Gitlab
2. Github
3. Jenkins
4. Azure DevOps
5. Sonatype Nexus
6. Docker Registry
7. Sonarqube
8. Gitea
9. Artifactory
10. Terraform Cloud/Enterprise

✏️ Перейдем к тестам

Я протестировал его в своей домашней лаборатории, изучив модули Gitlab(community), Jenkins, Nexus(community) и Docker Registry (про него и поговорим).

Изначально хотел проверить на Gitlab, но столкнулся с проблемой. У меня слишком много проектов, которые пришлось бы скрывать, чтобы не показывать спойлеры для будущих проектов и стратап-идей.


Пример: HTTP API Docker Registry.

Команда epyon registry может быть использована для взаимодействия с реестром Docker:

Epyon позволяет пользователям легко взаимодействовать с API реестра и получать информацию о нескольких образах контейнеров. Следующий список показывает шаги, которые были выполнены в этом примере:

Шаг 01: Получить список образов

Опция list-images может быть использована для перечисления всех образов контейнеров.

Шаг 02: Получить теги для каждого образа

Опция list-tags получит все доступные теги для каждого образа.

Шаг 03: Скачать образы контейнеров

Опция download-images загрузит и извлечет содержимое образа (загруженные файлы будут помещены в каталог, указанный в файле config.yaml).

Шаг 04: Поиск учетных данных

Недавно в каком-то из чатов спрашивали про поиск учеток в докере. Так вот, как там и ответил, я буду использовать Trufflehog.

🥂 Profit

Вот нами уже и найдены login/pass, api key и много других критически важных артефактов

🛡 Заключение

В нашем деле важно уметь сокращать время, затрачиваемое на выполнение рутинных задач. И данный инструмент с этим справляется как нельзя кстати. Из минусов хочу отметить отсутствие тонкой настройки работы через конфиг, хотя сделать это через библиотеку go viper достаточно просто.

#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1633
Live stream started
Live stream finished (7 minutes)
Как вам такой контент?)

p.s. спасибо битрейту телеги, за пиксели у подписчиков, а у меня нормальную картинку :D
8🐳2
Media is too big
VIEW IN TELEGRAM
Где ж вы ещё такой контент увидите))
😁166🌚3🔥2
Media is too big
VIEW IN TELEGRAM
85🌚4
Tinkoff CTF 2024: разбор демозадания

CTF — соревнования по спортивному хакингу: как олимпиадное программирование, но в информационной безопасности. Команды получают набор заданий на криптографию, анализ скомпилированного кода, веб-уязвимости и не только — на все те направления, с которыми работают профессионалы-безопасники.

Мы сделали соревнования в двух лигах: для опытных и новичков в CTF — тех, кто не специализируется на информационной безопасности и участвует в таком формате впервые. Под новичками имеем в виду опытных разработчиков, SRE- и QA-инженеров, аналитиков и других ИТ-специалистов.

Ребята из Тинькофф написали интересную статью про разбор демо таска с пентестом мобильного приложения. Получилось занимательно)

📌 Читать далее

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥1😁1
Forwarded from BI.ZONE Bug Bounty
«Тинькофф»: миллион за баг

Скоуп в программе «Тинькофф» стал еще дороже — теперь можно получить баунти до миллиона рублей.

Самое время исследовать!
9🐳1
🔓 Go offline. Используем социальную инженерию в реальном мире 🔓

Са­мая зах­ватыва­ющая и роман­тизиро­ван­ная часть соци­аль­ной инже­нерии — это, конеч­но, офлайн‑ата­ки. Фишинг по элек­трон­ной поч­те — инте­рес­ный про­цесс, но в офлай­не пен­тестер по‑нас­тояще­му рас­кры­вает­ся как твор­ческая лич­ность. Вот об этой сто­роне искусс­тва соци­аль­ной инже­нерии мы сегод­ня и погово­рим, раз­берем прак­тичес­кие методы работы пен­тесте­ра в офлай­не, а так­же обсу­дим при­меры успешных атак.

С вос­хищени­ем мы слу­шаем исто­рии о том, как пен­тесте­ры готовят­ся к ата­ке, при­думы­вая под­ходящую леген­ду. Нап­ример, выда­ют себя за устра­ивающе­гося на работу соис­кателя, под­делыва­ют про­пуск, а потом про­ника­ют в периметр орга­низа­ции, под­клю­чают­ся к внут­ренней сети, химичат в сер­верной, рас­кле­ивают пла­каты с QR-кодами или прос­то раз­бра­сыва­ют флеш­ки с «сюр­при­зом». В этой статье мы раз­берем при­меры таких атак. Нес­коль­ко из них будут поза­имс­тво­ваны из моей кни­ги «Кон­тро­лиру­емый взлом. Биб­лия соци­аль­ной инже­нерии», кро­ме них, рас­смот­рим ряд дру­гих при­меров из интерне­та.

🔓 Читать далее

😹 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Stay safe ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
80😁64🐳2
Конференция goCloud от Cloud
Проходило сие действие в ЦДП (Центральный Дом Предпринимателя). Прекрасная локация, довелось в ней пару раз повыступать и очень много раз посещать в прошлом. Много вкусной еды, конференция шла с утра до вечера. Успели и наесться, и выпить :D Сидр был вкусный 🌚

На фото @kerzaster и @belka_e. Спасибо ребятам, за Успенскую компанию на конфе. У нас ещё в планах на след неделе посетить пару митапов и пару в начале апреля. Так что ждите 🤟

Доклады были ± норм, какие-то совсем бред или ни о чем, но было пару, которые было полезно и интересно слушать

Организация была на очень хорошем уровне, хотя в ЦДП не помню, чтобы было плохо) а также вход был бесплатный, получилось пообщаться с редактором Хабр вживую и ещё с парой весёлых людей, нетворинг входил в чат)

Спасибо команде Cloud.ru за эволюшен организацию! Зовите и пишите в будущем))

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2111😁2🐳1
Полезный проект - What2Log, который описывает минимальный, идеальный и экстремальный состав событий ИБ для регистрации в Linux Ubuntu и Windows (7 и 10), а также позволяет выбрать нужные и сгенерить готовый скрипт, который позволит вам включить нужные события 💡
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁1
🔓 Code 27. Пентестим сети с наименьшим ущербом 🔓
#сети #red_team

MITM — это самая импак­тная ата­ка, которую мож­но про­вес­ти в сети. Но одновре­мен­но это и самая опас­ная тех­ника с точ­ки зре­ния рис­ков для инфраструк­туры. В этой статье Магама рас­ска­жет о том, как спу­фить при пен­тесте, что­бы ничего не сло­мать по дороге и не устро­ить DoS.

Нач­нем с теории. Магама показал, какие парамет­ры нуж­ны для кор­рек­тно­го про­веде­ния MITM. Эти нас­трой­ки поз­волят вам избе­жать неп­редна­мерен­ного DoS.

🔓 Читать далее

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
13😁2
BUG BOUNTY. С ЧЕГО НАЧАТЬ НОВИЧКУ

Багхантинг - одно из наиболее перспективных и быстрорастущих направлений инфобеза с довольно низким порогом вхождения для новичков. Очень часто мне пишут в личку сообщения с просьбой посоветовать литературу и интересные ресурсы для старта в ББ. В своей статье собрал небольшой список материалов, которые в свое время использовал и до сих пор использую для изучения.
🔥17
единственное, что стоило добавить в конце: Начните уже наконец)
🔥17😁6
Forwarded from Blue (h/c)at Café (Женя Белкин '";DROP DATABASE db_name();--)
⚙️ Возвращаемся к пентесту и DAST-у

У меня вновь появилась тяга к тыканью кавычек и проведению ресёрчей не только по SCA (этим занимался около 2-х последних месяцев).

Худший язык для сбора транзитивных зависимостей — python (за исключением модулей poetry). Нашел замечательный выход из ситуации — venv + <инструмент про который скоро расскажу> + скрипт на Go (опционально)

Так вот, к чему я это всё? Я начинаю перерабатывать список своих инструментов и новых возможностей в них (Да-да нуклеи, это я про тебя и твои возможности в 3.2). А сегодня предлагаю начать с чего-нибудь известного и того, что помогает мне в обнаружении SSTI (ещё CSTI, но в меньшей степени).

👩‍❤️‍👨 Для самых маленьких

SSTI (Server-Side Template Injection) — это когда злоумышленник может вставить вредоносный код в шаблон на сайте, который затем выполняется сервером. Это как если бы вы дали кому-то возможность написать что-то на вашей доске объявлений, и вместо обычного сообщения они написали команду, заставившую вашу доску сделать что-то нехорошее.

Да, вы не ошиблись, подобные сноски станут нормой, ведь нужно помогать новым людям в нашем сообществе получать новую информацию.

🤨 Так чем же нам искать SSTI ? Ручками

TInjA — это CLI-инструмент для проверки веб-страниц на наличие уязвимостей инъекций шаблонов. Он поддерживает ✍️✍️ наиболее актуальных шаблонизатора (по состоянию на сентябрь 2023 года) для восьми различных языков программирования.

Ссылка на GitHub 💻ТЫК

🤨 Так что же в нем такого, ведь у нас есть множество альтернатив

Изначально я хотел сравнить в тестах TInjA и tplmap, но время и ограничение на количество символов в посте подкачали.

Интересный факт — TPLMap это сокращение от Template Mapper, а также это не просто инструмент для поиска и эксплуатации SSTI, но ещё и хороший помощник в раскрутке RCE через SSTI

Начнем с установки и настройки нашего инструмента
go install -v github.com/Hackmanit/TInjA@1.1.3


Да в прочем-то и всё, он готов к работе... Но мы не забудем про настройки (он подходит даже для интеграции в пайплайн 💻)

--header/-H задает заголовки, которые должны быть добавлены к запросу.

--cookie/-c указывает cookie, которые должны быть добавлены в запрос.

--data/-d указывает POST-тело, которое должно быть добавлено к запросу.


💡 Но чем же он меня зацепил

А тем, что он написан на 💻, а также имеет функцию подгрузки конфига из JSON файла, что мне очень нравится. Нам всего лишь нужно выбрать специфичный флаг при запуске tinja jsonl -j "/path/to/file"
{
"request":{
"method":"POST",
"endpoint":"http://example.com/path",
"body":"name=admin",
"headers":{
"Content-Type":"application/x-www-form-urlencoded"
}
}


😜Также присутствует редкое сканирование CSTI через флаг --csti

Важно отметить, что для сканирования CSTI используется headless-браузер, что может увеличить использование оперативной памяти и процессора. Учитывайте это при работе с докерами 💻.

И, наконец, классное дополнение, если у Вас сложная сеть с проксями и подобным (или вам надо прогнать это через бурп) — настройка прокси
--proxyurl указывает URL и порт прокси-сервера, который будет использоваться для сканирования. 
tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080"

--proxycertpath указывает сертификат CA прокси в формате PEM (необходим при сканировании HTTPS-адресов).
tinja url -u "http://example.com/" --proxyurl "http://127.0.0.1:8080" --proxycertpath "/path/to/file/cacert.pem"


Для сканирования HTTPS-адресов с помощью прокси необходим сертификат CA прокси в формате PEM. Сертификаты Burp Suite CA предоставляются, например, в формате DER и чтобы это нормально работало, делаем следующее:
openssl x509 -inform DER -outform PEM -text -in cacert.der -out cacert.pem


🤨 Так почему мы должны использовать именно его ?

Вкусовщина, но он облегчит вашу жизнь если:
➡️ У вас есть пайплайны(хорошо интегрируется и быстро работает)
➡️ Вы открыты к новым инструментам в работе (Go инструмент с легкой настройкой)
➡️ Вы занимаетесь ББ (большое количество поддерживаемых шаблонизаторов)

#redteam
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥1
Похек
367616.gif
забираю свои слова назад, хрень инструмент
😁51
👋 Ищу дизайнера по стикерпакам

От меня:
1. Оплата: договорная, справедливая
2. Цель: сделать стикерпак для tg, сделать стикерпак физический
3. Референсы: есть

От вас:
0. Терпение :D
1. Ваше портфолио
2. Понимание IT области, желательно ИБ
3. Умение делать анимированные стикеры будет плюсом

Тестовая задача: у канала уже есть эмоджи. Необходимо перерисовать новогодние эмоджи и добавить пару новых

Напишите сразу в ЛС @szybnev, если берётесь за тестовую задачу и мы обговорим сроки и условия)
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰106😁2🔥1
Управленческий спринт | Я — бренд

🗓 26 марта, 12:00 Мск

На спринте мы поговорим о том, что такое личный бренд и почему он является ключевым элементом успешной карьеры и влияния.

📚 Механика:
1. Определение и значение личного бренда: рассмотрение того, что представляет собой личный бренд и почему это важно.
2. Разберем стратегии развития личного бренда.
3. Обсудим важности визуальных элементов, таких как логотипы, цвета и стиль одежды, а также навыков общения и их влияние на восприятие личного бренда окружающими.
4. Поговорим про аутентичность и уникальность.
5. Разъясним подходов к мониторингу и управлению репутацией личного бренда в долгосрочной перспективе.

🗣 Ведущий:
Сергей Зыбнев, специалист по анализу защищенности компании Awillix

Зарегистрироваться можно тут.

*тем, кто уже состоит в Клубе Код ИБ | ЗУБРЫ Кибербеза или в Код ИБ академии ссылка на встречу придет на почту.
8😁3
🤓 Установка Gitlab CE + Gitlab Runner + Gitlab Registry 🖼️
#devsecops #devops #разработка

GitLab — инструмент для совместной работы над проектами разработки программного обеспечения. Он обеспечивает хранение и управление репозиториями Git, а также контроль версий программного кода. GitLab автоматизирует процессы CI/CD: сборку, тестирование и развертывание ПО. Для запуска и автоматического выполнения задач CI/CD в GitLab используется приложение GitLab Runner.

⚖️ Подготовка:
1. Вам нужен сервер на 🖥 Ubuntu 22.04 с минимальными характеристиками 4 Гб ОЗУ и 4 ядра. Я же рекомендую 8 Гб ОЗУ и 8 Ядер.
2. Вам нужен домен.
3. В доменном регистраторе сделайте 2 поддомена: gitlab. и registry.gitlab. и создайте A записи с IP своего сервера
4. Выполнить минимальную настройку по этому гайду и выполнить ssh-keygen -t ed25519
📌 ed25519 более новый стандарт, чем RSA и сейчас best practice использовать этот алгоритм


⚖️ После настройки сервера:
5. Создаете нового пользователя, выдаёте права и добавляете свой ssh ключ в ~/.ssh/authorized_keys
6. Установим zsh как оболочку по умолчанию: chsh -s /bin/zsh
7. Замените в /etc/ssh/sshd_config с # Port 22 на Port 4422. Чтобы наш ssh сервер не мешал гитлабовскому
9. Отключим IPv6 для ufw
sed -i 's+IPV6=yes+IPV6=no+g' /etc/default/ufw
8. Добавьте необходимые порты в ufw: ufw allow 80; ufw allow 443; ufw allow 22; ufw allow 4422; ufw enable и тыкаете y
9. Далее создаете docker-compose.yml
version: '3.8'
services:
gitlab:
container_name: gitlab-ce
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab-ce'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.redacted.com'
registry_external_url 'https://registry.gitlab.redacted.com'
gitlab_rails['registry_enabled'] = true
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['ВАША_ПОЧТА']
letsencrypt['auto_renew'] = true
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '/opt/gitlab/config:/etc/gitlab'
- '/opt/gitlab/logs:/var/log/gitlab'
- '/opt/gitlab/data:/var/opt/gitlab'
networks:
- gitlab

gitlab-runner:
container_name: gitlab-runner
image: gitlab/gitlab-runner:latest
restart: always
hostname: 'gitlab-runner'
depends_on:
- gitlab
volumes:
- '/opt/gitlab-runner/data:/home/gitlab_ci_multi_runner/data'
- '/opt/gitlab-runner/config:/etc/gitlab-runner'
- '/var/run/docker.sock:/var/run/docker.sock:rw'
environment:
- CI_SERVER_URL=https://gitlab.redacted.com/ci
networks:
- gitlab

networks:
gitlab:
name: gitlab-network


10. Запускаете конфигурацию docker compose up -d . И ждём... Если скучно, то можно следить за ходом установки docker logs --follow gitlab-ce

12. Посмотрим пасс от аккаунта админа: grep 'Password: ' /opt/gitlab/config/initial_root_password
13. Переходим на gitlab.redacted.com и авторизуемся root:пасс_из_файла

Если всё получилось поднимаю за вас бокал гранатового вина 🍷
Если не получилось, то несу вам тонометр


⚖️ Настройка Gitlab:
0. Проверяем, что все нужные сервисы запустились в разделе Features и потом проверяем health_check
1. Сразу отключаем регистрацию других пользователей (хоть им и потребуется подтверждение от админа, но кто знает какая CVE будет в будущем). Для этого идём сюда и в разделе Sign-up restrictions убираем галочку у Sign-up enabled
2. Далее создадим своего пользователя. Обязательно ставим, что пользователь Administrator
2.1. Возвращаемся на шаг назад и нажимаем Edit по пользователю и задаем ему пароль
3. Логинимся под новым аккаунтом, нас попросит изменить пароль, но мы можем указать во все 3 поля одинаковый пароль
4. Удаляем пользователя root
5. Настроим рейт лимиты. Я поставил 10 запросов на IP и бан на 24 часа + поставил веселый текст для тех, кто будет фаззить мой сервер :))
6. Отключил рекламу и по фану поставил себе первый рабочий день Monday

⚖️ Далее можете поставить себе темную тему, добавить свои ssh ключи и радоваться жизни с полноценным Gitlab CE

🌚 @poxek
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥6
когда поставил очередное обновление Burp Suite
😁28🔥3🌚2