
Un framework de phishing con bot de Slack para ejercicios de Red Team

Un marco de ataque para Slack para realizar ejercicios de Red Team y phishing en espacios de trabajo de Slack.
Esta herramienta está destinada únicamente a profesionales de la seguridad. No utilice esta herramienta contra ningún espacio de trabajo de Slack sin permiso explícito para realizar pruebas. Úsela bajo su propio riesgo.
Miles de organizaciones utilizan Slack para ayudar a sus empleados a comunicarse, colaborar e interactuar. Muchos de estos espacios de trabajo de Slack instalan aplicaciones o bots que se pueden usar para automatizar diferentes tareas dentro de Slack. A estos bots se les asignan permisos individuales que dictan qué tareas puede solicitar el bot a través de la API de Slack. Para autenticarse en la API de Slack, a cada bot se le asigna un token de API que comienza con xoxb o xoxp. Con frecuencia, estos tokens se filtran en algún lugar. Cuando estos tokens son exfiltrados durante un ejercicio de Red Team, puede ser complicado utilizarlos adecuadamente. Ahora EvilSlackbot está aquí para automatizar y agilizar ese proceso. Puede usar EvilSlackbot para enviar mensajes de Slack suplantados, enlaces de phishing, archivos y buscar secretos filtrados en Slack.
Además del Red Team, EvilSlackbot también se ha desarrollado pensando en las simulaciones de phishing en Slack. Para usar EvilSlackbot para realizar un ejercicio de phishing en Slack, simplemente cree un bot dentro de Slack, otorgue a su bot los permisos necesarios para su prueba prevista y proporcione a EvilSlackbot una lista de correos electrónicos de los empleados con los que desee probar mediante phishes simulados (enlaces, archivos, mensajes suplantados).
EvilSlackbot requiere python3 y 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
Para usar esta herramienta, debe proporcionar un token xoxb o xoxp.
Required:
-t TOKEN, --token TOKEN (Slack xoxb/xoxp token)
python3 EvilSlackbot.py -t <token>
Dependiendo de los permisos asociados a su token, hay varios ataques que EvilSlackbot puede realizar. EvilSlackbot comprobará automáticamente qué permisos tiene su token y los mostrará junto con cualquier ataque que pueda realizar con el token dado.

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)
Con los permisos de token correctos, EvilSlackbot le permite enviar mensajes de phishing mientras suplanta el nombre y la foto del bot. Este ataque también requiere la dirección de correo electrónico (-e) del objetivo, una lista de correos electrónicos objetivo (-eL) o el nombre de un canal de Slack (-cH). EvilSlackbot usará estos argumentos para buscar el SlackID del usuario asociado con los correos electrónicos o el nombre del canal proporcionados. Para automatizar su ataque, use una lista de correos electrónicos.
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>
Con los permisos de token correctos, EvilSlackbot le permite enviar mensajes de phishing que contienen enlaces de phishing. Lo que diferencia este ataque del ataque suplantado es que este método enviará el mensaje como el bot asociado con el token proporcionado. No podrá elegir el nombre ni la imagen del bot que envía su phish. Este ataque también requiere la dirección de correo electrónico (-e) del objetivo, una lista de correos electrónicos objetivo (-eL) o el nombre de un canal de Slack (-cH). EvilSlackbot usará estos argumentos para buscar el SlackID del usuario asociado con los correos electrónicos o el nombre del canal proporcionados. Para automatizar su ataque, use una lista de correos electrónicos.
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>
Con los permisos de token correctos, EvilSlackbot le permite buscar secretos en Slack mediante una búsqueda por palabra clave. Por ahora, este ataque requiere un token xoxp, ya que los tokens xoxb no pueden tener los permisos adecuados para buscar por palabras clave en Slack. Use el argumento -o para escribir los resultados de la búsqueda en un archivo de salida.
python3 EvilSlackbot.py -t <xoxp token> -s -o <outfile.txt>
Con los permisos de token correctos, EvilSlackbot le permite enviar archivos adjuntos. El ataque de archivos adjuntos requiere una ruta al archivo (-f) que desea enviar. Este ataque también requiere la dirección de correo electrónico (-e) del objetivo, una lista de correos electrónicos objetivo (-eL) o el nombre de un canal de Slack (-cH). EvilSlackbot usará estos argumentos para buscar el SlackID del usuario asociado con los correos electrónicos o el nombre del canal proporcionados. Para automatizar su ataque, use una lista de correos electrónicos.
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
Con los permisos correctos, EvilSlackbot puede buscar y enumerar todos los canales públicos dentro del espacio de trabajo de Slack. Esto puede ayudar a planificar dónde enviar mensajes a los canales. Use -o para escribir la lista en un archivo de salida.
python3 EvilSlackbot.py -t <xoxb token> -cL