Eine React/Node App zur Demonstrierung von "Man in the Middle" Attacken durch ein Proxy Server.
Das Ziel der Demo ist es, MITM Angriffe zu testen und Mechanismen des Angriffs und
des Schutzes zu verstehen. Zudem werdet ihr testen können, inwiefern sich eine HTTPS
Verschlüsselung auf die MITM-Angriffe des Proxy-Servers auswirkt.
Unsere App ermöglicht es, beispielsweise Daten unseres integrierten Chat-Messengers durch die MITM Konsole
abzufangen und zu manipulieren.
Diese App enthält einen Kurs zur thematischen Einführung über relavante Themen (Docs)
und eine interaktive Pseudo-Bash Konsole zur Manipulation von Client Daten (MITM Console).
Ihr habt zwei Optionen die App zu verwenden. Entweder innerhalb der mitgegebenen virtuellen Maschine (empfohlen), oder direkt auf euerem Host System.
Der Vorteil dieser enkapsulierten Installation ist, dass diese weniger fehleranfällig ist. Zudem müsst ihr keine Einstellungen in eurem Host System vornehmen.
- Im Projekt Upload befindet sich ein virtuelles Windows Image
KappesProjekt.ova
. - Importiert die
.ova
Datei in Virtual Box.
- Startet die VM. Benutzt beim Login das Passwort
0202
. Auf dem Desktop sollte sich ein Launcher Skriptstart mitm demo.bat
befinden. Fertig.
Der Vorteil dieser manuellen Installation ist, dass ihr weniger Daten herunterladen müsst (4MB im Vergleich zu 16GB).
-
Ladet folgende Software herunter:
a. NodeJS LTS
b. Ncap for Windows -
(Windows) Ändert eure Host Datei folgendermaßen ab:
UnterC:\Windows\System32\drivers\etc
findet ihr die Dateihosts
.In dieser fügt ihr folgende Zeile hinzu (ohne Raute Symbol):
127.0.0.1 platin.demo.com
-
Richtet eure Proxy folgendermaßen ein: Drückt die Windows Taste und sucht nach "Proxyeinstellungen ändern". Schaltet die Option "Einstellung automatisch erkennen" aus. Fügt
127.0.0.1
und Port3002
als Proxy Server in euerem Host System hinzu. Achtet darauf, Außnahmen für die Proxy einzustellen. Schreibt in das Feld darunterwss://*;ws://*;*zoom*;*google*;*paypal*;*streamable*;
-
Entpackt den komprimierten Ordner "TeamPlatinDemoOption2.rar" ODER ladet diese Git Repository herunter ODER klont die Repository.
-
Installiert Wireshark (Packet Sniffing Tool) und Burp (MITM Tool). Beide Features, Paket Sniffing und MITM Attacken, sind auch in unserer eigenen App verfügbar.
-
Falls der Launcher nicht funktioniert, navigiert zum "mitm-demo-app" Ordner und führt die Commands
npm install
(nur beim erstmaligen Starten) und dannnpm run demo
als Command Line (Eingabeaufforderung) oder PowerShell (Im "mitm-demo-app" Ordner mit Shift+Rechtsklick die Option "PowerShell hier öffnen") aus.
Ist es normal, dass mein Browser vor der App warnt, während der Proxy Server aktiv ist?
Ja, da unsere Demo ein selbst-signiertes Zertifikat verwendet, weist der Browser auf mögliche Gefahren auf.
Die App lädt nicht, wieso?
Unter Umständen, müsst ihr das Browserfenster oder das Skript neu starten. Die HTTPS Version der Demo braucht etwa eine halbe Minute zum starten.
Die HTTPS Version startet, aber nicht die HTTP Version (Auf Host).
Beim erstmaligen Starten der App müsst ihr den Command npm install
ausführen.
Alle Schritte, die hier ausgeführt worden sind, insbesondere die Proxyeinstellung sowie die Änderung der Host Datei, sollten nach dem Testen der Demo wieder rückgängig gemacht werden.