
Инструмент для исследования C2 под Windows, использующий плейлисты Spotify в качестве канала команд и Telegram для доставки результатов, демонстрирующий облачно-ассистированную коммуникацию команд без использования Spotify Web API.
Выполняйте команды через плейлист Spotify и получайте вывод команд через Telegram.
SpotifyC2 — это исследовательский проект в области кибербезопасности на базе Windows, который демонстрирует, как общедоступные облачные сервисы могут использоваться в качестве канала связи между контроллером и клиентом.
Вместо связи с традиционным сервером клиент периодически опрашивает плейлист Spotify и интерпретирует название плейлиста как команду. После локального выполнения команды полученный вывод доставляется в настроенного Telegram-бота.
Проект исследует концепцию облачных командных каналов с использованием легитимных веб-сервисов в образовательных целях и для защитных исследований в области безопасности.
Этот проект предназначен исключительно для исследований в области кибербезопасности, авторизованных лабораторных сред, разработки методов обнаружения и образовательных целей.
Оператор
│
▼
Название плейлиста Spotify
│
▼
Spotify oEmbed API
│
▼
Клиент SpotifyC2
│
Выполнение команды
│
Захват stdout
│
▼
Telegram Bot API
│
▼
Оператор получает вывод
Плейлист Spotify
│
▼
Опрос Spotify каждые 20 секунд
│
▼
Чтение названия плейлиста
│
▼
Извлечение команды
│
▼
Выполнение с помощью _popen()
│
▼
Захват вывода команды
│
▼
URL-кодирование ответа
│
▼
Отправка вывода в Telegram Bot
SpotifyC2
│
├── main.c
│
├── GetCommandFromSpotify()
│ Загружает метаданные плейлиста
│ Извлекает название плейлиста
│
├── RunCommand()
│ Выполняет команду Windows
│ Захватывает stdout
│
├── SendToTelegram()
│ Отправляет вывод команды
│ Использует Telegram Bot API
│
├── SaveData()
│ Обратный вызов libcurl
│ Сохраняет загруженные данные
│
└── URLEncode()
Кодирует вывод перед передачей
Отредактируйте следующие константы перед компиляцией:
#define PLAYLIST_ID "YOUR_PLAYLIST_ID"
#define TELEGRAM_BOT_TOKEN "YOUR_BOT_TOKEN"
#define TELEGRAM_CHAT_ID "YOUR_CHAT_ID"
#define SLEEP_SECONDS 20
Откройте проект в Visual Studio.
Добавьте пути включения и библиотек libcurl.
Скомпилируйте для:
x64
Release
Соберите проект.
Плейлист Spotify
│
▼
Название плейлиста
│
▼
Клиент опрашивает Spotify
│
▼
Выполнение команды
│
▼
Сбор вывода
│
▼
Telegram Bot
│
▼
Оператор
SpotifyC2 был разработан для изучения:
Данное программное обеспечение предоставляется строго для образовательных целей, исследований в области кибербезопасности, эмуляции угроз и авторизованного тестирования безопасности.
Оно предназначено для помощи исследователям в понимании облачных методов связи и разработке защитных механизмов обнаружения. Не развертывайте и не используйте это программное обеспечение на системах или сетях без явного разрешения.
Лицензия MIT
SpotifyC2
Легковесный исследовательский проект облачного командного канала с использованием Spotify и Telegram для образования в области кибербезопасности и защитных исследований.