Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/bluepigeonproject/blue-pigeon
Безопасность AndroidБезопасность BluetoothЭксфильтрация данныхТестирование на ПроникновениеМобильная безопасностьКомандование и УправлениеRed Teaming
GitHubbluepigeonproject/blue-pigeon

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

blue-pigeon

Blue Pigeon — это инструмент для эксфильтрации данных и проксирования на основе Bluetooth, обеспечивающий связь между удаленным сервером управления (C2) и скомпрометированным хостом.

Репозиторий
56135 лет назадПроверено Kitploit


Blue Pigeon: инструмент для эксфильтрации данных и прокси на основе Bluetooth для Red Team

  1. Мотивация | Рождение птицы

    ​ Как работает Blue Pigeon?

    ​ Ключевые требования голубя

  2. Компоненты | Расчленяем Пиджи

    ​ 1. Blue Pigeon - Мобильное приложение

    ​ 2. Blue Beak - Пользовательские хуки EdXposed Framework

    ​ 3. Blue Dispatcher - .NET модуль для скомпрометированного хоста

  3. Настройка Blue Pigeon

    ​ Требования

    ​ Установка и использование

  4. Вопросы безопасности

  5. Лицензирование и вклад в Blue Pigeon

Blue Pigeon: инструмент для эксфильтрации данных и прокси на основе Bluetooth для Red Team

Blue Pigeon — это инструмент для эксфильтрации данных и прокси на основе Bluetooth, обеспечивающий связь между удалённым сервером управления (C2) и скомпрометированным хостом.

Вдохновлённый способностью почтового голубя доставлять сообщения домой, Blue Pigeon имитирует такое же поведение и доставляет сообщения/полезные нагрузки между агентом (скомпрометированным хостом) и его гнездом (мобильным приложением, которое затем проксирует их на C2-сервер).

Blue Pigeon разработан как Android-приложение для Red Teamer'а, чтобы развернуть его вблизи скомпрометированного хоста. Он особенно полезен для операций Red Team, когда традиционные каналы связи (веб, электронная почта, DNS) недоступны.

Развивая технику «Эксфильтрация по альтернативному протоколу» (ID: T1048) из тактики эксфильтрации фреймворка MITRE AT&CK, Blue Pigeon предлагает новый способ установления управления и выполнения эксфильтрации данных как «Действие над целью» в рамках Cyber Kill Chain, используя Bluetooth-обмен файлами в качестве среды эксфильтрации.

Blue Pigeon создан @mahchiahui, @jingloon и @cloudkanghao


