vflame6
35 subscribers
19 photos
1 video
1 file
50 links
Заметки про Offsensive Security

Блог: https://vflame6.github.io/
Автор канала: @vflame9
Download Telegram
🎞 Вам письмо: старые новые атаки на почту

Доклад о том, как старые неразрешенные вопросы реализации и клеймо «легаси» повлияли на уязвимость современной электронной почты к внедрению кода.

Разобраны особенности работы почты и основных почтовых протоколов, а также виды внедрения кода в почтовую функциональность и возможности имперсонации в крупных почтовых сервисах.

Ссылка на доклад (YouTube)

#speech
⚙️ k8spider. Разведка в кластере Kubernetes

Инструмент будет полезен на этапе разведки внутри инфраструктуры 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 используются различные вызовы функций операционной системы. Такой подход позволяет вредоносам быть похожими на обычные программы, а не использовать пользовательский 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, с которыми инструмент пойдет за информацией, файл 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
⚙️ GCPwn. All-in-one инструмент для эксплуатации GCP

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
📎 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 для загрузки и скачивания файла:


# 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
📎 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
📄 Scanning Big Networks

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

Во время работы над проектом пентеста внутренней инфраструктуры я получил задание выявить как можно больше уязвимостей в сети Заказчика. Это была плоская сеть с более чем 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
🎞 The (almost) complete LDAP guide

В докладе дается исчерпывающее руководство по LDAP с упором на Active Directory, обсуждаются протоколы, шифрование, обнаружение атак, методы enumeration и стратегии защиты, включая практические инструменты и фильтры для повышения безопасности.

Докладчик делится своим опытом работы и разработанным им инструментом для расшифровки зашифрованного NTLM-трафика. Также рассматриваются: работа с AD LDAP с использованием модулей PowerShell для Active Directory Web Services (ADWS), устройство различных инструментов атакующих и методы перечисления и расшифровки данных GSS API.

Ссылка на доклад (YouTube)

#speech
🎞 Контейнеры глазами хакера

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

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

Ссылка на доклад (YouTube)


#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