
MESH v0.2.0-beta
VPN maillé pair-à-pair chiffré pour la forensique mobile à distance, permettant l'acquisition sans fil via ADB et libimobiledevice, la surveillance réseau et la détection d'intrusion à travers NAT et pare-feu.
MESH est un outil réseau, pour soutenir l'acquisition forensique logique à distance sur les appareils mobiles
MESH offre aux analystes un chemin direct et chiffré vers les appareils mobiles pour le débogage sans fil, la surveillance réseau et l'acquisition forensique, même lorsque ces appareils se trouvent derrière un NAT, des pare-feux ou des réseaux mobiles restrictifs. Il construit un overlay privé afin qu'un appareil distant se comporte comme s'il était sur le même sous-réseau local. Il ne nécessite pas de serveurs VPN centraux, pas de redirection de ports et aucune infrastructure permanente à maintenir ou à défendre. Cela permet une surveillance réseau et une acquisition à distance, fluide et facile, par internet, avec des outils tels que MVT et AndroidQF.
Ce qu'il fait
- Forensique mobile à distance via ADB Wireless Debugging et libimobiledevice : exécutez WARD, MVT, AndroidQF et d'autres outils ADB/iOS comme si l'appareil était local.
- Surveillance réseau à distance : capture PCAP et détection d'intrusion Suricata via le même maillage chiffré.
Ce qu'il ne fait pas
- MESH fournit le réseau nécessaire à l'acquisition à distance, mais n'est pas l'outil d'acquisition.
- Nous incluons AndroidQF et MVT dans la suite.
Comment il est renforcé
- Transport WireGuard direct de pair à pair en premier lieu lorsqu'un chemin existe.
- AmneziaWG en option pour obscurcir WireGuard contre le DPI et les pare-feux nationaux.
- Repli automatique vers des relais HTTPS chiffrés lorsque l'UDP est bloqué.
Les maillages sont éphémères et contrôlés par l'analyste : mettez les appareils en ligne, collectez, puis démontez le réseau. Rien ne reste en fonctionnement, ce qui permet d'éviter le profilage des activités.
[!IMPORTANT] Alpha publique : Actuellement en alpha publique et en développement actif. Un test de pénétration complet par un tiers a été réalisé et toutes les vulnérabilités majeures ont été corrigées. Les choses peuvent changer et des changements non rétrocompatibles sont à prévoir. Il nécessite actuellement un certain niveau d'expertise technique. Veuillez signaler les bogues ou les problèmes de sécurité via GitHub Issues.
Démarrage rapide
Pour la documentation complète :
https://docs.meshforensics.org/
Prérequis
- Git
- Docker Engine avec le plugin Compose V2 (
docker compose, pas l'anciendocker-compose). Instructions d'installation. - Task (go-task) pour l'orchestration de construction et la configuration interactive. Instructions d'installation. Version courte :
- Linux :
sudo snap install task --classic - macOS :
brew install go-task
- Linux :
[!NOTE] La plupart des opérations d'exécution fonctionnent avec
docker composesimple, mais les tâches de configuration interactive (gestion de.env, modèles de configuration, rotation des clés d'authentification) nécessitent go-task.
1. Cloner le dépôt
git clone https://github.com/BARGHEST-ngo/mesh.git
cd MESH
2. Démarrer le plan de contrôle
task build
task controlPlane
task controlPlane vous guide pas à pas dans la configuration de manière interactive et démarre tous les services requis. Pour la plupart des utilisateurs, choisir Éphémère avec un domaine Automatique est la voie recommandée - elle ne nécessite aucune configuration de serveur ou DNS.
Choisissez un type de déploiement. Un plan de contrôle éphémère s'exécute sur votre poste de travail et est accessible via internet via un tunnel sécurisé. Un plan de contrôle persistant s'exécute sur un serveur dédié accessible depuis internet que vous gérez.
Choisissez un domaine. Si vous choisissez Automatique, MESH provisionne une adresse HTTPS publique pour vous. Choisissez Manuel si vous souhaitez utiliser votre propre domaine.
Entrez la clé API. Si vous avez choisi un domaine Automatique, vous serez invité à entrer une clé API. Celle-ci vous sera fournie par l'équipe de Barghest, contactez-nous pour demander l'accès.
Confirmez la configuration. Vérifiez les paramètres générés avant que MESH ne démarre.
Si ces paramètres sont incorrects, ou si la configuration a été interrompue, supprimez .env et exécutez task controlPlane pour recommencer.
CONTROL_PLANE_TYPE=Ephemeral
PROXY_DOMAIN_TYPE=Automatic
MESH_SUBDOMAIN=<slug aléatoire de 10 caractères>
FRP_AUTH_TOKEN=<jeton secret>
CONTROL_PLANE_URL=https://<slug>.tunnels.meshforensics.app
LOGIN_URL=https://<slug>.tunnels.meshforensics.app
Les conteneurs démarrent et une clé API est générée. Une fois tous les services sains, MESH affiche une clé API à usage unique pour se connecter à l'interface web.
Clé API du plan de contrôle (saisissez-la dans l'interface web pour vous connecter) :
<CLÉ API SECRÈTE>
3. Accéder à l'interface web
Naviguez vers l'URL de votre plan de contrôle et entrez la clé API lorsque vous y êtes invité pour vous connecter.
https://<slug>.tunnels.meshforensics.app
L'interface web est servie via HTTPS avec un certificat délivré automatiquement par Let's Encrypt.
[!IMPORTANT] L'ACL par défaut permet aux nœuds de chaque réseau de communiquer entre eux. Les déploiements en production devraient utiliser des politiques restrictives. Modifiez-les via l'onglet ACL.
Votre réseau MESH est maintenant prêt à accepter des nœuds.
Consultez la documentation pour l'inscription des nœuds et les workflows forensiques.

