Skip to content

prncn/mitm-demo-app

Repository files navigation

MITM React App

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).

Installation

Ihr habt zwei Optionen die App zu verwenden. Entweder innerhalb der mitgegebenen virtuellen Maschine (empfohlen), oder direkt auf euerem Host System.

VM Image Option

Der Vorteil dieser enkapsulierten Installation ist, dass diese weniger fehleranfällig ist. Zudem müsst ihr keine Einstellungen in eurem Host System vornehmen.

  1. Im Projekt Upload befindet sich ein virtuelles Windows Image KappesProjekt.ova.
  2. Importiert die .ova Datei in Virtual Box.
    image
  3. Startet die VM. Benutzt beim Login das Passwort 0202. Auf dem Desktop sollte sich ein Launcher Skript start mitm demo.bat befinden. Fertig.

Host Option

Der Vorteil dieser manuellen Installation ist, dass ihr weniger Daten herunterladen müsst (4MB im Vergleich zu 16GB).

  1. Ladet folgende Software herunter:
    a. NodeJS LTS
    b. Ncap for Windows

  2. (Windows) Ändert eure Host Datei folgendermaßen ab:
    Unter C:\Windows\System32\drivers\etc findet ihr die Datei hosts.

    In dieser fügt ihr folgende Zeile hinzu (ohne Raute Symbol):

    127.0.0.1 platin.demo.com
    
  3. 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 Port 3002 als Proxy Server in euerem Host System hinzu. Achtet darauf, Außnahmen für die Proxy einzustellen. Schreibt in das Feld darunter

    wss://*;ws://*;*zoom*;*google*;*paypal*;*streamable*;
    

    image

  4. Entpackt den komprimierten Ordner "TeamPlatinDemoOption2.rar" ODER ladet diese Git Repository herunter ODER klont die Repository.

  5. Installiert Wireshark (Packet Sniffing Tool) und Burp (MITM Tool). Beide Features, Paket Sniffing und MITM Attacken, sind auch in unserer eigenen App verfügbar.

  6. Falls der Launcher nicht funktioniert, navigiert zum "mitm-demo-app" Ordner und führt die Commands npm install (nur beim erstmaligen Starten) und dann npm run demo als Command Line (Eingabeaufforderung) oder PowerShell (Im "mitm-demo-app" Ordner mit Shift+Rechtsklick die Option "PowerShell hier öffnen") aus.

FAQ

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.

*Hinweise

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.

Releases

No releases published

Packages

No packages published

Languages