🎞 Вам письмо: старые новые атаки на почту
Доклад о том, как старые неразрешенные вопросы реализации и клеймо «легаси» повлияли на уязвимость современной электронной почты к внедрению кода.
Разобраны особенности работы почты и основных почтовых протоколов, а также виды внедрения кода в почтовую функциональность и возможности имперсонации в крупных почтовых сервисах.
Ссылка на доклад (YouTube)
#speech
Доклад о том, как старые неразрешенные вопросы реализации и клеймо «легаси» повлияли на уязвимость современной электронной почты к внедрению кода.
Разобраны особенности работы почты и основных почтовых протоколов, а также виды внедрения кода в почтовую функциональность и возможности имперсонации в крупных почтовых сервисах.
Ссылка на доклад (YouTube)
#speech
⚙️ k8spider. Разведка в кластере Kubernetes
Инструмент будет полезен на этапе разведки внутри инфраструктуры Kubernetes, после первичного проникновения в под внутри кластера. С его помощью мы можем определить другие работающие поды и сервисы в кластере. Используются техники разведки с использованием запросов к DNS-серверу кластера Kubernetes.
k8spider использует несколько техник для сбора информации изнутри:
▫️ Service ip-port BruteForcing. Делает SRV-запросы по доменным именам для получения сервисов;
▫️ AXFR Domain Transfer Dump. Делает AXFR-запрос по заданной зоне;
▫️ Coredns WildCard Dump. Делает wildcard-запрос по заданной зоне (
▫️ Pod Verified IP discovery. Делает PTR-запросы по IP-адресам для получения доменных имен.
С помощью этих техник инструмент получает IP-адреса, доменные имена и порты сервисов, работающих в кластере. А мы используем эту информацию для, например, подключения к базе данных или другого сервиса.
Для примера приведена работа инструмента в режиме all-in-one (
Таким образом, оказавшись в инфраструктуре Kubernetes, мы сможем быстро определить, что находится вокруг. Это позволит нам найти вектора для горизонтального или вериткального прдвижения в кластере и инфраструктуре в общем.
Ссылка на инструмент (GitHub)
#tools
Инструмент будет полезен на этапе разведки внутри инфраструктуры Kubernetes, после первичного проникновения в под внутри кластера. С его помощью мы можем определить другие работающие поды и сервисы в кластере. Используются техники разведки с использованием запросов к DNS-серверу кластера Kubernetes.
k8spider использует несколько техник для сбора информации изнутри:
▫️ Service ip-port BruteForcing. Делает SRV-запросы по доменным именам для получения сервисов;
▫️ AXFR Domain Transfer Dump. Делает AXFR-запрос по заданной зоне;
▫️ Coredns WildCard Dump. Делает wildcard-запрос по заданной зоне (
any.any.svc. + zone
);▫️ Pod Verified IP discovery. Делает PTR-запросы по IP-адресам для получения доменных имен.
С помощью этих техник инструмент получает IP-адреса, доменные имена и порты сервисов, работающих в кластере. А мы используем эту информацию для, например, подключения к базе данных или другого сервиса.
Для примера приведена работа инструмента в режиме all-in-one (
all
). Также мы можем использовать точечные техники (другие режимы) и настраивать область поиска, например задать CIDR с флагом -c
.
# in kubernetes pods
root@pod:~# echo $KUBERNETES_SERVICE_HOST
# if KUBERNETES_SERVICE_HOST is empty, you can use the following command to set it.
# export KUBERNETES_SERVICE_HOST=x.x.x.x
# or ./k8spider -c x.x.x.x/16 all
root@pod:~# ./k8spider all
INFO[0000] PTRrecord 10.43.43.87 --> kube-state-metrics.lens-metrics.svc.cluster.local.
INFO[0000] PTRrecord 10.43.43.93 --> metrics-server.kube-system.svc.cluster.local.
INFO[0000] SRVRecord: kube-state-metrics.lens-metrics.svc.cluster.local. --> kube-state-metrics.lens-metrics.svc.cluster.local.:8080
INFO[0000] SRVRecord: metrics-server.kube-system.svc.cluster.local. --> metrics-server.kube-system.svc.cluster.local.:443
INFO[0000] {"Ip":"10.43.43.87","SvcDomain":"kube-state-metrics.lens-metrics.svc.cluster.local.","SrvRecords":[{"Cname":"kube-state-metrics.lens-metrics.svc.cluster.local.","Srv":[{"Target":"kube-state-metrics.lens-metrics.svc.cluster.local.","Port":8080,"Priority":0,"Weight":100}]}]}
Таким образом, оказавшись в инфраструктуре Kubernetes, мы сможем быстро определить, что находится вокруг. Это позволит нам найти вектора для горизонтального или вериткального прдвижения в кластере и инфраструктуре в общем.
Ссылка на инструмент (GitHub)
#tools
🎞 System Calls for Hackers
Для написания вредоносов под Windows используются различные вызовы функций операционной системы. Такой подход позволяет вредоносам быть похожими на обычные программы, а не использовать пользовательский
Разобран процесс поиска и определения нужных функций и структур, а также показан перехват сделанных вызовов и параметров. Хороший материал для начинающих в MalDev.
Ссылка на видео (YouTube)
#speech
Для написания вредоносов под Windows используются различные вызовы функций операционной системы. Такой подход позволяет вредоносам быть похожими на обычные программы, а не использовать пользовательский
cmd /c
. В видео автор показывает разницу между вызовами верхнеуровневых функций из Kernel32.dll и низкоуровневых системных вызовов из ntdll.dll на примере кода для создания файла.Разобран процесс поиска и определения нужных функций и структур, а также показан перехват сделанных вызовов и параметров. Хороший материал для начинающих в MalDev.
Ссылка на видео (YouTube)
#speech
⚙️ SploitScan. Поиск эксплойтов и всего с ними связанного
В ходе пентеста инфраструктуры часто встречаются сервисы с известными и уязвимыми версиями софта. Такие вещи в первую очередь проверяются на недавние (а иногда и очень старые) CVE, которые способны дать импакт для текущего тестирования (пробива).Но обработка самих этих CVE затрудняется, потому что приходится по одному искать и обрабатывать детальную информацию об импакте уязвимости, как ею пользоваться и доступные эксплойты. С этим нам может помочь инструмент SploitScan.
SploitScan - это мощный и удобный инструмент, предназначенный для упрощения процесса выявления эксплойтов для известных уязвимостей. По факту он агрегирует множество источников об уязвимостях и предоставляет все это нам для дальнейшей обработки в красивом интерфейсе.
Инструмент поддерживает много разных фичей, рассказывающих об уязвимостях и эксплойтах со всех сторон. Неполный список:
▫️ Поиск информации о CVE: Получает сведения о CVE из NVD;
▫️ Интеграция с EPSS: Включает данные Exploit Prediction Scoring System (EPSS), предлагая оценку вероятности эксплуатации CVE, что помогает в определении приоритетов.
▫️ Агрегация публичных эксплойтов: Собирает общедоступные эксплойты, улучшая понимание уязвимостей.
▫️ CISA KEV: показывает, был ли CVE внесен в список известных эксплуатируемых уязвимостей (KEV) CISA.
▫️ Оценка рисков с помощью ChatGPT: Использует OpenAI для предоставления подробной оценки рисков, сценариев потенциальных атак, рекомендаций по снижению рисков и резюме.
▫️ Отчеты HackerOne: Показывает, использовался ли CVE в программах HackerOne Bug Bounty, включая общий ранг и распределение серьезности.
Перед началом работы следует добавить свои API-ключи для сервисов VulnCheck и OpenAI, с которыми инструмент пойдет за информацией, файл
Инструмент упрощает поиск векторов для эксплуатации и дальнейшее написание отчета, благодаря автоматическому походу в ChatGPT заводой для отчета детальной информацией об уязвимости. Таким образом, мы можем ускорить процесс поиска и разработки векторов для эксплуатации инфраструктуры заказчика.
Ссылка на инструмент (GitHub)
#tools
В ходе пентеста инфраструктуры часто встречаются сервисы с известными и уязвимыми версиями софта. Такие вещи в первую очередь проверяются на недавние (а иногда и очень старые) CVE, которые способны дать импакт для текущего тестирования (пробива).Но обработка самих этих CVE затрудняется, потому что приходится по одному искать и обрабатывать детальную информацию об импакте уязвимости, как ею пользоваться и доступные эксплойты. С этим нам может помочь инструмент SploitScan.
SploitScan - это мощный и удобный инструмент, предназначенный для упрощения процесса выявления эксплойтов для известных уязвимостей. По факту он агрегирует множество источников об уязвимостях и предоставляет все это нам для дальнейшей обработки в красивом интерфейсе.
Инструмент поддерживает много разных фичей, рассказывающих об уязвимостях и эксплойтах со всех сторон. Неполный список:
▫️ Поиск информации о CVE: Получает сведения о CVE из NVD;
▫️ Интеграция с EPSS: Включает данные Exploit Prediction Scoring System (EPSS), предлагая оценку вероятности эксплуатации CVE, что помогает в определении приоритетов.
▫️ Агрегация публичных эксплойтов: Собирает общедоступные эксплойты, улучшая понимание уязвимостей.
▫️ CISA KEV: показывает, был ли CVE внесен в список известных эксплуатируемых уязвимостей (KEV) CISA.
▫️ Оценка рисков с помощью ChatGPT: Использует OpenAI для предоставления подробной оценки рисков, сценариев потенциальных атак, рекомендаций по снижению рисков и резюме.
▫️ Отчеты HackerOne: Показывает, использовался ли CVE в программах HackerOne Bug Bounty, включая общий ранг и распределение серьезности.
Перед началом работы следует добавить свои API-ключи для сервисов VulnCheck и OpenAI, с которыми инструмент пойдет за информацией, файл
config.json
. Далее мы запускаем инструмент и скармливаем ему нужный нам CVE-ID. Также доступен импорт из популярных сканеров уязвимостей и вывод в разные форматы: json, csv, html, …
# single CVE query
sploitscan CVE-2024-1709
# import from vulnerability scanner
sploitscan --import-file path/to/yourfile.nessus --type nessus
# export results
sploitscan CVE-2024-1709 -e html
Инструмент упрощает поиск векторов для эксплуатации и дальнейшее написание отчета, благодаря автоматическому походу в ChatGPT за
Ссылка на инструмент (GitHub)
#tools
🎞 Кто стучится в почту? Social engineering 2024
Недавно я выкладывал доклад о TTPs в рамках социальной инженерии на проектах. Теперь хочу поделиться продолжением от того же автора с недавнего PHDays.
В рамках этого доклада спикер расскажет о разновидностях полезной нагрузки, которые не попали в материал прошлого выступления, но являются не менее востребованными и актуальными как эффективные векторы для получения первоначального доступа.
Прошлый материал дополняется обсуждением таких методов, как PDF или SVG smuggling, PDF polyglot, PDF luring, входящих в арсенал полезной нагрузки и векторов для фишинга в дикой природе.
Ссылка на доклад (YouTube)
#speech
Недавно я выкладывал доклад о TTPs в рамках социальной инженерии на проектах. Теперь хочу поделиться продолжением от того же автора с недавнего PHDays.
В рамках этого доклада спикер расскажет о разновидностях полезной нагрузки, которые не попали в материал прошлого выступления, но являются не менее востребованными и актуальными как эффективные векторы для получения первоначального доступа.
Прошлый материал дополняется обсуждением таких методов, как PDF или SVG smuggling, PDF polyglot, PDF luring, входящих в арсенал полезной нагрузки и векторов для фишинга в дикой природе.
Ссылка на доклад (YouTube)
#speech
⚙️ GCPwn. All-in-one инструмент для эксплуатации GCP
GCPwn - инструмент, созданный в процессе изучения Google Cloud Platform и использующий новые клиентские библиотеки GRPC, созданные Google. Он состоит из множества модулей для разведки и эксплуатации внутри инфраструктуры GCP.
Инструмент позиционируется как универсальный для тестирования GCP. В нем содержатся типовые скрипты для автоматизации известных TTP, так и результаты исследований в виде модулей эксплойтов.
GCPwn сохраняет все полученные данные и политики для ролей по мере выполнения модулей. Это упрощает организацию и отслеживание имеющихся прав в инфраструктуре. Также некоторые модули в инструменте работают на уже полученных данных в ходе разведки.
Для примера приведу примеры команд для разведки и поиска векторов эксплуатации. Для начала можно запустить все модули для разведки в Identity Access Management (IAM):
Далее, на основе полученных политик ролей, можно запустить модули поиска векторов эксплуатации и повышения привилегий из контекста текущей учетной записи:
Для начала изучения работы с gcpwn можно ознакомиться с докладом об инструменте на недавно прошедшем fwd:cloudsec 2024.
Ссылка на инструмент (GitHub)
#tools
GCPwn - инструмент, созданный в процессе изучения Google Cloud Platform и использующий новые клиентские библиотеки GRPC, созданные Google. Он состоит из множества модулей для разведки и эксплуатации внутри инфраструктуры GCP.
Инструмент позиционируется как универсальный для тестирования GCP. В нем содержатся типовые скрипты для автоматизации известных TTP, так и результаты исследований в виде модулей эксплойтов.
GCPwn сохраняет все полученные данные и политики для ролей по мере выполнения модулей. Это упрощает организацию и отслеживание имеющихся прав в инфраструктуре. Также некоторые модули в инструменте работают на уже полученных данных в ходе разведки.
Для примера приведу примеры команд для разведки и поиска векторов эксплуатации. Для начала можно запустить все модули для разведки в Identity Access Management (IAM):
# Quickest: Run all enumeration modules + testIAM Permissions
modules run enum_all --iam
# Longer + Downloads: Run all enumeration modules + testIAM Permissions including ~9000 for projects/folder/org + download everyting
modules run enum_all --iam --all-permissions --download
Далее, на основе полученных политик ролей, можно запустить модули поиска векторов эксплуатации и повышения привилегий из контекста текущей учетной записи:
# Review Permissions User Has Thus Far
creds info
# Return Policy Summary from IAM Bindings if Applicable
modules run process_iam_bindings [--txt] [--csv]
# Analyze IAM Bindings + Other Items (like allUsers) if Applicable
modules run analyze_vulns [--txt] [--csv]
Для начала изучения работы с gcpwn можно ознакомиться с докладом об инструменте на недавно прошедшем fwd:cloudsec 2024.
Ссылка на инструмент (GitHub)
#tools
🎞 Half Measures and Full Compromise: Exploiting Microsoft Exchange PowerShell Remoting
В докладе автор делится опытом исследования процесса десериализации объектов PowerShell Remoting в MS Exchange. Это исследование основано на нашумевшем эксплойте ProxyNotShell и развивает его идею атаки на десериализацию объектов. В результате - огромное количество CVE от RCE до DOS с несколькими успешными и безуспешными итерациями патча этих уязвимостей.
Показаны механизмы и вектора для эксплуатации с примерами уязвимого исходного кода на C#. Также автор показывает границу его исследования и возможности по развитию еще не исследованных векторов для атаки.
Ссылка на доклад (YouTube)
#speech
В докладе автор делится опытом исследования процесса десериализации объектов PowerShell Remoting в MS Exchange. Это исследование основано на нашумевшем эксплойте ProxyNotShell и развивает его идею атаки на десериализацию объектов. В результате - огромное количество CVE от RCE до DOS с несколькими успешными и безуспешными итерациями патча этих уязвимостей.
Показаны механизмы и вектора для эксплуатации с примерами уязвимого исходного кода на C#. Также автор показывает границу его исследования и возможности по развитию еще не исследованных векторов для атаки.
Ссылка на доклад (YouTube)
#speech
📎 DNSFS. Сохраняем свои данные в кеше DNS-серверов
Некоторые исследователи задаются вопросом, а где в Интернете можно сохранить свои данные за бесплатно? Желательно на уровне протокола, изначально не предполагающего такого использования.
Сначала предложили использовать протокол ICMP и его ping-функционал, появился инструмент PingFS. Он сохраняет данные за счет предположения, что принимающая сторона должна отправить эти самые данные в ответе на ping-запрос. Но практического применения у такого подхода не нашлось, так как нужно было бесконечно отправлять-принимать данные без гарантии, что где-то в Интернете пакет не дропнется.
Далее пришла идея использовать DNS, а именно функционал кеширования в DNS-серверах. Нам известно, что DNS-сервера кешируют свои ответы для увеличения производительности и доступности. Получив запрос от клиента, сервер отдаст ему ответ и закеширует его в памяти для следующего такого запроса. Причем сам запрос может быть любым, в том числе TXT-записи с текстовым форматов данных.
Для этого нужно было найти много публичных DNS-серверов, которые могут резолвить публичные доменные имена, а не ограничены только внутренним доменом. Для этого автор отсканировал часть интернета по порту 53 со специфичным запросом на доменное имя. Далее нужно было отсеять DNS-сервера с динамическими IP-адресами.
Получив список долго-живущих DNS-серверов, исследователь начал выяснять, какое количество и насколько долго можно хранить свои данные в кеше сервера, делая разные по времени и количеству данных запросы. По итогу получился список из 400 тысяч DNS-серверов, позволяющих в течении дня сохранить в себе по 9 TXT-запросов по 187 байт информации. В итоге получился инструмент DNSFS, обеспечивающий работу этой концепции.
Код DNSFS представляет собой относительно простую систему: каждый загруженный файл разбивается на фрагменты по 180 байт, и эти фрагменты «устанавливаются» в кэш путем запроса к узлу DNSFS через публичный резолвер для TXT-записи. Резолвер приходит на мастер-сервер за записью, отдают клиенту и кешируют запись. Через несколько секунд данные удаляются из памяти DNSFS, и они больше не находятся на мастер-сервере.
Чтобы распределить нагрузку на хранилище, в запросе имя файла и номер чанка хэшируются, а затем балансируются по списку резолверов, чтобы обеспечитьдостаточно справедливое распределение.
Пример использования DNSFS для загрузки и скачивания файла:
Таким образом, мы можем использовать сервера DNS как облачное хранилище за бесплатно. Также мы буквально можем эксфильтровать данные на открытые легитимные DNS-сервера, но это уже совсем другая история…
Ссылка на исследование
Ссылка на инструмент (GitHub)
#notes
Некоторые исследователи задаются вопросом, а где в Интернете можно сохранить свои данные за бесплатно? Желательно на уровне протокола, изначально не предполагающего такого использования.
Сначала предложили использовать протокол ICMP и его ping-функционал, появился инструмент PingFS. Он сохраняет данные за счет предположения, что принимающая сторона должна отправить эти самые данные в ответе на ping-запрос. Но практического применения у такого подхода не нашлось, так как нужно было бесконечно отправлять-принимать данные без гарантии, что где-то в Интернете пакет не дропнется.
Далее пришла идея использовать DNS, а именно функционал кеширования в DNS-серверах. Нам известно, что DNS-сервера кешируют свои ответы для увеличения производительности и доступности. Получив запрос от клиента, сервер отдаст ему ответ и закеширует его в памяти для следующего такого запроса. Причем сам запрос может быть любым, в том числе TXT-записи с текстовым форматов данных.
Для этого нужно было найти много публичных DNS-серверов, которые могут резолвить публичные доменные имена, а не ограничены только внутренним доменом. Для этого автор отсканировал часть интернета по порту 53 со специфичным запросом на доменное имя. Далее нужно было отсеять DNS-сервера с динамическими IP-адресами.
Получив список долго-живущих DNS-серверов, исследователь начал выяснять, какое количество и насколько долго можно хранить свои данные в кеше сервера, делая разные по времени и количеству данных запросы. По итогу получился список из 400 тысяч DNS-серверов, позволяющих в течении дня сохранить в себе по 9 TXT-запросов по 187 байт информации. В итоге получился инструмент DNSFS, обеспечивающий работу этой концепции.
Код DNSFS представляет собой относительно простую систему: каждый загруженный файл разбивается на фрагменты по 180 байт, и эти фрагменты «устанавливаются» в кэш путем запроса к узлу DNSFS через публичный резолвер для TXT-записи. Резолвер приходит на мастер-сервер за записью, отдают клиенту и кешируют запись. Через несколько секунд данные удаляются из памяти DNSFS, и они больше не находятся на мастер-сервере.
Чтобы распределить нагрузку на хранилище, в запросе имя файла и номер чанка хэшируются, а затем балансируются по списку резолверов, чтобы обеспечить
Пример использования DNSFS для загрузки и скачивания файла:
# upload
curl --data-binary @file.txt DNSFS_IP:PORT/upload?name=file
# download
curl DNSFS_IP:PORT/fetch?name=file > file.txt
Таким образом, мы можем использовать сервера DNS как облачное хранилище за бесплатно. Также мы буквально можем эксфильтровать данные на открытые легитимные DNS-сервера, но это уже совсем другая история…
Ссылка на исследование
Ссылка на инструмент (GitHub)
#notes
🎞 Red Team IoT Tactics
Физические девайсы часто используются в Red Teaming кампаниях для получения первоначального доступа и закрепления в сети жертвы. Обычно для таких целей используются коммуникации через GSM или Wi-Fi. Но здесь есть проблема, что серьезные заказчики умеют отслеживать (и глушить) такие коммуникации внутри защищаемых объектов.
В докладе автор задается вопросом, а что если мы будем использовать более низкие частоты? Мы получим возможность использовать бОльшие расстояния, но с меньшей скоростью. Это прекрасная возможность для операций Command&Control и для этого уже есть работающие протоколы, например ZigBee и LoRa для IoT-устройств. Эти протоколы позволяют использовать частоты в пределах 900 MHz и решений для отслеживания нелегитимного использования таких частот по сути нет, тем более что немногие следят за Wi-Fi. В докладе автор показывает пример управления USB Rubber Ducky, отправляя ему команды через протокол LoRa и частоты RFM95.
Также автор затронул недавно вышедший стандарт IEEE 802.11ah (HaLow), работающий на частотах 902-928 MHz. Он позволяет передавать информацию со скоростью до 80 МБит/сек на расстояние больше 1 км (!). Подробнее о протоколе можно почитать в статье на Хабре. В продаже уже есть сетевые карты для работы с HaLow, например ALFA Network WiFi HaLow HAT, но размеры пока что великоваты (6x8 см).
Подробнее о теме использования можно прочитать в дополняющейся серии статей Offensive IoT for Red Team Implants, где объясняются технические детали и приведены примеры на попробовать :).
Ссылка на доклад (YouTube)
#speech
Физические девайсы часто используются в Red Teaming кампаниях для получения первоначального доступа и закрепления в сети жертвы. Обычно для таких целей используются коммуникации через GSM или Wi-Fi. Но здесь есть проблема, что серьезные заказчики умеют отслеживать (и глушить) такие коммуникации внутри защищаемых объектов.
В докладе автор задается вопросом, а что если мы будем использовать более низкие частоты? Мы получим возможность использовать бОльшие расстояния, но с меньшей скоростью. Это прекрасная возможность для операций Command&Control и для этого уже есть работающие протоколы, например ZigBee и LoRa для IoT-устройств. Эти протоколы позволяют использовать частоты в пределах 900 MHz и решений для отслеживания нелегитимного использования таких частот по сути нет
Также автор затронул недавно вышедший стандарт IEEE 802.11ah (HaLow), работающий на частотах 902-928 MHz. Он позволяет передавать информацию со скоростью до 80 МБит/сек на расстояние больше 1 км (!). Подробнее о протоколе можно почитать в статье на Хабре. В продаже уже есть сетевые карты для работы с HaLow, например ALFA Network WiFi HaLow HAT, но размеры пока что великоваты (6x8 см).
Подробнее о теме использования можно прочитать в дополняющейся серии статей Offensive IoT for Red Team Implants, где объясняются технические детали и приведены примеры на попробовать :).
Ссылка на доклад (YouTube)
#speech
📎 Vulnerabilities in Open Source C2 Frameworks
Сегодня хочу поделиться интересным исследованием про уязвимости в популярных Command&Control фреймворках.
Вы когда-нибудь задумывались, а что такое вообще C2-фреймворк? У нас есть какой-то сервер или C2, принимающий подключения. Есть агенты или жертвы, подключающиеся к С2 и обменивающиеся с ним данными. А еще есть оператор или клиент, взаимодействующий с агентами через интерфейс C2.
А что из себя представляют эти сервер, агент и клиент? На самом деле это такие же программы, принимающие input и возвращающие output. Получается, что в них также могут быть уязвимости, например из-за отсутствия валидации ввода пользователя? Да, все так и есть.
Авторы разбирают уязвимости в различных частях фреймворков, от оператора (клиента), самого сервера (C2) и до агента (victim). Например:
▫️ CVE-2024-6127: агент компрометирует C2, позволяя записывать файлы на сервере;
▫️ CVE-2022-39197: агент компрометирует оператора, отображая в его UI вредоносный код;
▫️ CVE-2024-41111: оператор компрометирует C2, получая RCE на сервере;
▫️ CVE-2023-34758: внешний нарушитель перехватывает контроль над агентом из-за слабой криптографии;
▫️ HavocExploit: внешний нарушитель DOS-ит сервер C2.
Эти уязвимости могут иметь разный импакт на инфраструктуру, но их наличие может сорвать всю Red Team операцию, еще до ее начала.
Важно понимать, что C2-фреймворки являются таким же ПО и они могут содержать в себе уязвимости. Атакующим следует думать о защите своей инфраструктуры, закрывая сервера за редиректорами и вводя системы отслеживания доступов к инфраструктуре (как насчет blue team для red team?). Будет иронично увидеть открытый шелл на своем Team Server 🫡.
Ссылка на исследование
Ссылка на репозиторий с PoC (GitHub)
#notes
Сегодня хочу поделиться интересным исследованием про уязвимости в популярных Command&Control фреймворках.
Вы когда-нибудь задумывались, а что такое вообще C2-фреймворк? У нас есть какой-то сервер или C2, принимающий подключения. Есть агенты или жертвы, подключающиеся к С2 и обменивающиеся с ним данными. А еще есть оператор или клиент, взаимодействующий с агентами через интерфейс C2.
А что из себя представляют эти сервер, агент и клиент? На самом деле это такие же программы, принимающие input и возвращающие output. Получается, что в них также могут быть уязвимости, например из-за отсутствия валидации ввода пользователя? Да, все так и есть.
Авторы разбирают уязвимости в различных частях фреймворков, от оператора (клиента), самого сервера (C2) и до агента (victim). Например:
▫️ CVE-2024-6127: агент компрометирует C2, позволяя записывать файлы на сервере;
▫️ CVE-2022-39197: агент компрометирует оператора, отображая в его UI вредоносный код;
▫️ CVE-2024-41111: оператор компрометирует C2, получая RCE на сервере;
▫️ CVE-2023-34758: внешний нарушитель перехватывает контроль над агентом из-за слабой криптографии;
▫️ HavocExploit: внешний нарушитель DOS-ит сервер C2.
Эти уязвимости могут иметь разный импакт на инфраструктуру, но их наличие может сорвать всю Red Team операцию, еще до ее начала.
Важно понимать, что C2-фреймворки являются таким же ПО и они могут содержать в себе уязвимости. Атакующим следует думать о защите своей инфраструктуры, закрывая сервера за редиректорами и вводя системы отслеживания доступов к инфраструктуре (как насчет blue team для red team?). Будет иронично увидеть открытый шелл на своем Team Server 🫡.
Ссылка на исследование
Ссылка на репозиторий с PoC (GitHub)
#notes
📄 Scanning Big Networks
В этой серии статей я хочу поделиться своими заметками о сканировании больших корпоративных сетей для поиска потенциальных целей. Мы рассмотрим методы получения нужных результатов и способы оптимизации этих методов.
Во время работы над проектом пентеста внутренней инфраструктуры я получил задание выявить как можно больше уязвимостей в сети Заказчика. Это была плоская сеть с более чем 10 000 доступных хостов (просто ответивших на пинги!). Ограничением здесь является время, за которое проект должен выполнить работу и предоставить отчет.
Я оказался в ситуации, когда время проекта было сильно ограничено, и я не мог выполнить сканирование всего и вся. Поэтому необходимо было провести оптимизацию и расставить приоритеты.
Серия состоит из 3 частей (ссылки ведут на блог):
▫️Part 1 - Basics: в первой части разберем методы оптимизации поиска сетей, хостов, портов и сервисов на примере nmap;
▫️Part 2 - Evasion, Automation and Visualization: здесь речь пойдет про обход техник обнаружения со стороны средств защиты, а также автоматизации процесса и визуализации результатов сканирования;
▫️Part 3 - Alternative Methods: в заключительной части мы рассмотрим альтернативные сканированию методы поиска целей на примере доменов Active Directory и кластеров Kubernetes.
Конечно, к сожалению, все эти методы сильно влияют на покрытие поверхности атаки, но они могут помочь сфокусироваться на важных целях и не теряться при виде активной /22 сети, в которой заполнена большая часть адресного пространства.
В этой серии статей я хочу поделиться своими заметками о сканировании больших корпоративных сетей для поиска потенциальных целей. Мы рассмотрим методы получения нужных результатов и способы оптимизации этих методов.
Во время работы над проектом пентеста внутренней инфраструктуры я получил задание выявить как можно больше уязвимостей в сети Заказчика. Это была плоская сеть с более чем 10 000 доступных хостов (просто ответивших на пинги!). Ограничением здесь является время, за которое проект должен выполнить работу и предоставить отчет.
Я оказался в ситуации, когда время проекта было сильно ограничено, и я не мог выполнить сканирование всего и вся. Поэтому необходимо было провести оптимизацию и расставить приоритеты.
Серия состоит из 3 частей (ссылки ведут на блог):
▫️Part 1 - Basics: в первой части разберем методы оптимизации поиска сетей, хостов, портов и сервисов на примере nmap;
▫️Part 2 - Evasion, Automation and Visualization: здесь речь пойдет про обход техник обнаружения со стороны средств защиты, а также автоматизации процесса и визуализации результатов сканирования;
▫️Part 3 - Alternative Methods: в заключительной части мы рассмотрим альтернативные сканированию методы поиска целей на примере доменов Active Directory и кластеров Kubernetes.
Конечно, к сожалению, все эти методы сильно влияют на покрытие поверхности атаки, но они могут помочь сфокусироваться на важных целях и не теряться при виде активной /22 сети, в которой заполнена большая часть адресного пространства.
Application Security Engineer в Octo
ЗП: до 3000$ net
Уровень: middle
Формат: релокация в Ташкент, офис/гибрид
Ищем классных ребят в нашу команду)
Что делать:
- Внедрение и поддержка процесса безопасной разработки на всех этапах SDLC;
- Настройка и сопровождение инструментов для анализа безопасности приложений: SAST, SCA, DAST;
- Анализ результатов и предоставление командам информации о выявленных уязвимостях, содействие в их устранении;
- Проведение код-ревью и анализа архитектуры приложений на языке программирования Java;
- Анализ безопасности кластеров Kubernetes и CI/CD пайплайнов;
- Взаимодействие с другими подразделениями по вопросам информационной безопасности.
Что ожидаем:
- Опыт работы в области Application Security или Penetration Testing не менее 1 года;
- Уверенные навыки работы с инструментами SAST, SCA, DAST;
- Понимание уязвимостей Client-Side и Server-Side, умение их раскручивать до импакта;
- Уверенные знания в области безопасности приложений, умение находить и устранять веб-уязвимости из списков OWASP Top 10, OWASP Mobile Top 10, CWE Top 25;
- Способность читать и анализировать код на различных языках программирования;
- Владение техническим английским языком.
Преимуществом будет:
- Опыт разработки на Java;
- Наличие сертификатов OSWA, OSWE, BSCP, eMAPT.
Условия:
- Официальное трудоустройство согласно ТК РУз;
- Конкурентная заработная плата;
- Обучение и сертификации за счет компании;
- Уютный офис в центре солнечного Ташкента класса “А”, в котором обязательно есть кофе, чай, печеньки, а главное - классные коллеги, с которыми всегда есть что обсудить);
- Широкие возможности для самореализации, карьерного роста и влияния на развитие технологий и продуктов.
Контакты: @HRBP_Octobank или ко мне в лс @vflame9
ЗП: до 3000$ net
Уровень: middle
Формат: релокация в Ташкент, офис/гибрид
Ищем классных ребят в нашу команду)
Что делать:
- Внедрение и поддержка процесса безопасной разработки на всех этапах SDLC;
- Настройка и сопровождение инструментов для анализа безопасности приложений: SAST, SCA, DAST;
- Анализ результатов и предоставление командам информации о выявленных уязвимостях, содействие в их устранении;
- Проведение код-ревью и анализа архитектуры приложений на языке программирования Java;
- Анализ безопасности кластеров Kubernetes и CI/CD пайплайнов;
- Взаимодействие с другими подразделениями по вопросам информационной безопасности.
Что ожидаем:
- Опыт работы в области Application Security или Penetration Testing не менее 1 года;
- Уверенные навыки работы с инструментами SAST, SCA, DAST;
- Понимание уязвимостей Client-Side и Server-Side, умение их раскручивать до импакта;
- Уверенные знания в области безопасности приложений, умение находить и устранять веб-уязвимости из списков OWASP Top 10, OWASP Mobile Top 10, CWE Top 25;
- Способность читать и анализировать код на различных языках программирования;
- Владение техническим английским языком.
Преимуществом будет:
- Опыт разработки на Java;
- Наличие сертификатов OSWA, OSWE, BSCP, eMAPT.
Условия:
- Официальное трудоустройство согласно ТК РУз;
- Конкурентная заработная плата;
- Обучение и сертификации за счет компании;
- Уютный офис в центре солнечного Ташкента класса “А”, в котором обязательно есть кофе, чай, печеньки, а главное - классные коллеги, с которыми всегда есть что обсудить);
- Широкие возможности для самореализации, карьерного роста и влияния на развитие технологий и продуктов.
Контакты: @HRBP_Octobank или ко мне в лс @vflame9
🎞 The (almost) complete LDAP guide
В докладе дается исчерпывающее руководство по LDAP с упором на Active Directory, обсуждаются протоколы, шифрование, обнаружение атак, методы enumeration и стратегии защиты, включая практические инструменты и фильтры для повышения безопасности.
Докладчик делится своим опытом работы и разработанным им инструментом для расшифровки зашифрованного NTLM-трафика. Также рассматриваются: работа с AD LDAP с использованием модулей PowerShell для Active Directory Web Services (ADWS), устройство различных инструментов атакующих и методы перечисления и расшифровки данных GSS API.
Ссылка на доклад (YouTube)
#speech
В докладе дается исчерпывающее руководство по LDAP с упором на Active Directory, обсуждаются протоколы, шифрование, обнаружение атак, методы enumeration и стратегии защиты, включая практические инструменты и фильтры для повышения безопасности.
Докладчик делится своим опытом работы и разработанным им инструментом для расшифровки зашифрованного NTLM-трафика. Также рассматриваются: работа с AD LDAP с использованием модулей PowerShell для Active Directory Web Services (ADWS), устройство различных инструментов атакующих и методы перечисления и расшифровки данных GSS API.
Ссылка на доклад (YouTube)
#speech
🎞 Контейнеры глазами хакера
Докладчик рассказывает о безопасности контейнеров, уделяя особое внимание уязвимостям, векторам атак и лучшим практикам защиты контейнерных приложений.
Доклад проходит в формате воркшопа в реальном времени. Рассматриваются практические примеры уязвимостей, связанных с инъекцией команд и включением локальных файлов, а также стратегии повышения привилегий и методы выхода из контейнера.
Ссылка на доклад (YouTube)
#speech
Докладчик рассказывает о безопасности контейнеров, уделяя особое внимание уязвимостям, векторам атак и лучшим практикам защиты контейнерных приложений.
Доклад проходит в формате воркшопа в реальном времени. Рассматриваются практические примеры уязвимостей, связанных с инъекцией команд и включением локальных файлов, а также стратегии повышения привилегий и методы выхода из контейнера.
Ссылка на доклад (YouTube)
#speech
🎞 От автобусной остановки до администратора домена
Доклад про физических пентест с разных сторон. Сначала разбираются отличия и методология проведения физического пентеста. Показаны несколько векторов атак для физического проникновения, а также способы закрепления в сети Заказчика.
Далее автор показывает и разбирает несколько аппаратных инструментов для физического пентеста собственной разработки. Такие устройства могут использоваться для установки Backdoor-ов в сети и тестирования беспроводных сетей Wi-Fi. Особое внимание уделено модульности устройств и использованию 3D-печати для “ничем не примечательных” корпусов.
Ссылка на доклад (Platforma)
#speech
Доклад про физических пентест с разных сторон. Сначала разбираются отличия и методология проведения физического пентеста. Показаны несколько векторов атак для физического проникновения, а также способы закрепления в сети Заказчика.
Далее автор показывает и разбирает несколько аппаратных инструментов для физического пентеста собственной разработки. Такие устройства могут использоваться для установки Backdoor-ов в сети и тестирования беспроводных сетей Wi-Fi. Особое внимание уделено модульности устройств и использованию 3D-печати для “ничем не примечательных” корпусов.
Ссылка на доклад (Platforma)
#speech
📄 Introducing Sharefinder - Network Shares Enumeration Tool
Сегодня я хочу поделиться своим новым инструментом - sharefinder. Это инструмент для поиска SMB-шар и привилегий к ним в сетях и доменах Active Directory.
Мне хотелось сделать инструмент, с которым я смогу делать проверки на доступ к SMB-шарам, и делать их хорошо, без лишнего шума с ненужной информацией. Основными требованиями стали возможность сканировать сети на SMB-шары анонимно, с учетными данными и возможность использовать учетную запись в Active Directory и LDAP для поиска целей без сканирования сети. А также визуализировать результаты таких проверок, например в виде HTML-файла с табличками.
Уже имеющиеся альтернативные инструменты (NetExec, PowerHuntShares, shareenum, …), в принципе, могут справиться с этой задачей, но им либо не хватает опций для вывода результатов, либо они не предназначены для сканирования сетей. А PowerHuntShares вообще ломается, если у вас стоит локаль операционной системы не как у авторов инструмента (баг висит с 2022 года).
Для проверки прав пользователя на взаимодействие с шарами я хотел попробовать использовать Security Descriptor (SD) файлов, как это реализовано в shareenum. Языком для инструмента выбрал Go и уже в процессе работы выяснил, что имеющиеся библиотеки для взаимодействия с протоколом SMB сильно недоработаны в плане возможности взаимодействовать с SD.
Из-за этого я написал текущую реализацию на примере NetExec, где чтение проверяется возможностью залистить директорию шары, а запись проверяется через создание/удаление файла. Реализация через SD остается, как задачка со звездочкой, так как надо будет допилить библиотеку, которая используется для взаимодействия с SMB.
Ссылка на статью (Blog)
Ссылка на инструмент (GitHub)
#blog #tools
Сегодня я хочу поделиться своим новым инструментом - sharefinder. Это инструмент для поиска SMB-шар и привилегий к ним в сетях и доменах Active Directory.
Мне хотелось сделать инструмент, с которым я смогу делать проверки на доступ к SMB-шарам, и делать их хорошо, без лишнего шума с ненужной информацией. Основными требованиями стали возможность сканировать сети на SMB-шары анонимно, с учетными данными и возможность использовать учетную запись в Active Directory и LDAP для поиска целей без сканирования сети. А также визуализировать результаты таких проверок, например в виде HTML-файла с табличками.
Уже имеющиеся альтернативные инструменты (NetExec, PowerHuntShares, shareenum, …), в принципе, могут справиться с этой задачей, но им либо не хватает опций для вывода результатов, либо они не предназначены для сканирования сетей. А PowerHuntShares вообще ломается, если у вас стоит локаль операционной системы не как у авторов инструмента (баг висит с 2022 года).
Для проверки прав пользователя на взаимодействие с шарами я хотел попробовать использовать Security Descriptor (SD) файлов, как это реализовано в shareenum. Языком для инструмента выбрал Go и уже в процессе работы выяснил, что имеющиеся библиотеки для взаимодействия с протоколом SMB сильно недоработаны в плане возможности взаимодействовать с SD.
Из-за этого я написал текущую реализацию на примере NetExec, где чтение проверяется возможностью залистить директорию шары, а запись проверяется через создание/удаление файла. Реализация через SD остается, как задачка со звездочкой, так как надо будет допилить библиотеку, которая используется для взаимодействия с SMB.
Ссылка на статью (Blog)
Ссылка на инструмент (GitHub)
#blog #tools