
Youtube als verdeckter Kanal - Systeme fernsteuern und Befehle ausführen, indem man Videos auf Youtube hochlädt
Ein Programm zur Fernsteuerung von Systemen durch das Hochladen von Videos auf YouTube, bei dem Python zum Erstellen der Videos und des Listeners verwendet wird. Es imitiert einige Malware, über die ich gelesen habe. Es ermöglicht das Erstellen von Videos mit Einzelbildern aus einfachem Text, QR-Codes mit Klartext oder QR-Codes mit AES-Verschlüsselung.
HINWEIS: Dieser PoC wurde in das Framework covert-control aufgenommen, das dies auch mit OneDrive, Google Drive und Telegram ermöglicht.
Wenn Ihr Ziel ein Windows-System ist, bevorzugen Sie vielleicht die C#-Version: SharpCovertTube (ich habe sie zuletzt aktualisiert).
Die Videos können mit generate_video.py erstellt werden: Geben Sie die Befehle ein und generieren Sie das Video, indem Sie "exit" schreiben. Das erstellte Video heißt standardmäßig output.avi (kann in config.py geändert werden):
python3 generate_video.py

python3 main.py
Der Listener überprüft standardmäßig alle 300 Sekunden den YouTube-Kanal (kann in config.py geändert werden). Zuerst wird das Video hochgeladen:

Nachdem festgestellt wurde, dass ein neues Video im Kanal vorhanden ist, wird es heruntergeladen und die Befehle werden ausgeführt:

Wir können die Ausgabe der Befehle sehen:

Aktualisieren Sie die Datei config.py:
channel_id (Erforderlich!!!): Holen Sie sich Ihre YouTube-Kanal-ID von hier.
api_key (Erforderlich!!!): Um den API-Schlüssel zu erhalten, erstellen Sie eine Anwendung und generieren Sie den Schlüssel von hier.
image_type (Optional. Standard: "qr_aes"): Verschiedene Bildtypen für das Video.
upload_seconds_delay (Optional. Standard: 300): Sekunden Verzögerung, bis geprüft wird, ob ein neues Video hochgeladen wurde.
debug (Optional. Standard: True): Nachrichten ausgeben oder nicht.
aes_key (Optional. Standard: "covert-tube_2021"): Schlüssel für die AES-Verschlüsselung, verwendet in der Option "qr_aes".
generated_video_path (Optional. Standard: "output.avi"): Pfad des mit generate_video.py erstellten Videos.
downloaded_video_path (Optional. Standard: "/tmp/test.mp4"): Pfad, in den das neue Video heruntergeladen wird.
temp_folder (Optional. Standard: "/tmp/"): Pfad, in dem Bilder jedes Einzelbildes des Videos gespeichert werden, im Format image_X*.png*.
Für das gesamte Projekt:
sudo apt install libzbar0
pip3 install Pillow opencv-python youtube_dl pytesseract pyqrcode pypng pyzbar pycrypto
git clone https://github.com/ricardojoserf/covert-tube
pyinstaller --onefile main.py
cp dist/main covert-tube
rm -rf dist build
rm main.spec
In letzter Zeit habe ich über Malware gelesen, die YouTube zur Fernsteuerung ihrer Systeme missbraucht. Beispielsweise nutzt Casbaneiro YouTube, um die Domains seiner C&C-Server zu speichern. Jedes Video auf den vom Bedrohungsakteur verwendeten Kanälen enthält eine Beschreibung, und am Ende dieser Beschreibungen befindet sich ein Link zu einer gefälschten Facebook- oder Instagram-URL, die die Domain des C&C-Servers enthält (Welivesecurity-Blog). Ein zweites Beispiel ist Numando, das die Daten im Titel der YouTube-Videos verschlüsselt (weiterer Welivesecurity-Blog).
In Anbetracht dessen habe ich beschlossen, einen PoC zu erstellen, um die Steuerung von Remote-Systemen durch das Hochladen von Videos auf YouTube zu testen, aber anstatt den Titel oder die Beschreibung zu verwenden, nutze ich den Inhalt des Videos. Es ermöglicht die Ausführung beliebiger Befehle, könnte aber auch verwendet werden, um einige Einstellungen aus der Ferne zu ändern. Dies ist also nur ein PoC – verwenden Sie es zu Bildungszwecken!