
Um framework de phishing com bot do Slack para exercícios de Red Teaming

Um Framework de Ataque ao Slack para realizar exercícios de Red Team e phishing em workspaces do Slack.
Esta ferramenta é destinada apenas a Profissionais de Segurança. Não use esta ferramenta contra nenhum workspace do Slack sem permissão explícita para testar. Use por sua conta e risco.
Milhares de organizações utilizam o Slack para ajudar seus funcionários a se comunicar, colaborar e interagir. Muitos desses workspaces do Slack instalam aplicativos ou bots que podem ser usados para automatizar diferentes tarefas dentro do Slack. Esses bots recebem permissões individuais que determinam quais tarefas o bot está autorizado a solicitar via API do Slack. Para autenticar na API do Slack, cada bot recebe um token de API que começa com xoxb ou xoxp. Na maioria das vezes, esses tokens vazam em algum lugar. Quando esses tokens são exfiltrados durante um exercício de Red Team, pode ser complicado utilizá-los adequadamente. Agora o EvilSlackbot está aqui para automatizar e agilizar esse processo. Você pode usar o EvilSlackbot para enviar mensagens falsificadas do Slack, links de phishing, arquivos e pesquisar por segredos vazados no Slack.
Além do red teaming, o EvilSlackbot também foi desenvolvido pensando em simulações de phishing no Slack. Para usar o EvilSlackbot para realizar um exercício de phishing no Slack, basta criar um bot no Slack, dar ao seu bot as permissões necessárias para o teste pretendido e fornecer ao EvilSlackbot uma lista de e-mails de funcionários que você deseja testar com phishes simulados (Links, arquivos, mensagens falsificadas)
O EvilSlackbot requer python3 e 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 ferramenta, você deve fornecer um token xoxb ou xoxp.
Required:
-t TOKEN, --token TOKEN (Slack xoxb/xoxp token)
python3 EvilSlackbot.py -t <token>
Dependendo das permissões associadas ao seu token, existem vários ataques que o EvilSlackbot pode realizar. O EvilSlackbot verificará automaticamente quais permissões seu token possui e as exibirá, juntamente com qualquer ataque que você possa realizar com o token fornecido.

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)
Com as permissões corretas do token, o EvilSlackbot permite que você envie mensagens de phishing enquanto se passa pelo nome e foto do bot. Este ataque também requer ou o endereço de e-mail (-e) do alvo, uma lista de e-mails alvo (-eL) ou o nome de um canal do Slack (-cH). O EvilSlackbot usará esses argumentos para pesquisar o SlackID do usuário associado aos e-mails ou nome do canal fornecidos. Para automatizar seu ataque, use uma lista de 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>
Com as permissões corretas do token, o EvilSlackbot permite que você envie mensagens de phishing contendo links de phishing. O que torna este ataque diferente do ataque falsificado é que este método enviará a mensagem como o bot associado ao token fornecido. Você não poderá escolher o nome ou a imagem do bot que está enviando seu phish. Este ataque também requer ou o endereço de e-mail (-e) do alvo, uma lista de e-mails alvo (-eL) ou o nome de um canal do Slack (-cH). O EvilSlackbot usará esses argumentos para pesquisar o SlackID do usuário associado aos e-mails ou nome do canal fornecidos. Para automatizar seu ataque, use uma lista de 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>
Com as permissões corretas do token, o EvilSlackbot permite pesquisar segredos no Slack por meio de uma pesquisa de palavra-chave. No momento, este ataque requer um token xoxp, pois tokens xoxb não podem receber as permissões adequadas para pesquisar por palavras-chave dentro do Slack. Use o argumento -o para gravar os resultados da pesquisa em um arquivo de saída.
python3 EvilSlackbot.py -t <xoxp token> -s -o <outfile.txt>
Com as permissões corretas do token, o EvilSlackbot permite enviar anexos de arquivos. O ataque de anexo requer um caminho para o arquivo (-f) que você deseja enviar. Este ataque também requer ou o endereço de e-mail (-e) do alvo, uma lista de e-mails alvo (-eL) ou o nome de um canal do Slack (-cH). O EvilSlackbot usará esses argumentos para pesquisar o SlackID do usuário associado aos e-mails ou nome do canal fornecidos. Para automatizar seu ataque, use uma lista de 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
Com as permissões corretas, o EvilSlackbot pode pesquisar e listar todos os canais públicos do workspace do Slack. Isso pode ajudar no planejamento de onde enviar mensagens para canais. Use -o para gravar a lista em um arquivo de saída.