
evilginx3 + gophish

Kombination von evilginx3 und GoPhish.
Dies ist die öffentliche, kostenlose Version des Repositorys, ES IST NICHT DIE AKTUELLSTE VERSION. Ich halte diese öffentliche Version des Repositorys bewusst hinter meiner Version zurück, für Leute, die mich über GitHub Sponsors sponsern. Das bedeutet, dass dieser Version möglicherweise Bugfixes oder Funktionen fehlen und es keine Erwartungen an Bugfixes, Funktionserweiterungen oder Support hier gibt. Werden Sie Sponsor, um Zugriff auf die aktuelle Version zu erhalten.
Bevor ich beginne, möchte ich betonen, dass ich Kuba Gretzky und seine Arbeit in keiner Weise herabsetze. Ich danke ihm persönlich dafür, dass er evilginx3 der Öffentlichkeit zur Verfügung gestellt hat. Tatsächlich würde diese Arbeit ohne seine Arbeit nicht existieren. Ich muss auch Jordan Wright dafür danken, dass er das unglaubliche GoPhish-Toolkit entwickelt/pflegt. Kubas Gophish-Fork wurde nach der Erstellung seiner eigenen Integration auch als Inspiration für einige Teile dieses Projekts verwendet.
Sie sollten ein grundlegendes Verständnis für die Verwendung von GoPhish und evilginx3 haben.
Ich übernehme keine Verantwortung oder Haftung für Missbrauch oder illegitime Nutzung dieser Software. Diese Software darf nur in autorisierten Penetrationstests oder Red-Team-Einsätzen verwendet werden, bei denen der/die Betreiber ausdrückliche schriftliche Genehmigung zur Durchführung von Social Engineering erhalten haben.
Als Penetrationstester oder Red-Teamer haben Sie vielleicht von evilginx3 als Proxy-Man-in-the-Middle-Framework gehört, das in der Lage ist, Zwei-Faktor/Multi-Faktor-Authentifizierung zu umgehen. Das ist für uns verlockend, aber bei der Verwendung für Social-Engineering-Einsätze gibt es einige Schwachstellen.
Fehlende Nachverfolgung - evilginx3 bietet keine eindeutigen Nachverfolgungsstatistiken pro Opfer (z.B. geöffnete E-Mail, angeklickter Link usw.). Dies ist problematisch für Kunden, die diese Statistiken wünschen/benötigen/bezahlen, wenn sie einen Social-Engineering-Einsatz buchen.
Kein vollständiges Social-Engineering-Toolkit - evilginx3 bietet nur Proxy-Man-in-the-Middle-Funktionen, aber nicht die gesamte Funktionalität, die für eine Social-Engineering-Kampagne per E-Mail/SMS erforderlich ist. Zum Beispiel sendet es keine E-Mails an Ziele oder bietet diese Funktionalität.
Keine GUI - müssen wir das weiter erklären? Wir lieben alle unsere GUIs, und die visuelle Darstellung von Daten für eine Social-Engineering-Kampagne ist unbezahlbar. Betreiber können wirklich ein gründliches Verständnis für den Erfolg ihrer Social-Engineering-Kampagnen gewinnen, indem sie eine visuelle Darstellung der Daten betrachten.
In diesem Setup wird GoPhish verwendet, um E-Mails zu senden und ein Dashboard für evilginx3-Kampagnenstatistiken bereitzustellen, wird aber nicht für Landingpages verwendet. Ihre von GoPhish gesendeten Phishing-Links zeigen auf einen evilginx3-Köderpfad, und evilginx3 wird für die Landingpages verwendet. Dies bietet die Möglichkeit, 2FA/MFA mit evilginx3 zu umgehen, ohne diese wertvollen Statistiken zu verlieren. Echtzeit-Kampagnenereignisbenachrichtigungen werden mit einem lokalen Websocket/HTTP-Server bereitgestellt, den ich entwickelt habe, und vollständige nutzbare JSON-Strings mit Token/Cookies von evilginx3 werden direkt in der GoPhish-GUI (und im Feed) angezeigt:


