Tutoriales

Herramienta de extracción y enumeración de holguras 2021

SlackPirate es una utensilio desarrollada en Python que utiliza las API nativas de Slack para extraer información ‘interesante’ de un espacio de trabajo de Slack con un token de camino.

En mayo de 2018, Slack tiene más de 8 millones de clientes, y ese número está creciendo rápidamente. Las posibilidades de integración y ChatOps son infinitas, lo que permite a los equipos (¡no solo a los desarrolladores!) Crear algunos flujos de trabajo positivamente poderosos e interacciones entre bots y aplicaciones de Slack.

Al igual que con las empresas grandes y pequeñas, no es raro que herramientas como Slack pasen desapercibidas en la gobernanza / política de seguridad de la información, lo que en última instancia conduce a situaciones precarias en las que la información sensible y confidencial termina en lugares donde no debería estar.

El propósito de esta utensilio es doble:

  • Los equipos de red pueden usar esto para identificar y extraer información confidencial, documentos, credenciales, etc. de Slack cuando se asigna una cuenta con pocos privilegios al espacio de trabajo de la empresa. Esto podría permitir que un atacante se concentre en otros sistemas y / o obtenga un conocimiento mucho más abierto y el funcionamiento interno de los sistemas / aplicaciones corporativos.
  • Los blue teamers pueden usar esto para identificar y descubrir información confidencial en el espacio de trabajo que inicialmente puede no estar allí. Los Blue-Teamers pueden utilizar esta información con fines de formación interna y sensibilización demostrando el resultado de la utensilio y el tipo de «cosas» que los atacantes (tanto internos como externos) pueden usar y excederse.

La utensilio facilita la compilación de información confidencial para verla sin conexión.

Nota: Soy un Python n00b y no tengo ninguna duda de que el script se puede optimizar y mejorar enormemente. No dude en realizar solicitudes de linaje. ¡Los revisaré y los fusionaré si es necesario!

compilación de información

La utensilio utiliza las API nativas de Slack para extraer información ‘interesante’ y hoy pesquisa la próximo información:

  • Imprima los dominios (si los hay) autorizados a registrarse para el espacio de trabajo en la salida normalizado. He gastado dominios obsoletos, viejos y olvidados aquí que se pueden comprar y usar para registrarse en el espacio de trabajo.
  • Enlaces a cubos S3
  • Contraseñas
  • Paso de AWS / Secreto secreta
  • Claves privadas
  • Mensajes fijados a todos los canales
  • Referencias a enlaces y URL que podrían proporcionar un veterano camino a material sensible; piense en: Google Docs, Trello Invites, enlaces a sistemas internos, etc.
  • Archivos que pueden contener información confidencial como .key, .sh, las palabras «contraseña» o «secreto», etc. incrustados en un documento.

Chuleta saggy

La aplicación web de Slack utiliza una serie de cookies, lo que es de particular interés, espere … d. Estas d La cookie es la misma en todos los espacios de trabajo a los que tiene camino la víctima. Lo que esto positivamente significa es que solo uno es robado d Un atacante puede usar una cookie para consentir a todos los espacios de trabajo en los que la víctima está conectada. En mi experiencia con la aplicación web de Slack, una vez que inicias sesión, permaneces registrado indefinidamente.

Token de holgura

El token de la API de Slack es un token por espacio de trabajo. Un token no puede (que yo sepa) consentir a otros espacios de trabajo de la misma guisa que ese D La cookie antedicho permite el camino a todos los espacios de trabajo.

Para que la utensilio busque y extraiga información, debe proporcionarle un token de API. Hay dos formas sencillas de hacer esto:

  • Prepare la utensilio a d Cookie con el --cookie Bandera. La utensilio emite los tokens y los espacios de trabajo asociados
  • Proporcione un token directamente a la utensilio usando este --token Bandera. Puede encontrar esto viendo la fuente de la URL del espacio de trabajo y buscando XOX

El token se parece a esto:

api_token: «xoxs-xxxx»

Haga una copia de esto y páselo contiguo con el gallardete --token Bandera.

edificio

El script fue desarrollado, probado y admitido bajo Python 3.5, 3.6 y 3.7. Una prueba rápida con Python 2 reveló algunos problemas de compatibilidad.

Linux con virtualenv

  • git clone https://github.com/emtunc/SlackPirate
  • pip install virtualenv
  • virtualenv SlackPirate
  • source SlackPirate/bin/activate
  • pip install -r requirements.txt
  • ./SlackPirate.py --help

Linux sin Virtualenv

  • git clone https://github.com/emtunc/SlackPirate
  • chmod +x SlackPirate.py
  • pip install -r requirements.txt
  • ./SlackPirate.py --help

Windows con virtualenv

  • git clone https://github.com/emtunc/SlackPirate
  • pip install virtualenv
  • virtualenv SlackPirate
  • SlackPirateScriptsactivate.bat
  • pip install -r requirements.txt
  • python SlackPirate.py --help

usar

python3 SlackPirate.py – Ayuda

Display the help menu - this includes information about all scan modules you can explicitly select or ignore

python3 SlackPirate.py –interactive

Interactive mode instructs the tool to allow you to provide a token or cookie, and choose scans to run through a console UI rather than via command line arguments.

python3 SlackPirate.py –cookie

Esto hará lo próximo:

  • Encuentre todos los espacios de trabajo asociados a los que se puede consentir con esta cookie
  • Conéctese a cualquier espacio de trabajo devuelto
  • Busque tokens de API en cada espacio de trabajo devuelto
  • Imprimir en salida normalizado para usar en el próximo comando

python3 SlackPirate.py –token

Esto hará lo próximo:

  • Verifique la validez del token y solo continúe si Slack devuelve True
  • Imprima en salida normalizado si el token proporcionado tiene derechos administrativos, de propietario o de propietario principal
  • Imprima en salida normalizado cuando la utensilio encuentre @ dominios para registrar en Slack Workspace (es posible que se sorprenda de lo que puede encontrar aquí; si tiene suerte, puede encontrar un dominio antiguo, sin usar y registrable aquí).
  • Volcar los registros de camino del equipo en formato JSON cuando el token proporcionado es un token privilegiado
  • Guarde la índice de usuarios en formato JSON
  • Las referencias a los cubos S3 se pueden encontrar aquí
  • Aquí encontrará referencias a contraseñas y otras credenciales.
  • Encuentre referencias a claves de AWS aquí
  • Aquí encontrará referencias a claves privadas
  • Encuentra enlaces a mensajes anclados en todos los canales de Slack
  • Aquí encontrará referencias a URL y enlaces interesantes.
  • Por extremo, la utensilio intenta descargar archivos basándose en palabras secreto predefinidas.

python3 SlackPirate.py –token –s3-scan

Esto le dirá a la utensilio que ejecute solo el escaneo S3

python3 SlackPirate.py –token –no-s3-scan

Esto le indicará a la utensilio que ejecute todos los prospección excepto el prospección S3.

python3 SlackPirate.py –token –verbose

El modo detallado genera archivos en .CSV: proporciona mucha más información como nombres de canales, nombres de usufructuario, enlaces permanentes y más.

Capturas de pantalla

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba