
Script super organisé et flexible pour l'envoi de campagnes de phishing
Script super organisé et flexible pour l'envoi de campagnes d'hameçonnage.
goPhish est également un excellent choix. Mais je préfère la flexibilité et la simplicité en même temps. J'ai utilisé goPhish à plusieurs reprises mais à un moment donné, je le trouve soit écrasant soit inflexible.
La plupart du temps, je n'ai pas besoin de toutes ces statistiques, j'ai juste besoin d'une manière flexible de préparer mes campagnes d'hameçonnage et de les envoyer. Chaque fois que j'utilise goPhish, je dois aller consulter la documentation sur la façon d'ajouter un site web, de rediriger des requêtes spécifiques, etc. J'ai donc créé goCabrito et getCabrito.
getCabrito génère optionnellement une URL unique pour le suivi des e-mails.
en générant un hachage pour chaque e-mail et en l'ajoutant à la fin de l'URL ou de l'URL d'image, et en stockant ces informations ainsi que d'autres choses utiles pour que getCabrito puisse les importer et les servir. Cette fonctionnalité est la seule chose qui relie goCabrito au script getCabrito, alors pas de panique !
C'est simplement le nom d'un de mes restaurants préférés et ce nom a été choisi par un membre de mon équipe.
Installer les dépendances des gems
sudo apt-get install build-essential libsqlite3-dev
Installer les gems
gem install mail sqlite3
goCabrito.rb — Un expéditeur d'e-mails simple mais flexible.
Menu d'aide :
-s, --server HOST:PORT Serveur SMTP et son port.
ex. smtp.office365.com:587
-u, --user USER Nom d'utilisateur pour l'authentification.
ex. [email protected]
-p, --pass PASS Mot de passe pour l'authentification
-f, --from EMAIL Adresse e-mail de l'expéditeur (souvent la même que l'e-mail de l'expéditeur)
ex. [email protected]
-t, --to EMAIL|LIST|CSV Adresse e-mail du destinataire ou une liste de destinataires.
ex. [email protected] ou targets.lst ou targets.csv
Le csv doit être au format fname,lname,email sans en-tête.
-c, --copy EMAIL|LIST|CSV Adresse e-mail du destinataire en CC ou une liste de destinataires.
-b, --bcopy EMAIL|LIST|CSV Adresse e-mail du destinataire en CCI ou une liste de destinataires.
-B, --body MSG|FILE Le corps du message sous forme de chaîne ou de fichier contenant le corps (pas les pièces jointes).
Pour le clic, l'ouverture du message et autres suivis :
Ajoutez la balise {{track-click}} à l'URL dans le message HTML.
ex : http://phisher.com/file.exe/{{track-click}}
Ajoutez la balise {{track-open}} dans le message HTML.
ex : <html><body><p>Bonjour</p>{{track-open}}</body></html>
Ajoutez la balise {{name}} dans le message HTML pour qu'elle soit remplacée par le nom (utilisée avec --to CSV).
ex : <html><body><p>Cher {{name}},</p></body></html>
Ajoutez la balise {{num}} pour qu'elle soit remplacée par un numéro de téléphone aléatoire.
-a, --attachments FILE1,FILE2 Un ou plusieurs fichiers à joindre, séparés par des virgules.
-S, --subject TITLE Le sujet/titre du message.
--no-ssl Ne PAS utiliser la connexion SSL lors de la connexion au serveur (par défaut : false).
-g, --groups NUM Nombre de destinataires à qui envoyer le courrier en une fois. (par défaut tous dans un seul groupe)
-d, --delay NUM Le délai, en secondes, à attendre après l'envoi de chaque groupe.
-P, --profile FILE Un fichier JSON contenant tous les paramètres ci-dessus dans un fichier
-D, --db FILE Créer un fichier de base de données SQLite (contient les e-mails et leurs hachages de suivi) à importer par le serveur 'getCabrito'.
--dry Test à sec, aucun envoi d'e-mail réel.
-h, --help Afficher ce message.
Utilisation :
goCabrito.rb <OPTIONS>
Exemples :
$goCabrito.rb -s smtp.office365.com:587 -u [email protected] -p P@ssword1 \
-f [email protected] -t targets1.csv -c targets2.lst -b targets3.lst \
-B msg.html -S "Ceci est le titre" -a file1.docx,file2.xlsx -g 3 -d 10
$goCabrito.rb --profile prf.json
dry d'abord (vérifiez la valeur dry du fichier de profil)ruby goCabrito.rb -P CLIENT/3/camp3.json --dry
--dry et m'assure que la valeur dry est false dans le fichier de configurationDe nos jours, de nombreux fournisseurs d'e-mails cloud bloquent l'authentification SMTP par défaut (par exemple Office365, GSuite). Cela entraînera bien sûr une erreur. Pour résoudre ce problème, voici quelques étapes pour vous aider à activer l'authentification SMTP sur différents fournisseurs.
Pour activer globalement l'authentification SMTP, utilisez PowerShell.
$ sudo pwsh
Install-Module -Name PSWSMan -Scope AllUsers
Install-WSMan
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -InlineCredential
La commande ci-dessus vous demandera de saisir les identifiants de l'administrateur Office365.
PowerShell credential request
Enter your credentials.
User: [email protected]
Password for user [email protected]: **********
Connect-ExchangeOnline -UserPrincipalName [email protected]
Set-TransportConfig -SmtpClientAuthenticationDisabled $false
Set-CASMailbox -Identity [email protected] -SmtpClientAuthenticationDisabled $false
Get-CASMailbox -Identity [email protected] | Format-List SmtpClientAuthenticationDisabled
Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
Ensuite, suivez les étapes suivantes :