
Ein Slack-Bot-Phishing-Framework für Red-Teaming-Übungen

Ein Slack-Angriffsframework für Red-Team- und Phishing-Übungen in Slack-Workspaces.
Dieses Tool ist ausschließlich für Sicherheitsexperten bestimmt. Verwenden Sie dieses Tool nicht gegen einen Slack-Workspace ohne ausdrückliche Erlaubnis zum Testen. Nutzung auf eigenes Risiko.
Tausende von Organisationen nutzen Slack, um ihren Mitarbeitern die Kommunikation, Zusammenarbeit und Interaktion zu erleichtern. Viele dieser Slack-Workspaces installieren Apps oder Bots, die zur Automatisierung verschiedener Aufgaben innerhalb von Slack verwendet werden können. Diese Bots erhalten individuell vergebene Berechtigungen, die festlegen, welche Aufgaben der Bot über die Slack-API anfragen darf. Zur Authentifizierung an der Slack-API erhält jeder Bot einen API-Token, der mit xoxb oder xoxp beginnt. Sehr oft werden diese Tokens irgendwo preisgegeben. Wenn diese Tokens während einer Red-Team-Übung exfiltriert werden, kann es mühsam sein, sie richtig zu nutzen. Jetzt kommt EvilSlackbot, um diesen Prozess zu automatisieren und zu optimieren. Mit EvilSlackbot können Sie gefälschte Slack-Nachrichten, Phishing-Links, Dateien versenden und nach in Slack durchgesickerten Geheimnissen suchen.
Neben Red-Teaming wurde EvilSlackbot auch mit Blick auf Slack-Phishing-Simulationen entwickelt. Um EvilSlackbot für eine Slack-Phishing-Übung zu verwenden, erstellen Sie einfach einen Bot in Slack, geben Sie Ihrem Bot die für Ihren beabsichtigten Test erforderlichen Berechtigungen und stellen Sie EvilSlackbot eine Liste mit E-Mails der Mitarbeiter zur Verfügung, die Sie mit simulierten Phishing-Versuchen testen möchten (Links, Dateien, gefälschte Nachrichten).
EvilSlackbot benötigt Python3 und 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
Um dieses Tool zu verwenden, müssen Sie einen xoxb- oder xoxp-Token angeben.
Required:
-t TOKEN, --token TOKEN (Slack xoxb/xoxp token)
python3 EvilSlackbot.py -t <token>
Abhängig von den mit Ihrem Token verbundenen Berechtigungen gibt es mehrere Angriffe, die EvilSlackbot durchführen kann. EvilSlackbot überprüft automatisch, welche Berechtigungen Ihr Token hat, und zeigt diese sowie alle Angriffe an, die Sie mit Ihrem gegebenen Token ausführen können.

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)
Mit den richtigen Token-Berechtigungen ermöglicht EvilSlackbot das Senden von Phishing-Nachrichten, während Sie den Botnamen und das Bot-Foto imitieren. Dieser Angriff erfordert entweder die E-Mail-Adresse (-e) des Ziels, eine Liste der Ziel-E-Mails (-eL) oder den Namen eines Slack-Kanals (-cH). EvilSlackbot verwendet diese Argumente, um die Slack-ID des Benutzers zu suchen, der mit den angegebenen E-Mails oder dem Kanalnamen verknüpft ist. Um Ihren Angriff zu automatisieren, verwenden Sie eine Liste von 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>
Mit den richtigen Token-Berechtigungen ermöglicht EvilSlackbot das Senden von Phishing-Nachrichten mit Phishing-Links. Was diesen Angriff von dem gefälschten Angriff unterscheidet, ist, dass diese Methode die Nachricht als der mit Ihrem bereitgestellten Token verknüpfte Bot sendet. Sie können den Namen oder das Bild des Bots, der Ihren Phishing-Versuch sendet, nicht wählen. Dieser Angriff erfordert entweder die E-Mail-Adresse (-e) des Ziels, eine Liste der Ziel-E-Mails (-eL) oder den Namen eines Slack-Kanals (-cH). EvilSlackbot verwendet diese Argumente, um die Slack-ID des Benutzers zu suchen, der mit den angegebenen E-Mails oder dem Kanalnamen verknüpft ist. Um Ihren Angriff zu automatisieren, verwenden Sie eine Liste von 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>
Mit den richtigen Token-Berechtigungen ermöglicht EvilSlackbot die Suche in Slack nach Geheimnissen über eine Schlüsselwortsuche. Derzeit erfordert dieser Angriff einen xoxp-Token, da xoxb-Token nicht die erforderlichen Berechtigungen für die Schlüsselwortsuche in Slack erhalten können. Verwenden Sie das Argument -o, um die Suchergebnisse in eine Ausgabedatei zu schreiben.
python3 EvilSlackbot.py -t <xoxp token> -s -o <outfile.txt>
Mit den richtigen Token-Berechtigungen ermöglicht EvilSlackbot das Senden von Dateianhängen. Der Anhangsangriff erfordert einen Pfad zur Datei (-f), die Sie senden möchten. Dieser Angriff erfordert entweder die E-Mail-Adresse (-e) des Ziels, eine Liste der Ziel-E-Mails (-eL) oder den Namen eines Slack-Kanals (-cH). EvilSlackbot verwendet diese Argumente, um die Slack-ID des Benutzers zu suchen, der mit den angegebenen E-Mails oder dem Kanalnamen verknüpft ist. Um Ihren Angriff zu automatisieren, verwenden Sie eine Liste von 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
Mit den richtigen Berechtigungen kann EvilSlackbot nach allen öffentlichen Kanälen im Slack-Workspace suchen und diese auflisten. Dies kann bei der Planung helfen, wohin Kanalnachrichten gesendet werden sollen. Verwenden Sie -o, um die Liste in eine Ausgabedatei zu schreiben.
python3 EvilSlackbot.py -t <xoxb token> -cL