evilginx3 hört auf einer extern zugänglichen Adresse auf Port 443 (oder einem anderen Port Ihrer Wahl in der evilginx3-Konfiguration)GoPhish hört lokal auf Port 8080 und 3333 (der Phishing-Server auf Port 8080 wird nicht verwendet)Cloudflare Turnstile-Server hört lokal auf Port 80setup.sh wird bereitgestellt, um die erforderlichen Konfigurationen für Sie zu automatisieren. Sobald dieses Skript ausgeführt wurde und Sie die richtigen Werte eingegeben haben, können Sie loslegen. Unten finden Sie die Setup-Hilfe:
Usage:
./setup <root domain> <subdomain(s)> <root domain bool> <feed bool> <rid replacement>
- root domain - the root domain to be used for the campaign
- subdomains - a space separated list of evilginx3 subdomains, can be one if only one
- root domain bool - true or false to proxy root domain to evilginx3
- feed bool - true or false if you plan to use the live feed
- rid replacement - replace the gophish default "rid" in phishing URLs with this value
Example:
./setup.sh example.com "accounts myaccount" false true user_id
Die Cloudflare Turnstile-Integration hat Weiterleitungsregeln und eine IP-Schwarze Liste mit Apache2 abgelöst. Der Apache2-Ansatz basierte auf einer vordefinierten Liste von Weiterleitungsregeln und einer IP-Schwarzen Liste. Möglicherweise übersehen wir bestimmte User Agents, Hosts oder IP-Adressen, die unsere Infrastruktur erkennen. Dies geschieht normalerweise durch Bots und automatisierte Software, die Phishing-Infrastruktur scannt. Die Cloudflare Turnstile-Technologie ist derzeit eine der besten Verteidigungen gegen Bots und verifiziert, dass ein tatsächlicher Benutzer auf Ihre Seite zugreift.
Turnstile im Dashboardevilginx3/templates/forbidden.html & evilginx3/templates/turnstile.html mit Ihren eigenen Änderungenevilginx3 starten, geben Sie die öffentlichen/privaten Schlüssel mit dem turnstile-Flag getrennt durch ein : an. Zum Beispiel:./evilginx3 -feed -g ../gophish/gophish.db -turnstile <PUBLIC_KEY>:<PRIVATE_KEY>
Blogbeitrag hier.
Wenn ich eine statische HTML-Seite für die Cloudflare Turnstile-Funktionalität beifügen würde, hätte jede Phishing-Infrastruktur dieselbe Seite, was zu statischen HTML-Code-Erkennungen führen würde. Hier kommen Go-HTML-Templates ins Spiel. Ich habe ein Starter-Template in evilginx3/templates/turnstile.html als Richtlinie beigefügt. SIE SOLLTEN DIES ÄNDERN. Hier sind die Regeln für den Aufbau des Template-Codes; bei Nichtbeachtung wird die Cloudflare Turnstile-Funktionalität wahrscheinlich nicht funktionieren:
{{.FormActionURL}}, {{.ErrorMessage}} und {{.TurnstilePublicKey}} einfügenTurnstile-Challenge muss die Template-Variable {{.FormActionURL}} seindata-sitekey-Wert für die cf-turnstile div-Klasse muss die Template-Variable {{.TurnstilePublicKey}} seinevilginx3/templates/turnstile.html speichernname-Attribut button habenFalls Sie setup.sh bereits einmal ausgeführt und den Standardwert RId im gesamten Projekt ersetzt haben, wurde replace_rid.sh erstellt, um den RId-Wert erneut zu ersetzen.
Usage:
./replace_rid <previous rid> <new rid>
- previous rid - the previous rid value that was replaced
- new rid - the new rid value to replace the previous
Example:
./replace_rid.sh user_id client_id
Nachdem setup.sh ausgeführt wurde, sind die nächsten Schritte:
GoPhish und konfigurieren Sie E-Mail-Vorlage, E-Mail-Sende-Profil und Gruppenevilginx3 und konfigurieren Sie Phislet und Köder (Sie müssen den vollständigen Pfad zur GoPhish sqlite3-Datenbank mit dem Flag -g angeben)GoPhish aus und setzen Sie die Landing-URL auf Ihren Köderpfad für das evilginx3-PhisletDie Funktion QR Code Generator ermöglicht es Ihnen, QR-Codes für QR-Code-Social-Engineering-Kampagnen zu generieren. Hier sind die Schritte zur Verwendung:
{{.QR}} einfügen:


