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

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

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

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

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

Категории

Все категории
Loading categories
Striker — Многооператорная C2-инфраструктура с нативными агентами на C и Python, каналами HTTP(S), асинхронными задачами и реактивным веб-интерфейсом для операций red team. | Kitploit
Инструменты/GitHubGitHub/4g3nt47/striker
Генерация полезной нагрузкиКомандование и УправлениеRed TeamingИнструмент Удаленного Доступа
GitHub4g3nt47/striker

Striker

Многооператорная C2-инфраструктура с нативными агентами на C и Python, каналами HTTP(S), асинхронными задачами и реактивным веб-интерфейсом для операций red team.

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

Популярное

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

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

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

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

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

Striker C2

Striker - это простая программа Command and Control (C2).

Pasted image 20221022194999

Отказ от ответственности

image

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

Возможности

A) Агенты

  • Нативные агенты для Linux и Windows.
  • Самодостаточный минимальный Python-агент, если он вам когда-нибудь понадобится.
  • Каналы HTTP(s).
  • Асинхронное выполнение задач.
  • Поддержка нескольких редиректоров и возможность переключения на другие, когда активный выходит из строя.

B) Бэкенд / Teamserver

  • Поддерживает несколько операторов.
  • Большинство функций доступны через REST API, что упрощает автоматизацию.
  • Использует веб-сокеты для более быстрой связи.

C) Пользовательский интерфейс

  • Плавный и реактивный интерфейс благодаря Svelte и SocketIO.
  • Легко настраивается, так как компилируется в статические HTML, JavaScript и CSS файлы, которые можно разместить на любом базовом веб-сервере.
  • Функция командного чата для общения с другими операторами в текстовом режиме.

Установка Striker

Клонируйте репозиторий;

root@kitploit:~
$ git clone https://github.com/4g3nt47/Striker.git
$ cd Striker

Кодовая база разделена на 4 независимых раздела:

1. Сервер C2 / Бэкенд

Он обрабатывает всю серверную логику как для операторов, так и для агентов. Это приложение NodeJS, созданное с помощью:

  • express - Для REST API.
  • socket.io - Для связи через Web Socket.
  • mongoose - Для подключения к MongoDB.
  • multer - Для обработки загрузки файлов.
  • bcrypt - Для хеширования паролей пользователей.

Исходный код находится в каталоге backend/. Для настройки сервера:

  1. Настройте базу данных MongoDB;

Striker использует MongoDB в качестве серверной базы данных для хранения всех важных данных. Вы можете установить её локально на свой компьютер, используя это руководство для дистрибутивов на основе Debian, или создать бесплатную базу данных с помощью MongoDB Atlas (платформа «База данных как услуга»).

  1. Перейдите в каталог с исходным кодом;
root@kitploit:~
$ cd backend
  1. Установите зависимости;
root@kitploit:~
$ npm install
  1. Создайте каталог для статических файлов;
root@kitploit:~
$ mkdir static

Вы можете использовать эту папку для размещения статических файлов на сервере. В неё также должна указывать переменная UPLOAD_LOCATION в файле .env (подробнее об этом позже), но это не обязательно. Файлы в этом каталоге будут общедоступны по пути /static/.

  1. Создайте файл .env;

ПРИМЕЧАНИЕ: Значения между < и > являются заполнителями. Замените их подходящими значениями (включая <>). Для полей, требующих случайные строки, вы можете легко сгенерировать их с помощью;

root@kitploit:~
$ head -c 100 /dev/urandom | sha256sum
root@kitploit:~
DB_URL=<your MongoDB connection URL>
HOST=<host to listen on (default: 127.0.0.1)>
PORT=<port to listen on (default: 3000)>
SECRET=<random string to use for signing session cookies and encrypting session data>
ORIGIN_URL=<full URL of the server you will be hosting the frontend at. Used to setup CORS>
REGISTRATION_KEY=<random string to use for authentication during signup>
MAX_UPLOAD_SIZE=<max file upload size, in bytes>
UPLOAD_LOCATION=<directory to store uploaded files to (default: static)>
SSL_KEY=<your SSL key file (optional)>
SSL_CERT=<your SSL cert file (optional)>

Обратите внимание, что SSL_KEY и SSL_CERT являются необязательными. Если ни один не определён, будет создан обычный HTTP-сервер. Это помогает избежать лишних накладных расходов при запуске сервера за SSL-прокси на том же хосте.

  1. Запустите сервер;
