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
SharpCovertTube — YouTube comme canal C2 - Contrôler des systèmes Windows en téléversant des vidéos QR sur YouTube | Kitploit
Outils/GitHubGitHub/ricardojoserf/sharpcoverttube
Outils de Chiffrement/DéchiffrementGénération de PayloadsMécanismes de PersistanceExfiltration de DonnéesCommandement et ContrôleApprentissage et ÉducationRed Teaming
GitHubricardojoserf/sharpcoverttube

SharpCovertTube

YouTube comme canal C2 - Contrôler des systèmes Windows en téléversant des vidéos QR sur YouTube

Voir le dépôt
10212il y a 2 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

SharpCovertTube

SharpCovertTube est un programme conçu pour contrôler des systèmes Windows à distance en téléchargeant des vidéos sur Youtube.

Le programme surveille une chaîne Youtube jusqu'à ce qu'une vidéo soit téléchargée, décode le code QR de la miniature de la vidéo téléchargée et exécute une commande. Les codes QR dans les vidéos peuvent utiliser des valeurs en clair ou chiffrées avec AES.

Il existe en deux versions : binaire et service binaire, et il inclut un script Python pour générer les vidéos malveillantes. Son objectif est de servir de méthode de persistance en utilisant uniquement des requêtes web vers l'API Google.

img1

Utilisation

Exécutez l'écouteur sur votre système Windows :

img1

Il vérifiera la chaîne Youtube toutes les X minutes (10 minutes par défaut) jusqu'à ce qu'une nouvelle vidéo soit téléchargée. Dans ce cas, nous téléchargeons "whoami.avi" depuis le dossier example-videos :

Après avoir détecté une nouvelle vidéo sur la chaîne, il décode le code QR de la miniature de la vidéo, exécute la commande et la réponse est encodée en base64 puis exfiltrée via DNS :

img3

Cela fonctionne également pour les codes QR avec des charges utiles chiffrées en AES et des réponses de commandes plus longues. Dans cet exemple, le fichier "dirtemp_aes.avi" de example-videos est téléchargé et le contenu de c:\temp est exfiltré à l'aide de plusieurs requêtes DNS :

img4

La journalisation dans un fichier est facultative mais vérifiez que le dossier existe, la valeur par défaut est "c:\temp\.sharpcoverttube.log", donc "c:\temp" doit exister.

L'exfiltration DNS est également facultative et peut être facilement testée avec le collaborator de Burp :

img8

Comme alternative, j'ai créé un script pour créer facilement des vidéos QR, les télécharger sur Youtube, puis surveiller et analyser les requêtes DNS encodées en base64. La configuration pour utiliser ce script en tant que serveur C2 est expliquée dans le dossier c2-server :

c2_0


Configuration

Certaines valeurs peuvent être modifiées, que vous trouverez dans le fichier Configuration.cs pour le binaire standard et le binaire de service. Seules les deux premières valeurs doivent être mises à jour :

  • channel_id (Obligatoire !!!) : Obtenez votre ID de chaîne Youtube à partir d'ici.
  • api_key (Obligatoire !!!) : Pour obtenir la clé API, créez une application et générez la clé depuis ici.
  • payload_aes_key (Optionnel. Défaut : "0000000000000000") : Clé AES pour déchiffrer les codes QR (si AES utilisé). Doit être une chaîne de 16 caractères.
  • payload_aes_iv (Optionnel. Défaut : "0000000000000000") : IV pour déchiffrer les codes QR (si AES utilisé). Doit être une chaîne de 16 caractères.
  • seconds_delay (Optionnel. Défaut : 600) : Secondes de délai avant de vérifier si une nouvelle vidéo a été téléchargée. Si la valeur est faible, vous dépasserez la limite de débit de l'API.
  • debug_console (Optionnel. Défaut : true) : Afficher ou non les messages de débogage dans la console.
  • log_to_file (Optionnel. Défaut : true) : Écrire ou non les messages de débogage dans un fichier journal.
  • log_file (Optionnel. Défaut : "c:\temp\.sharpcoverttube.log") : Chemin du fichier journal.
  • dns_exfiltration (Optionnel. Défaut : true) : Exfiltrer ou non les réponses de commandes via DNS.
  • dns_hostname (Optionnel. Défaut : ".test.org") : Nom d'hôte DNS pour exfiltrer la réponse des commandes exécutées sur le système.

