Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SlackShell — PowerShell to Slack C2 | Kitploit
Outils/GitHubGitHub/bkup/slackshell
Post-ExploitationPenetration TestingCommand and ControlRed TeamingRemote Access ToolPayload Development
GitHubbkup/slackshell

SlackShell

PowerShell to Slack C2

Voir le dépôt
10720il y a 8 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

SlackShell

Description & Journal des modifications

v1.0

Ce module PowerShell comprend diverses fonctions qui utilisent l'API Slack pour créer un canal de commande et de contrôle. La fonction principale, Start-Shell, se connecte à un canal Slack spécifié par l'utilisateur et s'authentifie à l'aide d'un jeton d'authentification API fourni pour une équipe et un utilisateur Slack donnés. Toute commande saisie dans le canal sera alors exécutée, en PowerShell, sur l'hôte.

Le projet SlackShell nécessite PowerShell v3 ou supérieur en raison de l'utilisation d'Invoke-RestMethod pour les appels API. Le développement futur continuera à utiliser les applets de commande et fonctions PowerShell actuelles. Cependant, un portage pour PowerShell v2 a été créé dans SlackShell-Poshv2.psm1.

v1.1

Des scripts PS supplémentaires peuvent être importés dans la session en cours en les téléversant d'abord sur le canal Slack. La fonction d'importation télécharge les fichiers, qui sont hébergés par défaut sur https://slack-files.com, et les importe en mémoire. Les fichiers ne touchent pas le disque. Inversement, la fonction de téléchargement peut être utilisée pour enregistrer une copie locale de n'importe quel fichier sur le disque.

Les fichiers locaux peuvent être téléversés vers le canal Slack via l'API à l'aide de la fonction de téléversement.

Si nécessaire, un processus PS séparé peut être créé pour exécuter une commande qui utilise l'applet de commande Invoke-Command intégrée.

Fonctions

Start-Shell

Démarre la surveillance d'un canal Slack pour les commandes à exécuter en PowerShell. Se connecte au canal Slack toutes les $sleep secondes et récupère toutes les nouvelles commandes. Les commandes seront exécutées sur l'hôte en PowerShell.

Send-Message

Envoie un message au canal Slack spécifié via l'API. Les messages sont envoyés avec un en-tête textuel, le corps du message étant une pièce jointe Slack.

Invoke-Job

Démarre un nouveau processus et exécute une commande en PowerShell sur l'hôte. Utilise la méthode Start-Job en PowerShell pour créer un nouveau processus, attendre la fin du travail et renvoyer la sortie.

Invoke-Command

Exécute une commande en PowerShell sur l'hôte dans le contexte actuel du processus en cours et renvoie la sortie.

Get-SlackMessage

Renvoie tous les messages d'un canal Slack spécifique de la période la plus ancienne à aujourd'hui. Les messages sont renvoyés au format JSON conformément aux spécifications de l'API.

Test-Connection

Utilise un appel API Slack pour tester si le jeton API fourni est valide.

Get-FileList

Utilise un appel API Slack pour renvoyer une liste des fichiers actuellement hébergés dans le canal Slack.

Import-File

Actualise la liste des fichiers, puis télécharge le fichier spécifié en mémoire, crée un nouveau module, puis importe ce module. Les commandes spécifiques à ce module peuvent alors être saisies directement dans le canal Slack. Le fichier téléchargé ne touche pas le disque. Cette fonction doit être considérée comme en version bêta pendant que des tests supplémentaires sont en cours. Certains modules se comportent de manière erratique

Receive-File

Actualise la liste des fichiers, puis télécharge le fichier spécifié sur le disque. Un chemin de stockage supplémentaire peut être inclus, par défaut l'emplacement actuel.

Send-file

Téléverse un fichier local vers le canal Slack.

Paramètres clés

Token

Le jeton API utilisé pour l'authentification. Ce jeton représente un utilisateur spécifique sur une équipe Slack spécifique. Plus d'informations peuvent être trouvées ici : https://api.slack.com/custom-integrations/legacy-tokens

Channel

L'identifiant du canal qui spécifie quel canal Slack de l'équipe sera utilisé. Tout le texte de ce canal sera alors traité comme des commandes sur l'hôte lorsque Start-Shell est exécuté. L'ID du canal se trouve dans l'URL lors de l'accès à la page du canal depuis le site Slack basé sur le Web.

Exemple : https://slackteam1.slack.com/messages/ABC123456. L'ID du canal est "ABC123456".

Utilisation

Import-Module ./SlackShell.psm1

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

Rejoignez le même canal Slack en tant qu'utilisateur différent de celui utilisé pour créer le jeton. Tout ce qui est écrit dans le canal en tant qu'utilisateur différent sera exécuté sur l'hôte sous le même contexte utilisateur local que celui utilisé pour démarrer le script. Alternativement, "runjob" peut être utilisé pour exécuter des commandes dans un nouveau processus PowerShell créé.

Commandes shell réservées (dans le canal Slack)

exit

Ferme le shell et la connexion.

cd <path>

Change le répertoire dans le contexte du processus principal. Les chemins relatifs peuvent être utilisés (par exemple cd ..)

sleep <int>

Modifie le temps de veille.

files

Liste les fichiers disponibles dans le canal Slack associé.

import <filename>

Importe le fichier spécifié. Le fichier doit être partagé avec le canal Slack utilisé.

download <filename> <path>

Télécharge le fichier spécifié sur le disque et le stocke à l'emplacement facultatif du paramètre de chemin. Le fichier doit être partagé avec le canal Slack utilisé.

upload <local filename>

Téléverse le fichier local vers Slack et le partage avec le canal utilisé.

runjob <command>

Exécute la commande spécifiée dans un nouveau processus PowerShell.

Remerciements

L'inspiration pour travailler avec l'API Slack en PowerShell est attribuée à Warren Frame. Son dépôt a été une excellente ressource pour commencer : https://github.com/RamblingCookieMonster/PSSlack

Remerciements particuliers à @thesubtlety pour le portage vers POSHv2 et les améliorations ajoutées.

Télécharger l’outil