(Источник: https://spectrum.ieee.org/tech-history/silicon-revolution/consider-the-pigeon-a-surprisingly-capable-technology)

Мотивация | Рождение птицы

Установление управления и выполнение эксфильтрации данных — ключевые этапы в Cyber Kill Chain, но они часто сопряжены с осложнениями и серьёзными последствиями в случае ошибки. В операции Red Team неудачная попытка может оставить постоянные следы в журналах сетевой активности и вызвать срабатывание механизмов обнаружения.

В некоторых наших упражнениях Red Teaming мы столкнулись с необходимостью эксфильтровать данные и связываться со скомпрометированным хостом, не используя традиционные каналы (веб, электронная почта, DNS).

Поскольку доступных решений для этой задачи было мало, мы исследовали различные идеи эксфильтрации на основе беспроводных/радиоканалов. В результате был создан Blue Pigeon, расширяющий наш арсенал Red Team.

Как работает Blue Pigeon?

Blue Pigeon работает как фоновый сервис на Android-смартфоне. Когда Red Teamer/злоумышленник помещает телефон рядом со скомпрометированным хостом (заражённым полезной нагрузкой Blue Dispatcher), Blue Pigeon может служить точкой эксфильтрации и ретранслятором команд на удалённый C2-сервер (также известный как Blue Coop).


Нажмите здесь для демонстрационного видео Blue Pigeon в действии

Ключевые требования голубя

Blue Pigeon был спроектирован со следующими ключевыми требованиями:

1. Ненаблюдаемость (Evasiveness)

Blue Pigeon должен обеспечивать эксфильтрацию данных, избегая обнаружения на различных уровнях:

  • Обход обнаружения сетевого трафика: Эксфильтрация данных со скомпрометированного хоста не должна проходить через традиционные каналы связи, так как они, скорее всего, логируются и мониторятся стандартными средствами EDR (Endpoint Detection and Response). (И уже есть много других, более подходящих решений — зачем изобретать колесо, верно?)

    • Blue Pigeon общается по Bluetooth, который (как мы считаем) является довольно неочевидным и нестандартным, но надёжным каналом.
  • Обход обнаружения человеком: Эксфильтрация данных должна происходить без визуальных индикаторов на машине жертвы, так как в худшем случае он всё ещё может использовать скомпрометированную машину.

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

2. Скрытность (Stealth)

Blue Pigeon должен сохранять скрытность, то есть оставаться незаметным при развёртывании «на поле».

  • Громоздкие ноутбуки, Raspberry Pi и самодельные хакерские наборы — категорически не подходят, так как это ограничивает возможности и осуществимость развёртывания. Нам нужен маленький и безобидный голубь, а не чёртов альфа-самец павлин!

    • Blue Pigeon прячется внутри обычного Android-телефона, который Red Teamer/злоумышленник может пронести на объект. Никто не заподозрит мобильный телефон...

    • В редком случае, когда Red Teamer'a попросят показать телефон, Blue Pigeon можно замаскировать под безобидное приложение, соответствующее контексту операции. В базовом proof-of-concept мобильное приложение замаскировано под приложение-оптимизатор батареи. Не стесняйтесь форкать репозиторий и делать Blue Pigeon косметическую «перекраску»!

  • Blue Pigeon не должен вынуждать Red Teamer'a проявлять признаки, указывающие на попытку эксфильтрации, во время развёртывания телефона.

    • Red Teamer'у нужно лишь запустить приложение и поднести телефон к скомпрометированной машине.

    • Blue Pigeon работает в фоновом режиме на телефоне и не требует, чтобы экран был активен.

    • Blue Pigeon автоматически обрабатывает входящие сообщения, не требуя от Red Teamer'a вручную принимать запрос на передачу файла (и даже не показывает такое окно).

3. Высокая доступность (High Availability)

Blue Pigeon должен поддерживать максимальную доступность (и только для) скомпрометированного хоста во время развёртывания.

  • Blue Pigeon должен оставаться активным для приёма входящих сообщений без регулярного вмешательства Red Teamer'a.

  • Blue Pigeon должен выдерживать вредоносные запросы/DoS-атаки и сохранять доступность для целевого хоста.

    • Blue Pigeon может постоянно оставаться в режиме обнаружения, чтобы скомпрометированный хост мог сканировать и подключаться.

    • Для защиты от DoS-атак и атак повторного воспроизведения (replay) используется HMAC-аутентификация и рандомизация имён файлов. Blue Pigeon принимает запросы на передачу файлов только после аутентификации с настраиваемой секретной фразой.

Компоненты | Расчленяем Пиджи

Blue Pigeon спроектирован как трёхкомпонентный фреймворк, состоящий из следующих частей:


1. Blue Pigeon - Мобильное приложение | Волшебный маленький синий мессенджер

Blue Pigeon — это Android-приложение, которое выступает в роли промежуточного прокси между скомпрометированным хостом и C2-сервером (Blue Coop). Blue Pigeon связывается со скомпрометированным хостом (заражённым полезной нагрузкой Blue Dispatcher) через стандартный Bluetooth-обмен файлами (с использованием OBEX). Данные эксфильтруются с хоста в виде JSON-объектов внутри текстовых файлов. Это можно настроить, отредактировав класс BluePigeonListener в пакете com.csg.bluepigeon.pigeon, и затем данные могут быть ретранслированы на удалённый Blue Coop. При получении копия сообщения также сохраняется в каталог /sdcard/blue_pigeon/backup.

В этом репозитории Blue Pigeon выглядит как простое приложение-оптимизатор батареи. Однако его можно переделать в другие стили интерфейса. Вы можете настроить интерфейс Blue Pigeon под нужды вашей операции, отредактировав пакет com.csg.bluepigeon.ui.


Здесь не на что смотреть... просто безобидное приложение для оптимизации батареи!

2. Blue Beak - Пользовательские хуки EdXposed Framework | Наши птицы умны и разборчивы!

Пакет Blue Beak содержит набор пользовательских хуков EdXposed Framework*, написанных для обхода ограничений Bluetooth API в современных версиях Android (Android 9/10):

  1. BlueBeakHook - проверяет входящий запрос на передачу файла и решает, принять его или нет. Использует аутентификацию с настраиваемой секретной фразой, чтобы убедиться, что сообщения приходят из доверенных источников. Мы не хотим случайно принять вредоносный «жирный» запрос (защита от DoS-атаки путём «проглатывания»). Также отклоняет ранее использованные имена файлов (защита от replay-атак). (См. Вопросы безопасности)

  2. CooCooHook - отключает стандартный таймаут режима обнаружения Bluetooth в Android, чтобы телефон продолжал транслировать пакеты обнаружения во время развёртывания. Это необходимо, чтобы скомпрометированный хост мог в любой момент операции сканировать и связываться с Blue Pigeon.

  3. NoPopupHook - отключает генерацию всплывающих окон Bluetooth-обмена файлами в Android и позволяет принимать или отклонять запросы через код. Это нужно, чтобы Red Teamer'у не приходилось постоянно подтверждать входящие сообщения на телефоне. Подозрительно, бро, подозрительно...

  4. BirdIsAliveHook - предоставляет аккуратный маленький визуальный индикатор рядом с системными часами, показывающий, что всё в порядке и приложение готово к работе.


Концепт-арт был очень точным!

root@kitploit:~
*Почему EdXposed? Ну... мы столкнулись с двумя основными проблемами на раннем этапе концептуализации:

1. Из соображений безопасности современные версии Android больше не позволяют приложениям программно принимать или фильтровать входящие запросы на передачу файлов по Bluetooth. Это проблематично, поскольку принцип работы Blue Pigeon основан на возможности проверять входящие запросы и принимать или отклонять их в реальном времени.
2. Максимальное время тайм-аута режима обнаружения Bluetooth в Android по умолчанию составляет 3600 секунд (1 час). Соблюдение этого лимита означало бы, что Red Teamer'у придётся часто вручную обновлять Blue Pigeon, что довольно непрактично и может помешать проведению операции.

Чтобы эффективно решить эти проблемы, мы решили использовать EdXposed Framework, который обеспечивает перехват Android Runtime (ART), и написать собственные хуки для обхода ограничений на уровне ОС модульным образом.

3. Blue Dispatcher - .NET модуль для скомпрометированного хоста | Почтальон за кулисами

Blue Dispatcher содержит .NET-модули для генерации, отправки и получения полезных нагрузок к Blue Pigeon и от него с использованием стека Bluetooth Windows. Модуль позволяет передавать файлы без необходимости аутентификации Bluetooth между Blue Pigeon и скомпрометированным хостом (т.е. без сопряжения устройств). Это помогает сохранять ненаблюдаемость (ключевое требование), так как на машине жертвы не будет визуальных всплывающих окон, которые могли бы вызвать подозрения.


Художественное представление разработчика о провале операции из-за визуального саботажа.

Большинство базовых Bluetooth-модулей, используемых Blue Dispatcher, взято из известной и очень мощной библиотеки 32feet.

Пример использования

Blue Dispatcher имеет опции, позволяющие пользователю вводить флаги для передачи.

ФлагОписание
--device, -dМобильное устройство для отправки
--message, -mТекстовая строка для отправки
root@kitploit:~
C:\Users\user>.\BlueDispatcher.exe

Usage: BlueDispatcher [options]

Options:
  -m|--message        Message to send to server
  -d|--device         Device to send to

C:\Users\user>.\BlueDispatcher.exe -d "Pixel 3 XL" -m "fly pigeon fly"

Примечание: Реализуйте собственное шифрование на уровне приложения в Blue Dispatcher при необходимости, так как полезные нагрузки передаются через RFCOMM в открытом виде.

Настройка Blue Pigeon | Требования, установка и использование

Требования

Для развёртывания Blue Pigeon для нужд эксфильтрации данных необходимо следующее:

  1. Root-доступ Android-телефона с Android 9/10 и установленным EdXposed Framework. Подробнее об установке EdXposed Framework см. здесь.
  2. Скомпрометированный хост должен работать под управлением Windows 10, иметь поддержку Bluetooth и быть заражённым полезной нагрузкой Blue Dispatcher через другие средства.
  3. (Опционально) Blue Coop/удалённый веб-сервер C2 со стандартными вызовами REST API, на который Blue Pigeon будет проксировать данные.

Установка и использование

  1. Для Blue Pigeon требуется root-доступ Android-телефон + Magisk.

  2. Установите riru-core и riru-edxposed через Magisk. Перезагрузите Android-устройство после установки модулей.

  1. Установите apk EdXposed Manager. После этого вы должны увидеть экран, показывающий, что EdXposed Framework активен.

  1. Установите BluePigeon.apk, чтобы загрузить хуки Blue Beak в EdXposed Manager. После этого модуль Battery Optimizer должен появиться в списке модулей.

  1. Перезагрузите устройство. Если всё прошло успешно, рядом с часами должен появиться значок Blue Pigeon.

  1. Запустите Blue Pigeon, открыв приложение "Battery Optimizer".

  2. Точка подключения Blue Coop (endpoint) и секретная фраза (используемая для аутентификации) настраиваются нажатием кнопок в верхнем левом углу.

  1. Теперь всё, что нужно сделать Red Teamer'у — поднести телефон поближе, следить за его зарядкой и нажать кнопку "Старт"!

Вопросы безопасности

Было бы несколько неловко для наступательного инструмента, если бы Blue Pigeon оказался уязвим к простым атакам со стороны других злоумышленников или «птицененавистников».

Для начала* Blue Pigeon спроектирован с защитой от нескольких потенциальных атак:

1. Предотвращение поддельных запросов

Одним из ограничений использования Bluetooth-обмена файлами в качестве среды эксфильтрации является отсутствие асинхронной передачи. Поскольку в любой момент времени может выполняться только один процесс передачи файла, Blue Pigeon должен быть осторожен и принимать только легитимные входящие запросы.

Если противник поблизости может создать поддельный запрос и обманом заставить Blue Pigeon принять его, он может вызвать временную DoS-атаку, отправив чрезвычайно большой фиктивный файл. Злоумышленник также может попытаться скомпрометировать мобильный телефон или удалённый Blue Coop, внедрив вредоносное содержимое в файл.

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

Процедура проверки имени файла разбита на следующие шаги:

  1. Имя файла должно соответствовать ожидаемому формату: например, BP-e2211d9e19f1669d1a09ea4828d3e2bc171a10bce71cafb53a64179f497273ea.txt
  2. 64-символьная шестнадцатеричная строка разделяется на две части: providedHash и rand
  3. Проверяется HmacSHA512(rand, passphrase) на соответствие providedHash (сравниваются первые 32 шестнадцатеричные цифры / 16 байт)
  4. Запрос считается легитимным.

Логика проверки имени файла находится в com.csg.bluepigeon.util.EncryptionManager и может быть настроена соответствующим образом.

Примечание разработчика: На самом деле, наиболее идеальной была бы проверка MAC-адреса отправителя, но мы остановились на проверке имени файла, поскольку заранее определить Bluetooth MAC-адрес жертвы было бы сложно.

2. Предотвращение атак повторного воспроизведения (Replay)

Другим направлением атак может быть повторное воспроизведение. Противник поблизости может перехватить коммуникационный трафик и получить имя файла, которое было принято ранее. Затем он может попытаться повторно использовать/«воспроизвести» это имя файла и отправить поддельный запрос на передачу файла Blue Pigeon. Аналогично, достаточно большой поддельный файл может вызвать временную DoS-атаку.

Для смягчения этого имена файлов не могут быть использованы повторно. Blue Beak проверяет, что входящее имя файла не было обработано ранее (путём опроса папки /sdcard/blue_pigeon/backup).

В этом базовом репозитории компонент rand имени файла имеет длину 32 шестнадцатеричные цифры / 16 байт, что даёт вероятность коллизии примерно 1 к 2^128 (тривиальный расчёт, при условии хорошей случайности).

Пороги коллизий можно настроить, изменив структуру имени файла и схему проверки. Соответствующий код находится в com.csg.bluepigeon.util.EncryptionManager.

*Если вы обнаружили другие возможности «убить птицу», которые мы упустили, и/или хотите внести вклад в укрепление Blue Pigeon, пожалуйста, создавайте issue или pull request!*

Лицензирование и вклад в Blue Pigeon

Лицензия

GNU General Public License

Есть идея, как улучшить Blue Pigeon?

Создавайте issues и присылайте pull requests!

Скачать инструмент