root@kitploit:~
$ node index.js
[12:45:30 PM]  Connecting to backend database...
[12:45:31 PM]  Starting HTTP server...
[12:45:31 PM]  Server started on port: 3000

2. Фронтенд

Это веб-интерфейс, используемый операторами. Это одностраничное веб-приложение, написанное на Svelte, исходный код находится в каталоге frontend/.

Для настройки фронтенда:

  1. Перейдите в каталог с исходным кодом;
root@kitploit:~
$ cd frontend
  1. Установите зависимости;
root@kitploit:~
$ npm install
  1. Создайте файл .env с переменной VITE_STRIKER_API, установленной на полный URL сервера C2, настроенного выше;
root@kitploit:~
VITE_STRIKER_API=https://c2.striker.local
  1. Сборка;
root@kitploit:~
$ npm run build

Вышеуказанное скомпилирует всё в статическое веб-приложение в каталоге dist/. Вы можете переместить все файлы внутрь в корень веб-сервера или даже разместить их с помощью простого HTTP-сервера, например, на Python:

root@kitploit:~
$ cd dist
$ python3 -m http.server 8000
  1. Регистрация;
  • Откройте сайт в веб-браузере. Вы должны увидеть страницу входа.
  • Нажмите кнопку Register.
  • Введите имя пользователя, пароль и регистрационный ключ (см. REGISTRATION_KEY в backend/.env)

Это создаст обычную учётную запись. Для доступа к некоторым функциям потребуется учётная запись администратора. Ваша первая учётная запись администратора должна быть создана вручную, после чего вы сможете повышать и понижать привилегии других учётных записей на вкладке Users веб-интерфейса.

Чтобы создать первую учётную запись администратора:

  • Подключитесь к базе данных MongoDB, используемой бэкендом.
  • Обновите коллекцию users и установите поле admin целевого пользователя в true;

Есть разные способы это сделать. Если у вас есть mongo в командной строке, вы можете сделать это с помощью;

root@kitploit:~
$ mongo <your MongoDB connection URL>
> db.users.updateOne({username: "<your username>"}, {$set: {admin: true}})

Вы должны получить следующий ответ, если всё работает;

root@kitploit:~
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

Теперь вы можете войти в систему :)

3. Редиректор C2

A) Перенаправление через «тупой» канал

Редиректор на основе «тупого канала», написанный для Striker, доступен в redirector/redirector.py. Очевидно, это будет работать только для обычного HTTP-трафика или для HTTPS, когда проверка SSL отключена (вы можете сделать это, включив макрос INSECURE_SSL в C-агенте).

Следующий пример прослушивает порт 443 на всех интерфейсах и перенаправляет на c2.example.org на порту 443;

root@kitploit:~
$ cd redirector
$ ./redirector.py 0.0.0.0:443 c2.example.org:443
[*] Starting redirector on 0.0.0.0:443...
[+] Listening for connections...

B) Nginx в качестве обратного прокси-редиректора

  1. Установите Nginx;
root@kitploit:~
$ sudo apt install nginx
  1. Создайте конфигурацию виртуального хоста (например: /etc/nginx/sites-available/striker);

Заполнители;

  • <domain-name> - Это полное доменное имя вашего сервера, и оно должно совпадать с именем в SSL-сертификате.
  • <ssl-cert> - Файл SSL-сертификата.
  • <ssl-key> - Файл SSL-ключа.
  • <c2-server> - Полный URL сервера C2, на который будут перенаправляться запросы.

ПРЕДУПРЕЖДЕНИЕ: client_max_body_size должен быть таким же большим, как размер, определённый в MAX_UPLOAD_SIZE в вашем файле backend/.env, иначе загрузка больших файлов будет неудачной.

