
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.
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.
Pour la documentation complète :
https://docs.meshforensics.org/
docker compose, pas l'ancien docker-compose). Instructions d'installation.sudo snap install task --classicbrew install go-task[!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.
git clone https://github.com/BARGHEST-ngo/mesh.git
cd MESH
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>
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.
task down détruit le réseau MESH, déconnectant tous les utilisateurs, et si vous avez choisi un déploiement Éphémère avec un domaine Automatique, ceux-ci et toutes les traces sont supprimés et ne peuvent plus être accédés.
MESH est un fork lourdement modifié du protocole Tailscale, mais ne nécessite pas l'infrastructure Tailscale.
Pour établir un canal chiffré de pair à pair, une perforation de trou UDP est utilisée. Si l'UDP est indisponible ou bloqué, il bascule vers des relais HTTPS chiffrés de bout en bout appelés relais DERP. Les serveurs DERP (Designated Encrypted Relay for Packets) protocole DERP relaient le trafic entre les nœuds lorsqu'une connexion directe de pair à pair ne peut être établie.
MESH suit le même modèle. Par défaut, si un opérateur n'a pas configuré sa propre infrastructure DERP (ce qui peut être fait avec le plan de contrôle de MESH), MESH utilise les serveurs DERP publics de Tailscale pour assurer une connectivité fiable, en particulier dans les environnements réseau restrictifs. Cependant, MESH ne nécessite pas l'infrastructure Tailscale : les opérateurs peuvent déployer et utiliser leurs propres serveurs DERP via le plan de contrôle, qui inclut une implémentation DERP intégrée. Cela rend MESH entièrement auto-hébergeable si souhaité.
Les serveurs DERP agissent uniquement comme des relais de transport. Ils facilitent la connectivité entre les appareils mais n'ont pas de visibilité sur les données échangées, qui restent chiffrées de bout en bout.
Les améliorations incluent (sans s'y limiter) :
Le plan de contrôle est responsable uniquement de la découverte des pairs et de l'échange de clés. Le trafic forensique circule directement entre les points d'extrémité lorsque c'est possible.
Les architectures VPN traditionnelles et en étoile introduisent :
MESH sépare la coordination du transport des données :
MESH est optimisé pour les environnements transitoires à haut risque plutôt que pour les réseaux d'entreprise permanents.
android-client — APK du point d'extrémité Androidcontrol-plane — Serveur de coordinationanalyst — Client CLI de l'analysteFlux de travail :
mesh-analyst-client.main.MESH est sous licence GNU Affero General Public License v3.0 ou ultérieure (AGPL-3.0-or-later).
Des parties de ce logiciel sont un travail dérivé de Tailscale, qui est sous licence BSD 3-Clause. Le droit d'auteur original de Tailscale et la licence sont préservés conformément aux exigences de BSD-3-Clause. Le code d'AmneziaWG/Wireguard est sous licence MIT. Voir .licenses/ pour plus de détails.
Toutes les modifications et ajouts par BARGHEST sont Copyright (c) BARGHEST et sous licence AGPL-3.0-or-later.
WireGuard est une marque déposée de Jason A. Donenfeld.