
Google Drive, OneDrive y Youtube como canales encubiertos - Controla sistemas de forma remota subiendo archivos a Google Drive, OneDrive, Youtube o Telegram
Controla sistemas de forma remota subiendo archivos a Google Drive, OneDrive, Youtube o Telegram usando Python para crear los archivos y los listeners. Permite crear archivos de texto, imágenes, audio o vídeos, con los comandos en texto claro o cifrados usando AES.
covert-googledrive.py - Controla sistemas subiendo archivos a una carpeta pública en Google Drive.
covert-onedrive.py - Controla sistemas subiendo archivos a una carpeta pública en OneDrive.
covert-youtube.py - Controla sistemas subiendo vídeos a Youtube (actualizado desde covert-tube).
covert-telegram.py - Controla sistemas con un bot de Telegram.
Puedes encontrar archivos de ejemplo en la carpeta test_files o crear nuevos con generate_file.py:
python3 generate_file.py -t TYPE [-o OUTPUTFILE] [-c COMMAND] [-e]
-t (--type) [Obligatorio]: Tipos de archivo: "text", "image", "audio" o "video".
-o (--outputfile) [Opcional]: Archivo de salida.
-c (--command) [Opcional]: Comando a ejecutar.
-e (--encrypted) [Opcional]: Añade esta bandera para cifrar el comando con AES.
Ejemplos:
python3 generate_file.py -t text -c "whoami" -o text.txt
python3 generate_file.py -t text -c "whoami" -o text_encrypted.txt -e
python3 generate_file.py -t audio -c "whoami" -o audio.wav
python3 generate_file.py -t audio -c "whoami" -o audio_encrypted.wav -e
python3 generate_file.py -t image -c "whoami" -o image.png
python3 generate_file.py -t image -c "whoami" -o image_encrypted.png -e
python3 generate_file.py -t video -c "whoami" -o video.avi
python3 generate_file.py -t video -c "whoami" -o video_encrypted.avi -e
Valores de configuración comunes:
data_type (Opcional. Por defecto: "text"):
Valores de configuración específicos:
googledrive_folder: URL de la carpeta pública de Google Drive a monitorear (para covert-googledrive.py).
onedrive_folder: URL de la carpeta pública de OneDrive a monitorear (para covert-onedrive.py).
youtube_channel_id: ID del canal de Youtube a monitorear. Puedes obtenerlo desde aquí (para covert-youtube.py).
youtube_api_key: Obtén una clave API creando una aplicación y generando la clave en aquí (para covert-youtube.py).
telegram_token: Token del bot, créalo usando BotFather. Escribe "/newbot", luego envía un nombre para el bot (por ejemplo, "botname") y un nombre de usuario para el bot que termine en "-bot" (por ejemplo, "somethingrandombot") (para covert-telegram.py).
telegram_username: Especifica un nombre de usuario de Telegram para que solo ejecute comandos recibidos de este usuario (sin "@").
Permite ejecutar comandos subiendo archivos de texto, imágenes, audio y vídeos, sin cifrar o cifrados con AES. El argumento de entrada opcional es la URL de la carpeta pública, que también se puede configurar en config.py:
python3 covert-googledrive.py [FOLDER_URL]
El listener comprobará la carpeta de Google Drive cada 300 segundos por defecto (se puede actualizar en config.py). En este caso se sube un vídeo, "video.avi", con el comando en el código QR del vídeo:

Después de encontrar que hay un nuevo archivo subido a la carpeta, se descarga, procesa y se ejecutan los comandos:

Permite ejecutar comandos subiendo archivos de texto, imágenes, audio y vídeos, sin cifrar o cifrados con AES. El argumento de entrada opcional es la URL de la carpeta pública, que también se puede configurar en config.py:
python3 covert-onedrive.py [FOLDER_URL]
El listener comprobará la carpeta de OneDrive cada 300 segundos por defecto (se puede actualizar en config.py). En este caso se sube un audio, "audio_encrypted.wav", con el comando cifrado con AES:

Después de encontrar que hay un nuevo archivo subido a la carpeta, se descarga, procesa y se ejecutan los comandos:

NOTA: Esto solo funcionará si no eliminas ningún archivo de la carpeta; si lo haces, deberás crear una nueva. Sería posible implementarlo para que funcione incluso después de eliminar archivos, pero sería necesario hacer muchas solicitudes y sería menos sigiloso.
Permite ejecutar comandos subiendo vídeos, sin cifrar o cifrados con AES. Los argumentos de entrada opcionales son el ID del canal de Youtube a monitorear y la clave API, que también se pueden configurar en config.py:
python3 covert-youtube.py [CHANNEL_ID] [API_KEY]
El listener comprobará el canal de Youtube cada 300 segundos por defecto (se puede actualizar en config.py). Primero se sube el vídeo:

Después de encontrar un nuevo vídeo en el canal, se descarga, procesa y se ejecutan los comandos:

Controla sistemas de forma remota con un bot de Telegram. Esta opción no permite subir archivos, pero es posible enviar los comandos en texto claro ("/cmd") o cifrados con AES ("/encrypted"). El primer argumento de entrada opcional es el token del bot, que también se puede configurar en config.py; el segundo se usa para configurar un único usuario de Telegram que pueda enviar comandos al bot (sin "@"):
python3 covert-telegram.py [BOT_TOKEN] [TELEGRAM_USER]
El listener comprobará los comandos en el chat y mostrará la salida:
/cmd COMANDO_EN_TEXTO_CLARO
/encrypted COMANDO_CIFRADO_CON_AES

sudo apt install libzbar0
pip install bs4 Pillow opencv-python pyqrcode pypng pyzbar youtube_dl pytesseract python-telegram-bot requests argparse pycryptodome
git clone https://github.com/ricardojoserf/covert-control && cd covert-control/
pyinstaller --onefile covert-googledrive.py
pyinstaller --onefile covert-onedrive.py
pyinstaller --onefile covert-telegram.py
pyinstaller --onefile covert-youtube.py
rm -rf build
rm *spec
ls dist/
| data_type | Tipo de archivo | Cifrado | Válido para | Extensión |
|---|
| text | Archivo de texto | No | Google Drive, OneDrive | .txt |
| text_encrypted | Archivo de texto | Sí | Google Drive, OneDrive | .txt |
| image | Imagen | No | Google Drive, OneDrive | .png |
| image_encrypted | Imagen | Sí | Google Drive, OneDrive | .png |
| audio | Audio | No | Google Drive, OneDrive | .wav |
| audio_encrypted | Audio | Sí | Google Drive, OneDrive | .wav |
| video | Vídeo | No | Google Drive, OneDrive, Youtube | .avi |
| video_encrypted | Vídeo | Sí | Google Drive, OneDrive, Youtube | .avi |
delay_seconds (Opcional. Por defecto: 300): Segundos entre comprobaciones de nuevos archivos subidos a la carpeta de Google Drive o OneDrive o nuevos vídeos en el canal de Youtube.
aes_key (Opcional. Por defecto: "covert-control21"): Clave para el cifrado AES.
debug (Opcional. Por defecto: True): Mostrar mensajes y marcas de tiempo en el listener o no.