
Des scripts pour rendre les attaques par pulvérisation de mots de passe contre Lync/S4B, OWA et O365 beaucoup plus rapides, moins pénibles et plus efficaces.
Ce projet n'est plus maintenu. Les projets alternatifs suivants sont meilleurs et activement maintenus :
Un ensemble de scripts/utilitaires Python qui tente de rendre les attaques par pulvérisation de mots de passe (password spraying) contre Lync/S4B et OWA beaucoup plus rapides, moins douloureuses et plus efficaces.
Venez discuter sur Discord !
Installez les prérequis avec pip3 comme suit :
sudo -H pip3 install -r requirements.txt
Ou utilisez un environnement virtuel Python si vous ne voulez pas installer les paquets globalement.
Un pulvérisateur de mots de passe extrêmement rapide pour Lync/Skype For Business et OWA, construit sur Asyncio et Python 3.7.
Usage:
atomizer (lync|owa|imap) <target> <password> <userfile> [--targetPort PORT] [--threads THREADS] [--debug]
atomizer (lync|owa|imap) <target> <passwordfile> <userfile> --interval <TIME> [--gchat <URL>] [--slack <URL>] [--targetPort PORT][--threads THREADS] [--debug]
atomizer (lync|owa|imap) <target> --csvfile CSVFILE [--user-row-name NAME] [--pass-row-name NAME] [--targetPort PORT] [--threads THREADS] [--debug]
atomizer (lync|owa|imap) <target> --user-as-pass USERFILE [--targetPort PORT] [--threads THREADS] [--debug]
atomizer (lync|owa|imap) <target> --recon [--debug]
atomizer -h | --help
atomizer -v | --version
Arguments:
target target domain or url
password password to spray
userfile file containing usernames (one per line)
passwordfile file containing passwords (one per line)
Options:
-h, --help show this screen
-v, --version show version
-c, --csvfile CSVFILE csv file containing usernames and passwords
-i, --interval TIME spray at the specified interval [format: "H:M:S"]
-t, --threads THREADS number of concurrent threads to use [default: 3]
-d, --debug enable debug output
-p, --targetPort PORT target port of the IMAP server (IMAP only) [default: 993]
--recon only collect info, don't password spray
--gchat URL gchat webhook url for notification
--slack URL slack webhook url for notification
--user-row-name NAME username row title in CSV file [default: Email Address]
--pass-row-name NAME password row title in CSV file [default: Password]
--user-as-pass USERFILE use the usernames in the specified file as the password (one per line)
./atomizer.py owa contoso.com 'Fall2018' emails.txt
./atomizer.py lync contoso.com 'Fall2018' emails.txt
./atomizer lync contoso.com --csvfile accounts.csv
./atomizer lync contoso.com --user-as-pass usernames.txt
./atomizer owa 'https://owa.contoso.com/autodiscover/autodiscover.xml' --recon
./atomizer.py owa contoso.com passwords.txt emails.txt -i 0:45:00 --gchat <GCHAT_WEBHOOK_URL>
Un port de l'extension Burp GatherContacts de @OrOneEqualsOne vers mitmproxy avec quelques améliorations.
Récupère les profils LinkedIn sur Google et Bing, génère automatiquement les adresses e-mail à partir des noms de profils en utilisant le modèle spécifié et effectue des pulvérisations de mots de passe en temps réel.
(Construit sur Atomizer)
mitmdump -s vaporizer.py --set sprayer=(lync|owa) --set domain=domain.com --set target=<domain or url to spray> --set password=password --set email_format='{f}.{last}'
Par défaut, email_format est défini sur le modèle {first}.{last} et n'est pas un argument obligatoire.
Le paramètre domain est le domaine à utiliser pour générer les adresses e-mail à partir des noms, le paramètre target est le domaine ou l'URL à pulvériser.
Installez le certificat mitmproxy, configurez le proxy dans votre navigateur, allez sur Google et/ou Bing et recherchez (assurez-vous d'inclure le /in) :
site:linkedin.com/in "Target Company Name"
Les adresses e-mail seront enregistrées dans emails.txt au format spécifié, puis transmises à Atomizer pour la pulvérisation.
Extraie tout le texte du site Web cible et l'envoie à AWS Comprehend pour analyse afin de générer des listes de mots personnalisées pour la pulvérisation de mots de passe.
Toujours en cours de développement
mitmdump -s aerosol.py --set domain=domain.com
Convertit les noms en noms d'utilisateur Active Directory (par ex. Alice Eve => CONTOSO\aeve)
Usage:
spindrift [<file>] [--target TARGET | --domain DOMAIN] [--format FORMAT]
Arguments:
file file containing names, can also read from stdin
Options:
--target TARGET optional domain or url to retrieve the internal domain name from OWA
--domain DOMAIN manually specify the domain to append to each username
--format FORMAT username format [default: {f}{last}]
Lit les noms depuis STDIN, --domain est utilisé pour spécifier le domaine manuellement :
cat names.txt | ./spindrift.py --domain CONTOSO
Lit les noms depuis names.txt, --target récupère dynamiquement le nom de domaine interne depuis OWA (vous pouvez fournir un domaine ou une URL)
./spindrift.py names.txt --target contoso.com