
Ferramenta de Enumeração e Extração do Slack - extrair informações sensíveis de um Espaço de Trabalho do Slack
Esta é uma ferramenta desenvolvida em Python que usa as APIs nativas do Slack para extrair informações 'interessantes' de um workspace do Slack dado um token de acesso.
Em maio de 2018, o Slack tinha mais de 8 milhões de clientes e esse número está crescendo rapidamente - as possibilidades de integração e 'ChatOps' são infinitas e permitem que equipes (não apenas desenvolvedores!) criem fluxos de trabalho e interações de bot/aplicativos Slack realmente poderosos.
Como é comum em corporações grandes e pequenas, não é incomum que ferramentas como o Slack passem despercebidas pela governança/política de Segurança da Informação, o que acaba levando a situações precárias onde informações sensíveis e confidenciais acabam em lugares onde não deveriam.
O propósito desta ferramenta é duplo:
A ferramenta permite que você colete facilmente informações sensíveis para visualização offline conforme sua conveniência.
Nota: Sou um n00b em Python e não tenho dúvidas de que o script pode ser otimizado e melhorado enormemente - sinta-se à vontade para fazer pull requests; eu revisarei e mesclarei conforme apropriado!
A ferramenta usa as APIs nativas do Slack para extrair informações 'interessantes' e procura pelas seguintes informações, atualmente:
O aplicativo web do Slack usa vários cookies - o de especial interesse é chamado, adivinhe só... d. Este cookie d é o mesmo em todos os Workspaces aos quais a vítima tem acesso. O que isso significa na prática é que um único cookie d roubado permitiria a um invasor obter acesso a todos os Workspaces nos quais a vítima está logada; minha experiência com o aplicativo web do Slack é que, uma vez logado, você permanecerá logado indefinidamente.
O token da API do Slack é um token por workspace. Um token não pode (pelo que eu sei) acessar outros workspaces da mesma forma que o cookie d acima permite acesso a todos os Workspaces.
Para que a ferramenta pesquise e extraia informações, você precisará fornecer a ela um token de API além de um Cookie do Slack. Este token está incluído nos dados do formulário das requisições enviadas à API do Slack pelo cliente. Então, para usar o SlackPirate, você precisará fornecer as seguintes informações:
d usando a flag --cookie. A ferramenta exibirá os Workspaces e tokens associados--token. Você pode encontrá-lo usando devtools ou alguma outra forma de monitoramento de rede, ou extraindo da memória do processo do Slack. Ele começa com xoxc-Certifique-se de passar tanto um token quanto um cookie - você precisa de ambos para poder autenticar
O script foi desenvolvido, testado e confirmado funcionando em Python 3.5, 3.6 e 3.7. Um teste rápido no Python 2 apresentou alguns problemas de compatibilidade.
git clone https://github.com/emtunc/SlackPiratepip install virtualenvvirtualenv SlackPiratesource SlackPirate/bin/activatepip install -r requirements.txt./SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratechmod +x SlackPirate.pypip install -r requirements.txt./SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratepip install virtualenvvirtualenv SlackPirateSlackPirate\Scripts\activate.batpip install -r requirements.txtpython SlackPirate.py --helpgit clone https://github.com/emtunc/SlackPiratepip install -r requirements.txtpython SlackPirate.py --helppython3 SlackPirate.py --help
python3 SlackPirate.py --interactive
python3 SlackPirate.py --cookie <cookie>
Isso fará o seguinte:
python3 SlackPirate.py --token <token>
Isso fará o seguinte:
Truepython3 SlackPirate.py --token <token> --s3-scan
python3 SlackPirate.py --token <token> --no-s3-scan
python3 SlackPirate.py --token <token> --verbose


Um Workspace público do Slack foi criado onde qualquer um pode se juntar e discutir novos recursos, mudanças, pedidos de funcionalidades ou simplesmente pedir ajuda. Aqui está o link de convite: https://join.slack.com/t/slackpirate/shared_invite/zt-6o3d9tjq-PhbMxtM2o5ALgFkOB9V_dg