
evilginx3 + gophish

Combinaison d'evilginx3 et de GoPhish.
Ceci est la version publique et gratuite du dépôt, CE N'EST PAS LA VERSION LA PLUS RÉCENTE. Je maintiens volontairement cette version publique en retard par rapport à ma version pour les personnes qui me parrainent via GitHub Sponsors. Cela signifie que cette version peut manquer de corrections de bugs ou de fonctionnalités et qu'il ne faut pas s'attendre à des corrections de bugs, à l'ajout de fonctionnalités ou à un support ici. Devenez sponsor pour accéder à la dernière version.
Avant de commencer, je tiens à dire que je ne dénigre en aucun cas Kuba Gretzky et son travail. Je le remercie personnellement d'avoir rendu evilginx3 public. En fait, sans son travail, ce travail n'existerait pas. Je dois également remercier Jordan Wright pour avoir développé/maintenu l'incroyable boîte à outils GoPhish. Le fork GoPhish de Kuba a également servi d'inspiration pour certaines parties de ce projet après la création de sa propre intégration.
Vous devez avoir une compréhension fondamentale de l'utilisation de GoPhish et d'evilginx3.
Je ne serai pas responsable de toute utilisation abusive ou illégitime de ce logiciel. Ce logiciel doit être utilisé uniquement dans le cadre de tests de pénétration autorisés ou d'engagements d'équipe rouge où le(s) opérateur(s) a(ont) reçu une autorisation écrite explicite pour mener des opérations d'ingénierie sociale.
En tant que testeur de pénétration ou membre d'une équipe rouge, vous avez peut-être entendu parler d'evilginx3 comme d'un framework proxy man-in-the-middle capable de contourner l'authentification à deux facteurs/multi-facteurs. C'est tentant, c'est le moins qu'on puisse dire, mais lorsqu'on essaie de l'utiliser pour des engagements d'ingénierie sociale, certains points douloureux apparaissent.
Manque de suivi - evilginx3 ne fournit pas de statistiques de suivi uniques par victime (ex. email ouvert, lien cliqué, etc.), ce qui est problématique pour les clients qui veulent/ont besoin/payent pour ces statistiques lorsqu'ils s'inscrivent à un engagement d'ingénierie sociale.
Pas une boîte à outils d'ingénierie sociale complète - evilginx3 ne fournit que des capacités de proxy man-in-the-middle, il ne fournit pas toutes les fonctionnalités nécessaires à une campagne d'ingénierie sociale par email/SMS. Par exemple, il n'envoie pas d'emails aux cibles ni ne fournit cette fonctionnalité.
Pas d'interface graphique - avons-nous vraiment besoin d'expliquer cela davantage ? Nous aimons tous nos interfaces graphiques et la représentation visuelle des données pour une campagne d'ingénierie sociale est inestimable. Les opérateurs peuvent vraiment comprendre en profondeur le succès de leurs campagnes d'ingénierie sociale en pouvant visualiser une représentation graphique des données.
Dans cette configuration, GoPhish est utilisé pour envoyer des emails et fournir un tableau de bord pour les statistiques de campagne d'evilginx3, mais il n'est utilisé pour aucune page d'atterrissage. Vos liens de phishing envoyés depuis GoPhish pointeront vers un chemin d'appât d'evilginx3 et evilginx3 sera utilisé pour les pages d'atterrissage. Cela permet de continuer à contourner le 2FA/MFA avec evilginx3, sans perdre ces précieuses statistiques. Des notifications d'événements de campagne en temps réel sont fournies avec un serveur websocket/http local que j'ai développé et des chaînes JSON complètes et utilisables contenant les jetons/cookies d'evilginx3 sont affichées directement dans l'interface graphique de GoPhish (et le flux) :


