All Projects → ricardojoserf → covert-tube

ricardojoserf / covert-tube

Licence: other
Youtube as covert-channel - Control systems remotely and execute commands by uploading videos to Youtube

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to covert-tube

dark-lord-obama
AV-evading Pythonic Reverse Shell with Dynamic Adaption Capabilities
Stars: ✭ 61 (-37.11%)
Mutual labels:  command-and-control
transportc2
PoC Command and Control Server. Interact with clients through a private web interface, add new users for team sharing and more.
Stars: ✭ 22 (-77.32%)
Mutual labels:  command-and-control
Bifrost
Bifrost C2. Open-source post-exploitation using Discord API
Stars: ✭ 37 (-61.86%)
Mutual labels:  command-and-control
venus
A Visual Studio Code Extension agent for Mythic C2
Stars: ✭ 47 (-51.55%)
Mutual labels:  command-and-control
meteor
A cross-platform C2/teamserver supporting multiple transport protocols, written in Go.
Stars: ✭ 31 (-68.04%)
Mutual labels:  command-and-control
chkdfront
Check Domain Fronting (chkdfront) - It checks if your domain fronting is working
Stars: ✭ 42 (-56.7%)
Mutual labels:  command-and-control
c2
A simple, extensible C&C beaconing system.
Stars: ✭ 93 (-4.12%)
Mutual labels:  command-and-control
chmod-stego
A PoC on passing data through UNIX file privilege bits (RWX Triplets)
Stars: ✭ 23 (-76.29%)
Mutual labels:  covert-channel
disctopia-c2
Windows Remote Administration Tool that uses Discord as C2
Stars: ✭ 216 (+122.68%)
Mutual labels:  command-and-control
ToRat client
This is the ToRat client, a part of the ToRat Project.
Stars: ✭ 29 (-70.1%)
Mutual labels:  command-and-control
nekros
NekRos is an Open-Source Ransomeware, with advanced Features, Which Looks Like Wannacry and Has C&C Server which can be Used to Retrive KEY
Stars: ✭ 84 (-13.4%)
Mutual labels:  command-and-control
cpu-load-side-channel
Side-channel file transfer between independent VMs or processes executed on the same physical host.
Stars: ✭ 45 (-53.61%)
Mutual labels:  covert-channel
OrionServer
An open-source, centralized HTTPS botnet
Stars: ✭ 58 (-40.21%)
Mutual labels:  command-and-control
Owlyshield
Owlyshield is an EDR framework designed to safeguard vulnerable applications from potential exploitation (C&C, exfiltration and impact))..
Stars: ✭ 281 (+189.69%)
Mutual labels:  command-and-control
DiscordGo
Discord C2 for Redteam....Need a better name
Stars: ✭ 55 (-43.3%)
Mutual labels:  covert-channel
Blocklist Ipsets
ipsets dynamically updated with firehol's update-ipsets.sh script
Stars: ✭ 2,011 (+1973.2%)
Mutual labels:  command-and-control
Merlin
Merlin is a cross-platform post-exploitation HTTP/2 Command & Control server and agent written in golang.
Stars: ✭ 3,522 (+3530.93%)
Mutual labels:  command-and-control
link
link is a command and control framework written in rust
Stars: ✭ 345 (+255.67%)
Mutual labels:  command-and-control

covert-tube

A program to control systems remotely by uploading videos to Youtube using Python to create the videos and the listener, emulating some malware I was reading about. It allows to create videos with frames formed of simple text, QR codes with cleartext or QR codes using AES encryption.

NOTE: This PoC has been added to the framework covert-control, which allows to do this also using Onedrive, Google Drive and Telegram.

Create a video

The videos can be created using generate_video.py: enter the commands and generate the video writing "exit". The video generated is called by default output.avi (can be updated in config.py):

python3 generate_video.py

img1

Run the listener and upload the video to Youtube

python3 main.py

The listener will check the Youtube channel every 300 seconds by default (can be updated in config.py). First the video is uploaded:

img2

After finding there is a new video in the channel, it is downloaded and the commands are executed:

img3

We can see the output from the commands:

img4


Configuration

Update the config.py file:

  • channel_id (Mandatory!!!): Get your Youtube channel ID from here.

  • api_key (Mandatory!!!): To get the API key create an application and generate the key from here.

  • image_type (Optional. Default: "qr_aes"): Different types of images for the video.

    • "cleartext" creates images with the words of the commands.
    • "qr" creates QR codes with the commands.
    • "qr_aes" creates QR codes with the commands encrypted with AES.
  • upload_seconds_delay (Optional. Default: 300): Seconds delay until checking if a new video has been uploaded.

  • debug (Optional. Default: True): Print messages or not.

  • aes_key (Optional. Default: "covert-tube_2021"): Key for AES encryption, used in the "qr_aes" option.

  • generated_video_path (Optional. Default: "output.avi"): Path of video generated with generate_video.py.

  • downloaded_video_path (Optional. Default: "/tmp/test.mp4"): Path where the new video will be downloaded.

  • temp_folder (Optional. Default: "/tmp/"): Path where images of every frame from the video are stored, with the format image_X.png.

Installation

For all the project:

sudo apt install libzbar0
pip3 install Pillow opencv-python youtube_dl pytesseract pyqrcode pypng pyzbar pycrypto
git clone https://github.com/ricardojoserf/covert-tube

Creating a standalone binary

pyinstaller --onefile main.py
cp dist/main covert-tube
rm -rf dist build
rm main.spec

Motivation

Lately I have been reading about malware using Youtube for controlling their setting remotely. For example, Casbaneiro abuses YouTube to store its C&C server domains. Each video on the channels used by the threat actor contains a description and at the end of these there is a link to a bogus Facebook or Instagram url containing the C&C server domain (Welivesecurity blog). A second example is Numando, which abuses it by encrypting the data in the title of the Youtube videos (other Welivesecurity blog).

Knowing this I decided to create a PoC to test the control of remote systems uploading videos to Youtube but, instead of using the title or the description, using the content of the video. It allows to execute any command, but it could be used to change some settings remotely. So this is just a PoC, use it for educational purposes!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].