
Automatisiertes Container-Orchestrierungstool für Browser-in-the-Browser (BITB)-Phishing-Angriffe, das Red Teams ermöglicht, Multi-Target-Infrastruktur mit Docker, NGINX und WebRTC-Browsercontainern zu skalieren.
EvilNeko ist ein Projekt zur Automatisierung der Orchestrierung von Containern und zur Operationalisierung von Browser-in-the-Browser-Angriffen (BITB) für Red Teams. Inspiriert durch die Forschung von Mr. d0x hier und basierend auf den Ideen des EvilNoVNC-Projekts.
Das Ziel des Projekts ist es, die derzeit verfügbaren Open-Source-Tools zu verbessern, um ein Werkzeug zu entwickeln, das zur Skalierung der Infrastruktur für mehrere Ziele anstelle eines einzelnen Benutzers/einer einzelnen Sitzung verwendet werden kann. EvilNeko bietet Red Teams eine realistische Möglichkeit, BITB-Techniken zu emulieren und Blue Teams dabei zu unterstützen, Wege zur Erkennung dieser Techniken zu finden.
Das Tool verwendet das neko-Projekt zur Erstellung von Containern mit Browsern, die über WebRTC interagieren. Mit einigen kleineren Änderungen an den Einstellungen können wir diese zur Emulation von Browser-in-the-Browser-Techniken verwenden.
EvilNeko enthält derzeit kein eigenes Payload, daher musst du dein eigenes mitbringen. Wenn du ein Beispiel mit dem Mythic-Agenten sehen möchtest, kannst du meinen Blog lesen.
EvilNeko ist nicht für böswillige Zwecke gedacht, sondern für autorisierte Tests von Umgebungen, für deren Test du eine Einwilligung erhalten hast.
EvilNeko funktioniert unter Linux oder MacOS und erfordert installierte docker, docker-compose, flask und NGINX.
Wie oben erwähnt, musst du dein eigenes Payload in Form einer entpackten Chrome-Erweiterung mitbringen und es in lures/extension ablegen.
Sobald die erforderlichen Dienste installiert sind, klone das EvilNeko-Repository und führe EvilNeko.py aus:
python EvilNeko.py
Setze dann die Domain, falls du dies öffentlich hostest. Dies dient hauptsächlich der Benutzerfreundlichkeit, um zu verstehen, welche Links an ein Ziel gesendet werden sollen. Alternativ ist 127.0.0.1 die Standardeinstellung für Tests:
EvilNeko> set_domain <your domain>
Als Nächstes setzt du die URL, die der Neko-Container öffnen soll:
EvilNeko> set_url login.microsoft.com
Jetzt kannst du eine Anzahl von Containern erstellen, die an Ziele gesendet werden sollen:
EvilNeko> create_lure 2
Starte schließlich die Flask- und NGINX-Handler, die den Datenverkehr für jedes Ziel ordnungsgemäß an diese Container weiterleiten:
EvilNeko> start_handler
Um Container zu zerstören, kannst du entweder die UUID übergeben oder "all" verwenden:
EvilNeko> destroy_lure all
Das Beenden zerstört ebenfalls alle Container und stoppt den Handler.