Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
blue-pigeon — Blue Pigeon est un outil d'exfiltration de données et proxy basé sur Bluetooth pour permettre la communication entre un serveur de commande et de contrôle (C2) distant et un hôte compromis. | Kitploit
Outils/GitHubGitHub/bluepigeonproject/blue-pigeon
Sécurité AndroidSécurité BluetoothExfiltration de DonnéesTests d'IntrusionSécurité MobileCommandement et ContrôleRed Teaming
GitHubbluepigeonproject/blue-pigeon

blue-pigeon

Blue Pigeon est un outil d'exfiltration de données et proxy basé sur Bluetooth pour permettre la communication entre un serveur de commande et de contrôle (C2) distant et un hôte compromis.

Voir le dépôt
5613il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager


Blue Pigeon : outil d'exfiltration de données et proxy basé sur Bluetooth pour Red Teamers

  1. La motivation | Naissance de l'oiseau

    ​ Comment fonctionne Blue Pigeon ?

    ​ Les exigences clés du Pigeon

  2. Les composants | Décortiquer le Pidgey

    ​ 1. Blue Pigeon - L'application mobile | Le petit messager bleu magique

    ​ 2. Blue Beak - Hooks personnalisés du framework EdXposed | Nos oiseaux sont intelligents et difficiles

    ​ 3. Blue Dispatcher - Module .NET à injecter dans l'hôte compromis | Le facteur en coulisses

  3. Configuration de Blue Pigeon | Prérequis, installation et utilisation

    ​ Prérequis

    ​ Installation et utilisation

  4. Considérations de sécurité

  5. Licence et contribution à Blue Pigeon

Blue Pigeon : outil d'exfiltration de données et proxy basé sur Bluetooth pour Red Teamers

Blue Pigeon est un outil d'exfiltration de données et proxy basé sur Bluetooth permettant la communication entre un serveur de commande et de contrôle (C2) distant et un hôte compromis.

Inspiré par la capacité du Pigeon biset à transporter des messages vers son nid, Blue Pigeon imite ce comportement de retour et livre des messages/payloads entre l'agent (hôte compromis) et son nid (application mobile puis relayés vers le serveur C2).

Blue Pigeon est développé comme une application Android pour le Red Teamer à déployer à proximité de l'hôte compromis et est particulièrement utile pour les opérations de Red Team où les communications via les canaux traditionnels (web, email, DNS) ne sont pas disponibles.

En élargissant la technique « Exfiltration via un protocole alternatif » (ID : T1048) sous la tactique d'Exfiltration du framework MITRE AT&CK, Blue Pigeon offre une nouvelle façon d'établir un C2 et d'effectuer une exfiltration de données en tant qu'Action sur Objectif de la Cyber Kill Chain en utilisant le partage de fichiers Bluetooth comme moyen d'exfiltration.

Blue Pigeon est créé par @mahchiahui, @jingloon et @cloudkanghao


(Source : https://spectrum.ieee.org/tech-history/silicon-revolution/consider-the-pigeon-a-surprisingly-capable-technology)

La motivation | Naissance de l'oiseau

Établir un C2 et effectuer une exfiltration de données sont des phases clés de la Cyber Kill Chain, mais elles comportent souvent des complications et des implications graves si mal exécutées. Dans une opération de Red Team, une tentative ratée pourrait laisser des traces permanentes dans les journaux d'activité réseau et alerter les mécanismes de détection.

Lors de certains de nos exercices de Red Team, nous avons eu besoin d'un moyen d'exfiltrer des données et de communiquer avec l'hôte compromis sans passer par les canaux traditionnels (web, email, DNS).

Avec peu de solutions disponibles pour répondre à ce besoin, nous avons exploré diverses idées d'exfiltration basées sur des vecteurs sans fil/radio. En conséquence, Blue Pigeon a été créé pour élargir notre boîte à outils Red Team.

Comment fonctionne Blue Pigeon ?

Blue Pigeon s'exécute en tant que service de premier plan sur un téléphone mobile Android. Lorsque le Red Teamer/initié malveillant déploie le téléphone à proximité de l'hôte compromis (infecté par le payload Blue Dispatcher), Blue Pigeon peut servir de point d'exfiltration et de relais de commandes vers un serveur C2 distant (alias Blue Coop).


Cliquez ici pour une vidéo de démonstration de Blue Pigeon en action

Les exigences clés du Pigeon

Blue Pigeon a été conçu avec les exigences clés suivantes :

1. Discrétion

Blue Pigeon doit permettre l'exfiltration de données tout en échappant à la détection à plusieurs niveaux :

  • Échapper à la détection du trafic réseau : L'exfiltration de données depuis l'hôte compromis ne peut pas passer par les canaux de communication traditionnels car ils sont susceptibles d'être journalisés et surveillés par les solutions standard de détection et réponse des endpoints (et il existe déjà de nombreuses autres meilleures options, pourquoi réinventer la roue, n'est-ce pas ?)

    • Blue Pigeon communique via Bluetooth, qui est (selon nous) un canal plutôt obscur et peu orthodoxe, mais fiable.
  • Échapper à la détection humaine : L'exfiltration de données doit se produire sans aucun indicateur visuel sur la machine de la victime, car dans le pire des cas, on s'attend à ce que celle-ci utilise encore la machine compromise.

    • Blue Pigeon peut établir une communication sans nécessiter d'appairage Bluetooth, ce qui déclencherait normalement une fenêtre contextuelle d'authentification utilisateur.