Beachten Sie, dass diese Funktion derzeit nur für E-Mail-Kampagnen und HTML-E-Mail-Vorlagen unterstützt wird
Blogbeitrag hier.
Eine vollständige Überarbeitung von GoPhish wurde durchgeführt, um SMS-Kampagnenunterstützung mit Twilio bereitzustellen. Ihr neues evilgophish-Dashboard sieht wie folgt aus:

Sobald Sie setup.sh ausgeführt haben, sind die nächsten Schritte:
SMS-Nachrichtenvorlage. Verwenden Sie nur Text beim Erstellen einer SMS-Nachrichtenvorlage und fügen Sie keinen Tracking-Link ein, da dieser in der SMS-Nachricht erscheinen würde. Lassen Sie Envelope Sender und Subject leer, wie unten:
SMS-Sende-Profil. Geben Sie Ihre Telefonnummer von Twilio, Account SID und Auth Token ein:
CSV-Vorlagenwerte wurden aus Kompatibilitätsgründen beibehalten. Behalten Sie daher die CSV-Spaltennamen bei und setzen Sie die Telefonnummern Ihrer Ziele in die Spalte Email. Beachten Sie, dass Twilio die folgenden Telefonnummernformate akzeptiert. Sie müssen eines dieser drei Formate haben:
evilginx3 und konfigurieren Sie Phislet und Köder (Sie müssen den vollständigen Pfad zur GoPhish sqlite3-Datenbank mit dem Flag -g angeben)GoPhish aus und setzen Sie die Landing-URL auf Ihren Köderpfad für das evilginx3-PhisletBlogbeitrag hier.
Echtzeit-Kampagnenereignisbenachrichtigungen werden von einem lokalen Websocket/HTTP-Server und einer Live-Feed-App verarbeitet. Zur Einrichtung:
Wählen Sie true für feed bool bei der Ausführung von setup.sh
Wechseln Sie in das Verzeichnis evilfeed und starten Sie die App mit ./evilfeed
Geben Sie beim Starten von evilginx3 das Flag -feed an, um den Feed zu aktivieren. Zum Beispiel:
./evilginx3 -feed -g /opt/evilgophish/gophish/gophish.db
http://localhost:1337/ anzeigen. Das Feed-Dashboard sieht wie folgt aus:
WICHTIGE HINWEISE
JavaScript. Sie MÜSSEN die Seite nicht aktualisieren. Wenn Sie die Seite aktualisieren, VERLIEREN Sie alle bis zu diesem Punkt gesammelten Ereignisse.Ich werde zu meinem eigenen Ermessen phishlets zu diesem Repository hinzufügen. Es gibt keine Erwartung, dass ich phishlets im Rahmen dieses Repositorys erstelle; Sie werden erwartet, Ihre eigenen zu erstellen. ÖFFNEN SIE KEINE ISSUES IN DIESEM REPOSITORY FÜR PHISHLETS
Am 10. Mai 2023 hat Kuba Gretzky evilginx von 2.4.0 auf Version 3.0.0 aktualisiert. Sie können einen detaillierten Blogbeitrag zu den Änderungen des Tools hier finden: evilginx3+mastery. Am bemerkenswertesten ist, dass Änderungen am phishlet-Dateiformat höchstwahrscheinlich phishlets vor Version 3.0.0 brechen werden, und sie müssen neu geschrieben werden. Obwohl die Neuschreibung Arbeit erfordert, bietet das neue phishlet-Dateiformat zusätzliche Vorteile. Dokumentation zum phishlet-Format für Version 3.0.0 finden Sie hier: Phishlet Format v3.0.0. Phishlets im Legacy-Format werden weiterhin in diesem Repository im Ordner evilginx3/legacy_phishlets aufbewahrt. , die mit Version kompatibel sind, werden in gespeichert. Noch nicht alle Legacy- wurden in das -Format konvertiert; ich werde sie nach und nach aktualisieren, sofern es die Zeit erlaubt!
Das Installationsskript wurde auf Ubuntu Focal/Jammy getestet und installiert die aktuelle Version von Go aus dem Quellcode. Binärdateien können je nach Ihrer Go-Umgebung und Ihren installierten Komponenten fehlschlagen, wenn Sie z.B. die ursprünglichen Versionen der in diesem Projekt kombinierten Tools installieren und dann versuchen, diese Version zu installieren. Es nimmt auch Änderungen an DNS vor, damit evilginx3 die Kontrolle übernehmen kann. Sie sollten die Auswirkungen verstehen und diese überprüfen. Eine frische Umgebung wird empfohlen; andere Betriebssysteme wurden nicht getestet.
Es ist nicht ungewöhnlich, die Verfolgung einer Kampagne vor dem Start zu testen, und ich ermutige Sie dazu, aber ich hinterlasse Ihnen eine Warnung. evilginx3 erstellt ein Cookie und baut eine Sitzung für jeden neuen Browser des Opfers auf. Wenn Sie weiterhin mehrere Kampagnen und mehrere Phishing-Links im selben Browser testen, werden Sie den Verfolgungsprozess verwirren, da der RId-Wert aus Anfragen extrahiert und zu Beginn einer neuen Sitzung gesetzt wird. Wenn Sie dies tun, simulieren Sie nicht wirklich ein Opfer, da ein Opfer niemals Zugang zu einem anderen Phishing-Link außer seinem eigenen hätte; es versteht sich von selbst, dass dies während einer Live-Kampagne nie vorkommt. Ich warne Sie hiermit, kein Issue dafür zu eröffnen, da Sie das Tool nicht so verwenden, wie es beabsichtigt ist. Wenn Sie ein neues Opfer simulieren möchten, können Sie den Verfolgungsprozess testen, indem Sie einen neuen Browser/Tab im Inkognito-Modus verwenden.
GoPhish wird niemals auf Ihren tatsächlichen Phishing-Seiten verwendet, und E-Mail-Header wurden entfernt, sodass Sie sich keine Sorgen um IOCs darin machen müssen.
rid-String in Phishing-URLs wird vom Betreiber in setup.sh gewähltSMS-Kampagnenunterstützung hinzugefügtCaptured Session für erfasste evilginx3-Sitzungen/Token hinzugefügtSiehe die Datei CHANGELOG.md für Änderungen seit der Erstveröffentlichung.
Es gibt keine Erwartung, dass ich auf Issues in dieser öffentlichen Version des Repositorys reagiere. Sie sponsern mich nicht oder finanzieren die Entwicklung des Projekts, daher sollten Sie keine Erwartungen an Support haben. Sponsern Sie mich für erhöhten Support.
evilginx 3.x.x-FormatIch würde gerne sehen, dass sich dieses Projekt im Laufe der Zeit verbessert und wächst. Wenn Sie Verbesserungsideen, neue Weiterleitungsregeln, neue IP-Adressen/Blöcke zur Schwarzen Liste, Phishlets oder Vorschläge haben, erstellen Sie bitte einen Pull-Request.
Phishlets3.0.0evilginx3/phishletsphishlets3.x.x