Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
SharpCovertTube — YouTube как C2-канал – Управление Windows-системами через загрузку QR-видео на YouTube | Kitploit
Инструменты/GitHubGitHub/ricardojoserf/sharpcoverttube
Инструменты шифрования/дешифрованияГенерация полезной нагрузкиМеханизмы персистентностиЭксфильтрация данныхКомандование и УправлениеОбучение и ОбразованиеRed Teaming
GitHubricardojoserf/sharpcoverttube

SharpCovertTube

YouTube как C2-канал – Управление Windows-системами через загрузку QR-видео на YouTube

Репозиторий
1021242 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SharpCovertTube

SharpCovertTube — это программа, созданная для удаленного управления системами Windows путем загрузки видео на Youtube.

Программа отслеживает канал Youtube до тех пор, пока не будет загружено видео, декодирует QR-код из миниатюры загруженного видео и выполняет команду. QR-коды в видео могут использовать значения в открытом виде или зашифрованные с помощью AES.

Она имеет две версии: двоичную и служебную, а также включает скрипт Python для создания вредоносных видео. Её цель — служить методом сохранения постоянства, используя только веб-запросы к Google API.

img1

Использование

Запустите слушателя в вашей системе Windows:

img1

Он будет проверять канал Youtube через определенный промежуток времени (по умолчанию 10 минут), пока не будет загружено новое видео. В данном случае мы загружаем "whoami.avi" из папки example-videos:

После обнаружения нового видео на канале, он декодирует QR-код из миниатюры видео, выполняет команду, а ответ кодируется в base64 и извлекается с помощью DNS:

img3

Это также работает для QR-кодов с полезными нагрузками, зашифрованными AES, и для более длинных ответов команд. В этом примере загружается файл "dirtemp_aes.avi" из example-videos, а содержимое c:\temp извлекается с помощью нескольких DNS-запросов:

img4

Ведение журнала в файл необязательно, но убедитесь, что папка существует; значение по умолчанию — "c:\temp\.sharpcoverttube.log", поэтому папка "c:\temp" должна существовать.

Извлечение DNS также необязательно и может быть легко протестировано с помощью collaborator от Burp:

img8

В качестве альтернативы я создал скрипт для простого создания QR-видео, загрузки на Youtube, а также мониторинга и разбора DNS-запросов в кодировке base64. Настройка использования этого скрипта в качестве C2-сервера описана в папке c2-server:

c2_0


Конфигурация

Вы можете изменить некоторые значения, они находятся в файле Configuration.cs для обычного двоичного файла и служебного двоичного файла. Обновить необходимо только первые два значения:

  • channel_id (Обязательно!!!): Получите ID своего канала Youtube здесь.
  • api_key (Обязательно!!!): Чтобы получить ключ API, создайте приложение и сгенерируйте ключ здесь.
  • payload_aes_key (Необязательно. По умолчанию: "0000000000000000"): Ключ AES для расшифровки QR-кодов (при использовании AES). Должен быть строкой из 16 символов.
  • payload_aes_iv (Необязательно. По умолчанию: "0000000000000000"): IV-ключ для расшифровки QR-кодов (при использовании AES). Должен быть строкой из 16 символов.
  • seconds_delay (Необязательно. По умолчанию: 600): Задержка в секундах перед проверкой, не загружено ли новое видео. Если значение низкое, вы превысите лимит запросов API.
  • debug_console (Необязательно. По умолчанию: true): Показывать отладочные сообщения в консоли или нет.
  • log_to_file (Необязательно. По умолчанию: true): Записывать отладочные сообщения в файл журнала или нет.
  • log_file (Необязательно. По умолчанию: "c:\temp\.sharpcoverttube.log"): Путь к файлу журнала.
  • dns_exfiltration (Необязательно. По умолчанию: true): Извлекать ответы команд через DNS или нет.
  • dns_hostname (Необязательно. По умолчанию: ".test.org"): DNS-имя хоста для извлечения ответа от команд, выполненных в системе.

img6


Создание видео с QR-кодами

Вы можете создавать видео с помощью серверного скрипта в папке c2-server или просто запустив скрипт generate_video.py. Для последнего сначала установите зависимости:

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

Если вы используете Linux, возможно, также потребуется:

root@kitploit:~
apt-get install libgl1

Затем запустите скрипт generate_video.py:

root@kitploit:~
python generate_video.py -t TYPE -f FILE -c COMMAND [-k AESKEY] [-i AESIV]
  • TYPE (-t) должен быть "qr" для полезных нагрузок в открытом виде или "qr_aes" при использовании шифрования AES.

  • FILE (-f) — путь, по которому создаётся видео.

  • COMMAND (-c) — команда, которую нужно выполнить в системе.

  • AESKEY (-k) — ключ для шифрования AES, необходим только при использовании типа "qr_aes". Должен быть строкой из 16 символов и совпадать с указанным в файле Program.cs в SharpCovertTube.

  • AESIV (-i) — IV для шифрования AES, необходим только при использовании типа "qr_aes". Должен быть строкой из 16 символов и совпадать с указанным в файле Program.cs в SharpCovertTube.

Примеры

Создать видео с QR-значением "whoami" в открытом виде по пути c:\temp\whoami.avi:

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

Создать видео с зашифрованным AES QR-значением "dir c:\windows\temp" с ключом и IV "0000000000000000" по пути 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


Запуск как службы

Код для запуска в качестве службы можно найти в папке SharpCovertTube_Service. Она имеет те же функции, за исключением самоудаления, которое в этом случае не имело бы смысла.

Её можно установить с помощью InstallUtil; она подготовлена для запуска от имени пользователя SYSTEM, и устанавливать её нужно от имени администратора:

root@kitploit:~
InstallUtil.exe SharpCovertTube_Service.exe

Затем её можно запустить командой:

root@kitploit:~
net start "SharpCovertTube Service"

img7

Если у вас есть права администратора, это может быть более скрытно, чем обычный двоичный файл, но "Description" и "DisplayName" следует обновить (как показано на изображении выше). Если у вас нет таких прав, вы не можете устанавливать службы, поэтому можно использовать только обычный двоичный файл.


Примечания

  • Файл должен быть 64-битным!!! Это связано с кодом, используемым для декодирования QR, который был заимствован из проекта Stefan Gansevles QR-Capture, который заимствовал его часть из проекта Uzi Granot QRCode, который, в свою очередь, заимствовал часть из проекта Zakhar Semenov Camera_Net (затем я потерял след). Так что спасибо всем им!

  • Этот проект является портом covert-tube, проекта, который я разработал в 2021 году, используя только Python, и который был вдохновлён блогами Welivesecurity о вредоносных программах Casbaneiro и Numando.

  • Этот проект является PoC, чтобы показать, что почти всё в Интернете может быть использовано в качестве C2-канала; надеюсь, он вдохновит кого-нибудь. Проект предназначен для образовательных целей; если вы неправильно используете сервис Youtube, у вас могут возникнуть проблемы, вплоть до удаления вашего канала.

Скачать инструмент