Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SlackShell — C2 de PowerShell a Slack | Kitploit
Herramientas/GitHubGitHub/bkup/slackshell
Post-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubbkup/slackshell

SlackShell

C2 de PowerShell a Slack

Ver Repositorio
10720hace 8 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

SlackShell

Descripción y Registro de Cambios

v1.0

Este módulo de PowerShell incluye varias funciones que utilizan la API de Slack para crear un canal de comando y control. La función principal, Start-Shell, se conectará a un canal de Slack especificado por el usuario y autenticará utilizando un token de autenticación de API proporcionado para un equipo y usuario de Slack determinados. Cualquier comando escrito en el canal se ejecutará en PowerShell en el host.

El proyecto SlackShell requiere PowerShell v3 o superior debido al uso de Invoke-RestMethod para llamadas a la API. El desarrollo futuro continuará utilizando cmdlets y funciones actuales de PowerShell. Sin embargo, se creó un puerto para PowerShell v2 en SlackShell-Poshv2.psm1.

v1.1

Se pueden importar scripts adicionales de PS en la sesión en ejecución subiéndolos primero al canal de Slack. La función de importación descargará los archivos, que por defecto están alojados en https://slack-files.com, y los importará en memoria. Los archivos no tocan el disco. Por el contrario, la función de descarga se puede utilizar para guardar una copia local de cualquier archivo en el disco.

Los archivos locales se pueden subir al canal de Slack a través de la API utilizando la función de subida.

Si es necesario, se puede iniciar un proceso PS separado para ejecutar un comando que utilice el cmdlet Invoke-Command incorporado.

Funciones

Start-Shell

Inicia la monitorización de un canal de Slack para comandos a ejecutar en PowerShell. Se conectará al canal de Slack cada $sleep segundos y obtendrá todos los comandos nuevos. Los comandos se ejecutarán en el host en PowerShell.

Send-Message

Envía un mensaje al canal de Slack específico a través de la API. Los mensajes se envían con un encabezado de texto, y el cuerpo del mensaje es un adjunto de Slack.

Invoke-Job

Inicia un nuevo proceso y ejecuta un comando en PowerShell en el host. Utiliza el método Start-Job en PowerShell para generar un nuevo proceso, esperar a que el trabajo termine y devolver la salida.

Invoke-Command

Ejecuta un comando en PowerShell en el host en el contexto actual del proceso en ejecución y devuelve la salida.

Get-SlackMessage

Devuelve todos los mensajes en un canal de Slack específico desde el período más antiguo hasta el presente. Los mensajes se devuelven en formato JSON según las especificaciones de la API.

Test-Connection

Utiliza una llamada a la API de Slack para probar si el token de API proporcionado es válido.

Get-FileList

Utiliza una llamada a la API de Slack para devolver una lista de archivos actualmente alojados en el canal de Slack.

Import-File

Actualiza la lista de archivos, luego descarga el archivo especificado en memoria, crea un nuevo módulo y luego importa ese módulo. Los comandos específicos de ese módulo se pueden ingresar directamente en el canal de Slack. El archivo descargado no toca el disco. Esta función debe considerarse en Beta mientras se realizan pruebas adicionales. Algunos módulos se comportan de manera errática

Receive-File

Actualiza la lista de archivos y luego descarga el archivo especificado al disco. Se puede incluir una ruta de almacenamiento adicional; por defecto, la ubicación actual.

Send-file

Sube un archivo local al canal de Slack.

Parámetros Clave

Token

El token de API que se utiliza para la autenticación. Este token representa a un usuario específico en un equipo específico de Slack. Puede encontrar más información aquí: https://api.slack.com/custom-integrations/legacy-tokens

Channel

El identificador del canal que especifica qué canal de Slack del equipo se utilizará. Todo el texto en este canal se procesará como comandos en el host cuando se ejecute Start-Shell. El ID del canal se puede encontrar en la URL al acceder a la página del canal desde el sitio web de Slack.

Ejemplo: https://slackteam1.slack.com/messages/ABC123456. El ID del canal es "ABC123456".

Uso

root@kitploit:~
Import-Module ./SlackShell.psm1

Start-Shell -Token "xoxp-175828824580-175707545555-176600001223-826315a84e533c482bb7e20e8312fh45k" -Channel "ABC123456" -Sleep 5

Únase al mismo canal de Slack como un usuario diferente al que se usó para crear el token. Cualquier cosa escrita en el canal por el usuario diferente se ejecutará en el host bajo el mismo contexto de usuario local que se usó para iniciar el script. Alternativamente, se puede usar 'runjob' para ejecutar comandos en un proceso de PowerShell recién generado.

Comandos de Shell Reservados (en el canal de Slack)

exit

Cierra el shell y la conexión.

cd <path>

Cambia el directorio en el contexto del proceso principal. Se pueden usar rutas relativas (ej. cd ..)

sleep <int>

Cambia el tiempo de espera.

files

Lista los archivos disponibles en el canal de Slack asociado.

import <filename>

Importa el archivo especificado. El archivo debe estar compartido con el canal de Slack que se está utilizando.

download <filename> <path>

Descarga el archivo especificado al disco y lo almacena en la ubicación opcional del parámetro de ruta. El archivo debe estar compartido con el canal de Slack que se está utilizando.

upload <local filename>

Sube el archivo local a Slack y lo comparte con el canal que se está utilizando.

runjob <command>

Ejecuta el comando especificado en un nuevo proceso de PowerShell.

Reconocimientos

La inspiración para trabajar con la API de Slack en PowerShell se atribuye a Warren Frame. Su repositorio fue un gran recurso para comenzar: https://github.com/RamblingCookieMonster/PSSlack

Agradecimientos especiales a @thesubtlety por portar a POSHv2 y por las mejoras añadidas.

Descargar herramienta