root@kitploit:~
server {
    listen 443 ssl;
    server_name             <domain-name>;
    ssl_certificate         <ssl-cert>;
    ssl_certificate_key     <ssl-key>;
    client_max_body_size    100M;
    access_log              /var/log/nginx/striker.log;

    location / {
      proxy_pass              <c2-server>;
      proxy_redirect          off;
      proxy_ssl_verify        off;
      proxy_read_timeout      90;
      proxy_http_version      1.0;
      proxy_set_header        Upgrade $http_upgrade;
      proxy_set_header        Connection "upgrade";
      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  1. Включите его;
root@kitploit:~
$ sudo ln -s /etc/nginx/sites-available/striker /etc/nginx/sites-enabled/striker
  1. Перезапустите Nginx;
root@kitploit:~
$ sudo service nginx restart

Ваш редиректор теперь должен быть запущен на порту 443, и его можно протестировать с помощью (предполагая, что ваше полное доменное имя — striker.local);

root@kitploit:~
$ curl https://striker.local

Если всё работает, вы должны получить ответ 404, используемый бэкендом, например:

root@kitploit:~
{"error":"Invalid route!"}

4. Агенты (Импланты)

A) Агент на C

Это импланты, используемые Striker. Основной агент написан на C и находится в agent/C/. Он поддерживает как Linux, так и Windows. Агент для Linux внешне зависит от libcurl, который установлен на большинстве систем.

Агент для Windows не имеет внешних зависимостей. Для связи он использует wininet, который, как я считаю, доступен на всех Windows-хостах.

Сборка для Linux

Если вы находитесь на 64-битном хосте, следующее соберёт для 64-битной архитектуры;

root@kitploit:~
$ cd agent/C
$ mkdir bin
$ make

Для сборки 32-битной версии на 64-битной:

root@kitploit:~
$ sudo apt install gcc-multilib
$ make arch=32

Вышеуказанное компилирует всё в каталог bin/. Для создания рабочих имплантов вам понадобятся только два файла:

  • bin/stub - Это заглушка агента, которая будет использоваться как шаблон для генерации рабочих имплантов.
  • bin/builder - Это то, что вы будете использовать для патча заглушки агента для создания рабочих имплантов.

Сборщик принимает следующие аргументы;

root@kitploit:~
$ ./bin/builder 
[-] Usage: ./bin/builder <url> <auth_key> <delay> <stub> <outfile>

Где:

  • <url> - Сервер, на который отправлять отчёты. В идеале это должен быть редиректор, но прямой URL к серверу также подойдёт.
  • <auth_key> - Ключ аутентификации для подключения к C2. Вы можете создать его на вкладке auth keys веб-интерфейса.
  • <delay> - Задержка между каждым обратным вызовом, в секундах. Должна быть не менее 2, в зависимости от того, насколько шумным вы хотите его сделать.
  • <stub> - Файл заглушки для чтения, в данном случае bin/stub.
  • <outfile> - Имя выходного файла нового импланта.

Пример;

root@kitploit:~
$ ./bin/builder https://localhost:3000 979a9d5ace15653f8ffa9704611612fc 5 bin/stub bin/striker
[*] Obfuscating strings...
[+] 69 strings obfuscated :)
[*] Finding offsets of our markers...
[+] Offsets:
            URL: 0x0000a2e0
       OBFS Key: 0x0000a280
       Auth Key: 0x0000a2a0
          Delay: 0x0000a260
[*] Patching...
[+] Operation completed!

Сборка для Windows

Вам понадобится MinGW. Следующее установит 32- и 64-битные среды разработки для Windows;

root@kitploit:~
$ sudo apt install mingw-w64

Сборка для 64 бит;

root@kitploit:~
$ cd agent/C
$ mdkir bin
$ make target=win

Для компиляции под 32 бита;

root@kitploit:~
$ make target=win arch=32

Это скомпилирует всё в каталог bin/, и у вас будут сборщик и заглушка как bin\stub.exe и bin\builder.exe соответственно.

B) Агент на Python

Striker также поставляется с автономным Python-агентом (протестирован на Python 2.7.16 и 3.7.3). Он находится в agent/python/. В этом агенте реализованы только самые основные функции. Полезен для хостов, которые не могут запустить C-агент, но имеют установленный Python.

В этом каталоге 2 файла;

  • stub.py - Это заглушка полезной нагрузки для передачи сборщику.
  • builder.py - Это то, что вы будете использовать для генерации импланта.

Пример использования:

root@kitploit:~
$ ./builder.py
[-] Usage: builder.py <url> <auth_key> <delay> <stub> <outfile>
# The following will generate a working payload as `output.py`
$ ./builder.py http://localhost:3000 979a9d5ace15653f8ffa9704611612fc 2 stub.py output.py
[*] Loading agent stub...
[*] Writing configs...
[+] Agent built successfully: output.py
# Run it
$ python3 output.py

Начало работы

После выполнения вышеуказанных инструкций Striker должен быть готов к использованию. Пожалуйста, ознакомьтесь с руководством по использованию. Удачи и приятного взлома!

Поддержка

Если вам нравится проект, подумайте о том, чтобы помочь мне превратить кофе в код!

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