
Verschlüsseltes Peer-to-Peer-Mesh-VPN für Remote-Forensik mobiler Geräte, das drahtlose ADB- und libimobiledevice-Erfassung, Netzwerküberwachung und Erkennung von Eindringlingen über NAT und Firewalls hinweg ermöglicht.
MESH ist ein Netzwerk-Tool zur Unterstützung der remote logischen forensischen Datenerfassung auf mobilen Geräten
MESH bietet Analysten einen direkten, verschlüsselten Pfad zu mobilen Geräten für drahtloses Debugging, Netzwerküberwachung und forensische Datenerfassung – selbst wenn sich diese Geräte hinter NAT, Firewalls oder restriktiven Mobilfunknetzen befinden. Es baut ein privates Overlay auf, sodass sich ein entferntes Gerät verhält, als wäre es im selben lokalen Subnetz. Es sind keine zentralen VPN-Server, keine Portweiterleitung und keine dauerhafte Infrastruktur erforderlich, die gewartet oder verteidigt werden müsste. Dies ermöglicht eine nahtlose und einfache Remote-, Internet-weite Netzwerküberwachung und -erfassung mit Tools wie MVT und AndroidQF.
Meshes sind flüchtig und analystengesteuert: Geräte online bringen, sammeln, dann das Netzwerk abbauen. Es bleibt nichts in Betrieb, was die Vermeidung von Fingerprinting-Aktivitäten unterstützt.
[!WICHTIG] Public Alpha: Derzeit im Public Alpha und in aktiver Entwicklung. Ein vollständiges Penetrationstest durch Dritte wurde abgeschlossen und wir haben alle größeren Schwachstellen behoben. Änderungen sind möglich und es sollten bahnbrechende Änderungen erwartet werden. Derzeit ist ein gewisses Maß an technischer Fachkenntnis erforderlich. Bitte melden Sie Fehler oder Sicherheitsbedenken über GitHub Issues."
Für die vollständige Dokumentation:
https://docs.meshforensics.org/
docker compose, nicht das alte docker-compose). Installationsanleitung.sudo snap install task --classicbrew install go-task[!HINWEIS] Die meisten Laufzeitoperationen funktionieren mit einfachem
docker compose, aber die interaktiven Setup-Aufgaben (.env-Verwaltung, Konfigurationsvorlagen, Auth-Key-Rotation) erfordern go-task.
git clone https://github.com/BARGHEST-ngo/mesh.git
cd MESH
task build
task controlPlane
task controlPlane führt Sie interaktiv durch das Setup und startet alle erforderlichen Dienste. Für die meisten Benutzer ist die Auswahl von Ephemeral mit einer Automatischen Domain der empfohlene Weg – es erfordert keine Server- oder DNS-Konfiguration.
Wählen Sie einen Bereitstellungstyp. Eine ephemere Control Plane läuft auf Ihrem Arbeitsplatzrechner und ist über das Internet über einen sicheren Tunnel erreichbar. Eine persistente Control Plane läuft auf einem dedizierten, internetfähigen Server, den Sie verwalten.
Wählen Sie eine Domain. Durch die Auswahl von Automatisch kann MESH eine öffentliche HTTPS-Adresse für Sie bereitstellen. Wählen Sie Manuell, wenn Sie Ihre eigene Domain verwenden möchten.
API-Schlüssel eingeben. Wenn Sie eine Automatische Domain gewählt haben, werden Sie aufgefordert, einen API-Schlüssel einzugeben. Dieser wird Ihnen vom Team bei Barghest zur Verfügung gestellt. Kontaktieren Sie uns, um Zugang zu beantragen.
Konfiguration bestätigen. Überprüfen Sie die generierten Einstellungen, bevor MESH startet.
Wenn diese Einstellungen falsch sind oder das Setup unterbrochen wurde, löschen Sie .env und führen Sie task controlPlane erneut aus, um neu zu beginnen.
CONTROL_PLANE_TYPE=Ephemeral
PROXY_DOMAIN_TYPE=Automatic
MESH_SUBDOMAIN=<zufälliger 10-stelliger Slug>
FRP_AUTH_TOKEN=<geheimer Token>
CONTROL_PLANE_URL=https://<slug>.tunnels.meshforensics.app
LOGIN_URL=https://<slug>.tunnels.meshforensics.app
Container starten und ein API-Schlüssel wird generiert. Sobald alle Dienste fehlerfrei sind, gibt MESH einen einmaligen API-Schlüssel aus, um sich im Web-UI anzumelden.
Control plane API key (enter this in the web UI to log in):
<GEHEIMER API-SCHLÜSSEL>
Navigieren Sie zu Ihrer Control-Plane-URL und geben Sie den API-Schlüssel ein, wenn Sie aufgefordert werden, sich anzumelden.
https://<slug>.tunnels.meshforensics.app
Das Web-UI wird über HTTPS mit einem automatisch von Let's Encrypt ausgestellten Zertifikat bereitgestellt.
[!WICHTIG] Die Standard-ACL erlaubt es Knoten in jedem Netzwerk, miteinander zu sprechen. Produktionsbereitstellungen sollten restriktive Richtlinien verwenden. Ändern Sie diese über den ACL-Tab.
Ihr MESH-Netzwerk ist nun bereit, Knoten aufzunehmen.
Siehe die Dokumentation für Knotenregistrierung und forensische Workflows.
task down zerstört das MESH-Netzwerk, trennt alle Benutzer und entfernt – falls Sie sich für eine Ephemere Bereitstellung mit einer Automatischen Domain entschieden haben – diese und alle Spuren, sodass sie nicht mehr zugänglich sind.
MESH ist ein stark modifizierter Fork des Tailscale-Protokolls, benötigt jedoch keine Tailscale-Infrastruktur.
Zur Herstellung einer Peer-to-Peer, Ende-zu-Ende-verschlüsselten Verbindung wird UDP-Hole-Punching verwendet. Wenn UDP nicht verfügbar oder blockiert ist, wird auf E2EE-HTTPS-Relays, sogenannte DERP-Relays, zurückgegriffen. Die DERP (Designated Encrypted Relay for Packets)-Server DERP-Protokoll leiten Datenverkehr zwischen Knoten weiter, wenn keine direkte Peer-to-Peer-Verbindung hergestellt werden kann.
MESH folgt demselben Modell. Standardmäßig – falls ein Betreiber keine eigene DERP-Infrastruktur konfiguriert hat (was über die MESH-Control-Plane möglich ist) – verwendet MESH die öffentlichen DERP-Server von Tailscale, um eine zuverlässige Konnektivität zu gewährleisten, insbesondere in restriktiven Netzwerkumgebungen. Allerdings benötigt MESH keine Tailscale-Infrastruktur: Betreiber können über die Control-Plane, die eine eingebettete DERP-Implementierung enthält, eigene DERP-Server bereitstellen und nutzen. Damit ist MESH bei Bedarf vollständig selbst hostbar.
DERP-Server fungieren rein als Transport-Relays. Sie ermöglichen die Konnektivität zwischen Geräten, haben aber keine Einsicht in die ausgetauschten Daten, die Ende-zu-Ende verschlüsselt bleiben.
Zu den Verbesserungen gehören (unter anderem):
Die Control Plane ist nur für die Peer-Erkennung und den Schlüsselaustausch zuständig. Forensischer Datenverkehr fließt wann immer möglich direkt zwischen den Endpunkten.
Traditionelle VPN- und Hub-and-Spoke-Architekturen bringen mit sich:
MESH trennt Koordination von Datentransport:
MESH ist für flüchtige, risikoreiche Umgebungen optimiert, nicht für permanente Unternehmensnetzwerke.
android-client — Android-Endpunkt-APKcontrol-plane — Koordinationsserveranalyst — Analysten-CLI-ClientWorkflow:
mesh-analyst-client weiter.main.MESH ist lizenziert unter der GNU Affero General Public License v3.0 oder später (AGPL-3.0-or-later).
Teile dieser Software sind eine abgeleitete Arbeit von Tailscale, das unter der BSD-3-Clause-Lizenz lizenziert ist. Das ursprüngliche Tailscale-Urheberrecht und die Lizenz werden gemäß den Anforderungen von BSD-3-Clause beibehalten. AmneziaWG-/WireGuard-Code ist unter der MIT-Lizenz lizenziert. Siehe .licenses/ für Details.
Alle Modifikationen und Erweiterungen von BARGHEST sind Copyright (c) BARGHEST und lizenziert unter AGPL-3.0-or-later.
WireGuard ist ein eingetragenes Warenzeichen von Jason A. Donenfeld.