img6


Génération de vidéos avec codes QR

Vous pouvez générer les vidéos à l'aide du script serveur dans le dossier c2-server ou simplement en exécutant le script generate_video.py. Pour ce dernier, commencez par installer les dépendances :

root@kitploit:~
pip install Pillow opencv-python pyqrcode pypng pycryptodome rebus

Si vous utilisez Linux, vous pourriez également avoir besoin de :

root@kitploit:~
apt-get install libgl1

Exécutez ensuite le script generate_video.py :

root@kitploit:~
python generate_video.py -t TYPE -f FILE -c COMMAND [-k AESKEY] [-i AESIV]
  • TYPE (-t) doit être "qr" pour les charges utiles en clair ou "qr_aes" si vous utilisez le chiffrement AES.

  • FILE (-f) est le chemin où la vidéo est générée.

  • COMMAND (-c) est la commande à exécuter sur le système.

  • AESKEY (-k) est la clé pour le chiffrement AES, nécessaire uniquement si vous utilisez le type "qr_aes". Doit être une chaîne de 16 caractères identique à celle du fichier Program.cs dans SharpCovertTube.

  • AESIV (-i) est l'IV pour le chiffrement AES, nécessaire uniquement si vous utilisez le type "qr_aes". Doit être une chaîne de 16 caractères identique à celle du fichier Program.cs dans SharpCovertTube.

Exemples

Générer une vidéo avec une valeur QR de "whoami" en clair dans le chemin c:\temp\whoami.avi :

root@kitploit:~
python generate_video.py -t qr -f c:\temp\whoami.avi -c whoami

Générer une vidéo avec une valeur QR chiffrée en AES pour "dir c:\windows\temp" avec la clé et l'IV "0000000000000000" dans le chemin c:\temp\dirtemp_aes.avi :

root@kitploit:~
python generate_video.py -t qr_aes -f c:\temp\dirtemp_aes.avi -c "dir c:\windows\temp" -k 0000000000000000 -i 0000000000000000

img5


Exécution en tant que service

Vous trouverez le code pour l'exécuter en tant que service dans le dossier SharpCovertTube_Service. Il possède les mêmes fonctionnalités, à l'exception de l'auto-suppression, qui n'aurait pas de sens dans ce cas.

Il est possible de l'installer avec InstallUtil, il est préparé pour s'exécuter en tant qu'utilisateur SYSTEM et vous devez l'installer en tant qu'administrateur :

root@kitploit:~
InstallUtil.exe SharpCovertTube_Service.exe

Vous pouvez ensuite le démarrer avec :

root@kitploit:~
net start "SharpCovertTube Service"

img7

Si vous disposez de privilèges d'administration, cela peut être plus discret que le binaire ordinaire, mais la "Description" et le "DisplayName" doivent être mis à jour (comme vous pouvez le voir dans l'image ci-dessus). Si vous ne disposez pas de ces privilèges, vous ne pouvez pas installer de services et ne pouvez donc utiliser que le binaire ordinaire.


Remarques

  • Le fichier doit être en 64 bits !!! Cela est dû au code utilisé pour le décodage QR, emprunté au projet de Stefan Gansevles QR-Capture, qui en a emprunté une partie au projet QRCode d'Uzi Granot, qui lui-même en a emprunté une partie au projet Camera_Net de Zakhar Semenov (puis j'ai perdu la trace). Merci donc à eux tous !

  • Ce projet est un portage de covert-tube, un projet que j'ai développé en 2021 en utilisant uniquement Python, qui s'inspirait des blogs de Welivesecurity sur les malwares Casbaneiro et Numando.

  • Ce projet est une preuve de concept (PoC) pour montrer que presque n'importe quoi sur Internet peut être utilisé comme canal C2, et j'espère qu'il sera source d'inspiration pour quelqu'un. Le projet est destiné à des fins éducatives ; si vous utilisez mal le service Youtube, vous pourriez rencontrer des problèmes, comme la suppression de votre chaîne par Youtube.

Télécharger l’outil