evilginx3 écoutera sur une adresse accessible de l'extérieur sur le port 443 (ou tout autre port que vous choisissez dans la configuration d'evilginx3)GoPhish écoutera localement sur les ports 8080 et 3333 (le serveur de phishing sur le port 8080 n'est pas utilisé)Cloudflare Turnstile écoutera localement sur le port 80setup.sh a été fourni pour automatiser les configurations nécessaires. Une fois ce script exécuté et que vous lui avez fourni les bonnes valeurs, vous devriez être prêt à commencer. Voici l'aide de configuration :
Usage:
./setup <domaine racine> <sous-domaine(s)> <booléen domaine racine> <booléen flux> <remplacement rid>
- domaine racine - le domaine racine à utiliser pour la campagne
- sous-domaines - une liste séparée par des espaces des sous-domaines evilginx3, peut être un seul
- booléen domaine racine - true ou false pour proxyfier le domaine racine vers evilginx3
- booléen flux - true ou false si vous prévoyez d'utiliser le flux en direct
- remplacement rid - remplace le "rid" par défaut de gophish dans les URLs de phishing par cette valeur
Exemple :
./setup.sh example.com "accounts myaccount" false true user_id
L'intégration de Cloudflare Turnstile a remplacé les règles de redirection et une liste noire IP avec Apache2. L'approche Apache2 reposait sur une liste prédéfinie de règles de redirection et une liste noire IP. Nous pouvons manquer certains agents utilisateurs, hôtes ou adresses IP qui finissent par détecter notre infrastructure. Cela est généralement fait par des bots et des logiciels automatisés qui analysent l'infrastructure de phishing. La technologie Cloudflare Turnstile est l'une des meilleures défenses contre les bots au moment de la rédaction de ce document et vérifie qu'un utilisateur réel accède à votre site.
Turnstile dans le tableau de bordevilginx3/templates/forbidden.html et evilginx3/templates/turnstile.html avec vos propres modificationsevilginx3, incluez les clés publique/privée avec le drapeau turnstile séparées par un :. Par exemple :./evilginx3 -feed -g ../gophish/gophish.db -turnstile <CLÉ_PUBLIQUE>:<CLÉ_PRIVÉE>
Article de blog ici.
Si j'incluais une page HTML statique pour la fonctionnalité Cloudflare Turnstile, l'infrastructure de phishing de tout le monde aurait la même page, ce qui mènerait à des détections de code HTML statique. C'est là qu'interviennent les modèles Go HTML. J'ai inclus un modèle de démarrage dans evilginx3/templates/turnstile.html comme ligne directrice VOUS DEVEZ CHANGER CECI. Voici les règles concernant la configuration du code du modèle ; le non-respect de ces règles entraînera probablement la rupture de la fonctionnalité Cloudflare Turnstile :
{{.FormActionURL}}, {{.ErrorMessage}} et {{.TurnstilePublicKey}}Turnstile doit être la variable de modèle {{.FormActionURL}}data-sitekey pour la classe div cf-turnstile doit être la variable de modèle {{.TurnstilePublicKey}}evilginx3/templates/turnstile.htmlname égal à buttonSi vous avez déjà exécuté setup.sh une fois et remplacé la valeur par défaut de RId dans tout le projet, replace_rid.sh a été créé pour remplacer à nouveau la valeur RId.
Usage:
./replace_rid <ancien rid> <nouveau rid>
- ancien rid - l'ancienne valeur rid qui a été remplacée
- nouveau rid - la nouvelle valeur rid pour remplacer l'ancienne
Exemple :
./replace_rid.sh user_id client_id
Une fois setup.sh exécuté, les étapes suivantes sont :
GoPhish et configurez le modèle d'email, le profil d'envoi d'email et les groupesevilginx3 et configurez le phishlet et l'appât (vous devez spécifier le chemin complet vers la base de données sqlite3 de GoPhish avec le drapeau -g)GoPhish et définissez l'URL de destination comme étant votre chemin d'appât pour le phishlet d'evilginx3La fonctionnalité Générateur de codes QR vous permet de générer des codes QR pour déployer des campagnes d'ingénierie sociale par codes QR. Voici les étapes pour l'utiliser :
{{.QR}} :


Notez que cette fonctionnalité n'est prise en charge que pour les campagnes email et les modèles d'email HTML pour le moment
Article de blog ici.
Une refonte complète de GoPhish a été effectuée afin de fournir un support de campagne SMS avec Twilio. Votre nouveau tableau de bord evilgophish ressemblera à ceci :

Une fois que vous avez exécuté setup.sh, les étapes suivantes sont :
SMS. Vous utiliserez uniquement Texte lors de la création d'un modèle de message SMS, et vous ne devez pas inclure de lien de suivi car il apparaîtra dans le message SMS. Laissez Expéditeur de l'enveloppe et Objet vides comme ci-dessous :
Profil d'envoi SMS. Entrez votre numéro de téléphone depuis Twilio, l'Identifiant de compte et le Jeton d'authentification :
CSV ont été conservées pour la compatibilité, conservez donc les noms de colonnes CSV identiques et placez les numéros de téléphone de vos cibles dans la colonne Email. Notez que Twilio accepte les formats de numéro de téléphone suivants, ils doivent donc être dans l'un de ces trois :
evilginx3 et configurez le phishlet et l'appât (vous devez spécifier le chemin complet vers la base de données sqlite3 de GoPhish avec le drapeau -g)GoPhish et définissez l'URL de destination comme étant votre chemin d'appât pour le phishlet d'evilginx3Article de blog ici.
Les notifications d'événements de campagne en temps réel sont gérées par un serveur websocket/http local et une application de flux en direct. Pour configurer :
Sélectionnez true pour booléen flux lors de l'exécution de setup.sh
cd dans le répertoire evilfeed et démarrez l'application avec ./evilfeed
Lors du démarrage d'evilginx3, fournissez le drapeau -feed pour activer le flux. Par exemple :
./evilginx3 -feed -g /opt/evilgophish/gophish/gophish.db
http://localhost:1337/. Le tableau de bord du flux ressemblera à ceci :
NOTES IMPORTANTES
JavaScript et vous N'AVEZ PAS besoin de rafraîchir la page. Si vous rafraîchissez la page, vous PERDREZ tous les événements jusqu'à ce point.J'ajouterai des phishlets à ce dépôt à ma discrétion. Il ne faut pas s'attendre à ce que je crée des phishlets dans le cadre de ce dépôt ; vous êtes censés créer les vôtres. N'OUVREZ PAS DE PROBLÈMES DANS CE DÉPÔT POUR DES PHISHLETS
Le 10 mai 2023, Kuba Gretzky a mis à jour evilginx 2.4.0 vers la version 3.0.0. Vous trouverez un article de blog détaillé sur les changements apportés à l'outil ici : evilginx3+maîtrise. Plus particulièrement, les modifications du format de fichier phishlet casseront très probablement les phishlets antérieurs à la version 3.0.0 et ils devront être réécrits. Bien que cela demande du travail de les réécrire, il y a des avantages supplémentaires avec le nouveau format de fichier phishlet. La documentation sur le format phishlet pour la version 3.0.0 se trouve ici : Format Phishlet v3.0.0. Les Phishlets au format hérité seront toujours conservés dans ce dépôt dans le dossier evilginx3/legacy_phishlets. Les compatibles avec la version seront stockés dans . Tous les hérités n'ont pas encore été convertis au format , je continuerai à les mettre à jour dès que possible !
Le script d'installation a été testé sur Ubuntu Focal/Jammy et installe la dernière version de Go à partir des sources. Les binaires peuvent échouer à la compilation en fonction de votre environnement Go et de ce que vous avez installé, par exemple en installant les versions originales que ce projet combine puis en essayant d'installer cette version de celles-ci. Il apporte également des modifications au DNS afin qu'evilginx3 puisse le prendre en charge. Vous devez comprendre les implications et le vérifier. Un environnement frais est recommandé et les autres systèmes d'exploitation n'ont pas été testés.
Il n'est pas rare de tester le suivi d'une campagne avant son lancement et je vous encourage à le faire, je vous laisse simplement un avertissement. evilginx3 créera un cookie et établira une session pour chaque nouveau navigateur de victime. Si vous continuez à tester plusieurs campagnes et plusieurs liens de phishing dans le même navigateur, vous brouillerez le processus de suivi car la valeur RId est extraite des requêtes et définie au début d'une nouvelle session. Si vous faites cela, vous ne simulez pas vraiment une victime, car une victime n'aurait jamais accès à un autre lien de phishing que le sien, et il va sans dire que cela ne se produira jamais lors d'une campagne réelle. Ceci est pour vous avertir de ne pas ouvrir un problème à ce sujet, car vous n'utilisez pas l'outil comme il était prévu. Si vous souhaitez simuler une nouvelle victime, vous pouvez tester le processus de suivi en utilisant un nouveau navigateur/onglet en mode de navigation privée.
GoPhish n'est jamais utilisé dans vos pages de phishing réelles et les en-têtes d'email ont été supprimés, il n'y a donc pas lieu de s'inquiéter des IOCs qui s'y trouvent.
rid par défaut dans les URL de phishing est choisie par l'opérateur dans setup.shSMSSession capturée supplémentaire pour les sessions/jetons d'evilginx3 capturésConsultez le fichier CHANGELOG.md pour les modifications apportées depuis la version initiale.
Il ne faut pas s'attendre à ce que je réponde aux problèmes dans cette version publique du dépôt. Vous ne me parrainez pas et ne financez pas le développement du projet, il ne faut donc pas s'attendre à un support. Parrainez-moi pour un support accru.
evilginx 3.x.xJ'aimerais voir ce projet s'améliorer et se développer au fil du temps. Si vous avez des idées d'amélioration, de nouvelles règles de redirection, de nouvelles adresses IP/blocs à mettre sur liste noire, des phishlets ou des suggestions, veuillez ouvrir une pull request.
Phishlets3.0.0evilginx3/phishletsphishlets3.x.x