
Herramienta de Enumeración y Extracción de Slack - extraer información sensible de un espacio de trabajo de Slack
Esta es una herramienta desarrollada en Python que utiliza las APIs nativas de Slack para extraer información 'interesante' de un espacio de trabajo de Slack dado un token de acceso.
Desde mayo de 2018, Slack tiene más de 8 millones de clientes y ese número está aumentando rápidamente: las posibilidades de integración y 'ChatOps' son infinitas y permiten a los equipos (¡no solo desarrolladores!) crear flujos de trabajo realmente potentes e interacciones de bots/aplicaciones de Slack.
Como suele ocurrir en corporaciones grandes y pequeñas, no es raro que herramientas como Slack pasen desapercibidas bajo el radar de gobierno/política de Seguridad de la Información, lo que finalmente conduce a situaciones precarias donde información sensible y confidencial termina en lugares donde no debería.
El propósito de esta herramienta es doble:
La herramienta le permite recopilar fácilmente información sensible para su visualización sin conexión según su conveniencia.
Nota: Soy un n00b de Python y no tengo dudas de que el script puede optimizarse y mejorarse enormemente; no dudes en hacer pull requests; ¡los revisaré y fusionaré según corresponda!
La herramienta utiliza las APIs nativas de Slack para extraer información 'interesante' y busca la siguiente información, hoy en día:
La aplicación web de Slack utiliza varias cookies; la de especial interés se llama, espera... d. Esta cookie d es la misma en todos los Espacios de Trabajo a los que la víctima tiene acceso. Lo que esto significa en realidad es que una única cookie d robada permitiría a un atacante obtener acceso a todos los Espacios de Trabajo en los que la víctima ha iniciado sesión; mi experiencia con la aplicación web de Slack es que una vez que inicias sesión, permaneces conectado indefinidamente.
El token de la API de Slack es un token por espacio de trabajo. Un token no puede (hasta donde sé) acceder a otros espacios de trabajo de la misma manera que la cookie d anterior permite el acceso a todos los Espacios de Trabajo.
Para que la herramienta busque y extraiga información, necesitarás proporcionarle un token de API además de una Cookie de Slack. Este token se incluye en los datos de formulario de las solicitudes enviadas a la API de Slack desde el cliente. Por lo tanto, para usar SlackPirate, deberás proporcionar la siguiente información:
d usando el flag --cookie. La herramienta mostrará los Espacios de Trabajo y tokens asociados--token. Puedes encontrarlo usando las herramientas de desarrollador u otra forma de monitoreo de red, o extrayendo la memoria del proceso de Slack. Comienza con xoxc-Asegúrate de pasar tanto un token como una cookie: necesitas ambos para poder autenticarte
El script ha sido desarrollado, probado y confirmado funcionando en Python 3.5, 3.6 y 3.7. Una prueba rápida en Python 2 presentó algunos problemas de compatibilidad.
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>
Esto hará lo siguiente:
python3 SlackPirate.py --token <token>
Esto hará lo siguiente:
Truepython3 SlackPirate.py --token <token> --s3-scan