2. Furtivité

Blue Pigeon doit rester furtif, c'est-à-dire discret lorsqu'il est déployé sur le terrain.

  • Les ordinateurs portables volumineux, les Raspberry Pi et les kits de hacking faits maison sont un non catégorique, car cela limite les possibilités et la faisabilité du déploiement. Nous avons besoin d'un pigeon petit et innocent, pas d'un paon alpha masculin !

    • Blue Pigeon se cache dans un téléphone Android typique que le Red Teamer/initié malveillant peut apporter sur le terrain. Personne ne soupçonne un téléphone mobile...
    • Dans le rare cas où le Red Teamer serait soumis à une inspection, Blue Pigeon peut être déguisé en une application banale adaptée au contexte de l'opération. Dans le proof-of-concept de base, l'application mobile est déguisée en application d'optimisation de batterie. N'hésitez pas à forker le dépôt et à donner à Blue Pigeon un relooking esthétique !
  • Blue Pigeon doit éviter que le Red Teamer ne montre des signes révélateurs d'une tentative d'exfiltration lors du déploiement du téléphone.

    • Le Red Teamer n'a qu'à lancer l'application et amener le téléphone à proximité de la machine compromise.
    • Blue Pigeon s'exécute en arrière-plan du téléphone et ne nécessite pas que l'écran reste allumé.
    • Blue Pigeon consomme automatiquement les messages entrants et ne nécessite pas que le Red Teamer accepte manuellement la fenêtre contextuelle de transfert de fichier (elle n'apparaîtra même pas en réalité).

3. Haute disponibilité

Blue Pigeon doit maintenir une disponibilité maximale vers (et uniquement vers) l'hôte compromis pendant son déploiement.

  • Blue Pigeon doit pouvoir rester actif pour capter les messages entrants sans intervention régulière du Red Teamer.
  • Blue Pigeon doit pouvoir résister aux requêtes malveillantes/tentatives de déni de service (DoS) et maintenir sa disponibilité pour l'hôte visé.
    • Blue Pigeon est capable de rester en mode découvrable en permanence pour que l'hôte compromis puisse le scanner et s'y connecter.
    • L'authentification basée sur HMAC et la randomisation des noms de fichiers sont employées pour atténuer les attaques DoS et de rejeu. Blue Pigeon n'accepte les demandes de transfert de fichiers qu'après authentification avec une phrase de passe secrète configurable.

Les composants | Décortiquer le Pidgey

Blue Pigeon est conçu comme un framework en trois parties comprenant les composants suivants :


1. Blue Pigeon - L'application mobile | Le petit messager bleu magique

Blue Pigeon est l'application mobile Android qui agit comme proxy intermédiaire entre l'hôte compromis et le serveur C2 (alias un Blue Coop). Blue Pigeon communique avec l'hôte compromis (infecté par le payload Blue Dispatcher) via le partage de fichiers Bluetooth traditionnel (en utilisant OBEX). Les données sont exfiltrées de l'hôte sous forme d'objets JSON dans des fichiers texte. Cela peut être personnalisé en modifiant la classe BluePigeonListener dans le package com.csg.bluepigeon.pigeon et peut ensuite être relayé vers un Blue Coop distant. À réception, une copie du message est également conservée dans le répertoire /sdcard/blue_pigeon/backup.

Dans ce dépôt, Blue Pigeon se présente sous la forme d'une application simple d'optimisation de batterie. Cependant, il peut être remodelé dans d'autres styles d'interface utilisateur. N'hésitez pas à personnaliser l'interface utilisateur de Blue Pigeon pour répondre aux besoins de votre opération en modifiant le package com.csg.bluepigeon.ui.


Rien à voir ici... juste une application d'optimisation de batterie innocente !

2. Blue Beak - Hooks personnalisés du framework EdXposed | Nos oiseaux sont intelligents et difficiles !

Le package Blue Beak contient un ensemble de hooks personnalisés du framework EdXposed* écrits pour contourner les restrictions de l'API Bluetooth d'Android moderne (Android 9/10) :

  1. BlueBeakHook - inspecte la demande de transfert de fichier entrante et décide de la consommer ou non. Utilise l'authentification avec une phrase de passe secrète configurable pour s'assurer que les messages entrants proviennent de sources fiables. Nous ne voulons pas qu'il consomme accidentellement une grosse requête malveillante (atténuation des attaques DoS par accaparement). Il rejette également les noms de fichiers déjà consommés (atténuation des attaques par rejeu). (Voir Considérations de sécurité)

  2. CooCooHook - contourne le délai d'expiration par défaut du mode découvrable Bluetooth d'Android pour garantir que le téléphone continue de diffuser des paquets de découverte lorsqu'il est déployé sur le terrain. Ceci est nécessaire pour que l'hôte compromis puisse scanner et contacter Blue Pigeon à tout moment pendant l'opération.

  3. NoPopupHook - contourne la génération de fenêtres contextuelles de transfert de fichiers Bluetooth sur Android OS et permet d'accepter ou de rejeter les demandes par code. Cela évite au Red Teamer de devoir constamment être sur le téléphone pour accepter les messages entrants. Suspect, suspect...

  4. BirdIsAliveHook - fournit un petit indicateur visuel soigné à côté de l'horloge système pour indiquer que tout va bien et que le déploiement est prêt.


L'illustration conceptuelle était plutôt juste !

root@kitploit:~
*Pourquoi EdXposed ? Eh bien... nous sommes tombés sur 2 problèmes majeurs au début de la phase de conceptualisation :

1. En raison de préoccupations de sécurité, l'Android OS moderne ne permet plus aux applications d'accepter ou de filtrer par programme les demandes de transfert de fichiers Bluetooth entrantes. Cela pose problème car le modus operandi de Blue Pigeon repose sur sa capacité à inspecter les demandes entrantes et à les accepter ou les rejeter en temps réel.
2. Le temps maximum par défaut du délai d'expiration du mode découvrable Bluetooth d'Android est de 3600 secondes (1 heure). Respecter cette limite signifierait que le Red Teamer devrait actualiser manuellement Blue Pigeon fréquemment, ce qui est plutôt irréalisable et pourrait entraver le déroulement de l'opération.

Pour résoudre efficacement ces problèmes, nous avons décidé d'utiliser le framework EdXposed, qui permet le hooking du runtime Android (ART), et d'écrire nos propres hooks personnalisés pour contourner les restrictions au niveau du système d'exploitation de manière modulaire.

3. Blue Dispatcher - Module .NET à injecter dans l'hôte compromis | Le facteur en coulisses

Blue Dispatcher contient les modules .NET pour générer, envoyer et recevoir des payloads vers et depuis Blue Pigeon en utilisant la pile Bluetooth Windows. Le module permet au transfert de fichiers de se produire sans nécessiter d'authentification de sécurité Bluetooth entre Blue Pigeon et l'hôte compromis, c'est-à-dire d'appairage de périphériques. Cela aide à maintenir la discrétion (une exigence clé) car il n'y aura pas de fenêtres contextuelles visuelles sur la machine de la victime, ce qui éveillerait les soupçons.


Impression artistique du développeur d'une opération échouée en raison d'un sabotage visuel.

Exemple d'utilisation

Blue Dispatcher propose des options qui permettent aux utilisateurs de saisir des indicateurs pour la transmission.

IndicateurDescription
--device, -dLe périphérique mobile vers lequel envoyer
--message, -mLa chaîne de texte à envoyer
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"

Remarque : Implémentez votre propre chiffrement au niveau de l'application dans Blue Dispatcher si nécessaire, car les payloads sont transférés via RFCOMM en texte clair.

Configuration de Blue Pigeon | Prérequis, installation et utilisation

Prérequis

Pour déployer Blue Pigeon pour vos besoins d'exfiltration de données, les éléments suivants sont requis :

  1. Un téléphone Android 9/10 rooté avec le framework EdXposed installé. Pour plus de détails sur l'installation du framework EdXposed, voir ici.
  2. L'hôte compromis doit exécuter Windows 10, disposer d'une capacité Bluetooth et être infecté par le payload Blue Dispatcher par d'autres moyens.
  3. (Optionnel) Un serveur web Blue Coop/C2 distant avec des appels d'API REST standard pour que Blue Pigeon y relaie les données.

Installation et utilisation

  1. Blue Pigeon nécessite un téléphone Android rooté + Magisk.

  2. Installez riru-core et riru-edxposed via Magisk. Redémarrez le périphérique Android après avoir installé les modules.

  1. Installez l'apk EdXposed Manager. Vous devriez alors obtenir l'écran suivant montrant que le framework EdXposed est actif.

  1. Installez le BluePigeon.apk pour charger les hooks Blue Beak dans EdXposed Manager. Vous devriez alors voir le module Battery Optimizer dans la liste des modules.

  1. Redémarrez le périphérique et vous devriez voir l'icône Blue Pigeon à côté de l'horloge si tout s'est bien passé.

  1. Lancez Blue Pigeon en ouvrant l'application « Battery Optimizer ».

  2. Le point de terminaison Blue Coop et la phrase de passe secrète (utilisée pour l'authentification) peuvent être configurés en cliquant sur les boutons dans le coin supérieur gauche.

  1. Maintenant, tout ce que le Red Teamer a à faire est d'amener le téléphone à proximité, de le maintenir chargé, et de cliquer sur le bouton de démarrage !

Considérations de sécurité

En tant qu'outil offensif, il serait assez embarrassant que Blue Pigeon échoue face à des tentatives simples d'autres attaquants ou de personnes détestant les oiseaux.

Pour commencer*, Blue Pigeon est conçu avec une protection contre ces quelques attaques potentielles :

1. Prévention des requêtes malveillantes

Une limitation de l'utilisation du partage de fichiers Bluetooth comme moyen d'exfiltration est son manque de transfert asynchrone. Comme un seul processus de transfert de fichier peut avoir lieu à un moment donné, Blue Pigeon doit faire attention à n'autoriser et ne consommer que les demandes entrantes légitimes.

Si un adversaire à proximité peut créer une requête malveillante et tromper Blue Pigeon pour qu'il l'accepte, il pourrait provoquer une attaque DoS temporaire contre la configuration en envoyant un fichier factice excessivement volumineux. L'attaquant pourrait même tenter de compromettre le téléphone mobile ou le Blue Coop distant avec un contenu malveillant intégré dans le fichier.

Pour atténuer ces attaques potentielles, les noms de fichiers des demandes de fichiers entrants sont authentifiés à l'aide d'un schéma d'authentification HMAC avec une phrase de passe partagée configurable.

La procédure de vérification du nom de fichier se décompose en les étapes suivantes :

  1. Le nom du fichier doit correspondre au format attendu : par exemple BP-e2211d9e19f1669d1a09ea4828d3e2bc171a10bce71cafb53a64179f497273ea.txt
  2. La chaîne hexadécimale de longueur 64 est divisée en deux parties : providedHash et rand
  3. Vérifiez HmacSHA512(rand, passphrase) par rapport au providedHash (en comparant les 32 premiers chiffres hexadécimaux / 16 octets)
  4. La demande est alors considérée comme légitime.

La logique de vérification du nom de fichier réside dans com.csg.bluepigeon.util.EncryptionManager et peut être personnalisée en conséquence.

Note du développeur : En réalité, une vérification de l'adresse MAC de l'expéditeur serait l'idéal, mais nous avons opté pour la vérification du nom de fichier car il serait difficile de déterminer à l'avance l'adresse MAC Bluetooth de la victime.

2. Prévention des attaques par rejeu

Une autre voie d'attaque serait via des attaques par rejeu. Un adversaire à proximité pourrait potentiellement renifler le trafic de communication et obtenir un nom de fichier précédemment accepté. Il pourrait alors tenter de réutiliser/« rejouer » le nom de fichier et envoyer une demande de transfert de fichier malveillante à Blue Pigeon. De même, un transfert de fichier malveillant suffisamment volumineux pourrait provoquer un DoS temporaire contre la configuration.

Pour atténuer cela, les noms de fichiers ne seront pas autorisés à être réutilisés. Blue Beak garantira que le nom de fichier entrant n'a pas été consommé auparavant (en interrogeant le dossier /sdcard/blue_pigeon/backup).

Dans ce dépôt de base, le composant rand du nom de fichier a une longueur de 32 chiffres hexadécimaux / 16 octets, ce qui donne un taux de collision d'environ 1 sur 2^128 (calcul trivial, en supposant une bonne aléatoire).

Les seuils de collision peuvent être ajustés en personnalisant la structure du nom de fichier et le schéma de vérification. Les codes pertinents se trouvent dans com.csg.bluepigeon.util.EncryptionManager.

*Si vous avez découvert d'autres opportunités de tuer des oiseaux que nous aurions négligées et/ou souhaitez contribuer à durcir Blue Pigeon, n'hésitez pas à créer une issue ou une pull request !

Licence et contribution à Blue Pigeon

Licence

GNU General Public License

Vous avez une idée pour améliorer Blue Pigeon ?

N'hésitez pas à créer des issues et à envoyer des pull requests !

Télécharger l’outil