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

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

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

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

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

Категории

Все категории
Loading categories
R2Socks — SOCKS5-прокси, туннелируемый через объектное хранилище Cloudflare R2, с агентами на Python и C++ без зависимостей, ретранслирующими TCP-трафик через зашифрованные объекты R2 для скрытого доступа. | Kitploit
Инструменты/GitHubGitHub/ivancabrera02/r2socks
Инструменты шифрования/дешифрованияЭксфильтрация данныхПост-эксплуатацияСетевая безопасностьТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного Доступа
GitHubivancabrera02/r2socks

R2Socks

SOCKS5-прокси, туннелируемый через объектное хранилище Cloudflare R2, с агентами на Python и C++ без зависимостей, ретранслирующими TCP-трафик через зашифрованные объекты R2 для скрытого доступа.

31617 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

R2Socks

SOCKS5-прокси, туннелируемый через бакеты Cloudflare R2.

root@kitploit:~
[Client App] ◄─SOCKS5─► [Proxy] ◄─── R2 Bucket ───► [Agent] ◄─TCP─► [Target]

Прокси запускает локальный SOCKS5-сервер на машине оператора. Каждый запрос CONNECT сериализуется в бинарные пакеты и сохраняется как объекты R2. Агент опрашивает тот же бакет из целевой сети, забирает запросы на подключение, устанавливает реальные TCP-соединения и ретранслирует данные обратно через R2.

Компоненты

КомпонентЯзыкФайлОписание
ProxyPythonr2socks.pySOCKS5-сервер (сторона оператора)
AgentPythonr2socks.pyРетранслятор на целевой стороне (режим агента)
AgentC++r2agent.cppАвтономный Windows-агент, без зависимостей

C++-агент протокольно совместим с Python-прокси. Он использует только нативные Windows API (WinHTTP, bcrypt, Winsock2) — внешние библиотеки не требуются.

Быстрый старт

1. Создайте бакет R2

  1. Перейдите в Cloudflare Dashboard → R2 Object Storage
  2. Нажмите Create bucket и задайте имя
  3. Запомните ваш Account ID из URL: dash.cloudflare.com/<ACCOUNT_ID>/r2/...

2. Создайте API-токен R2

  1. В R2 → Manage R2 API Tokens → Create API Token
  2. Установите разрешения Object Read & Write
  3. Выберите ваш бакет (или все бакеты)
  4. Скопируйте Access Key ID и Secret Access Key (показываются только один раз)

3. Запустите прокси

root@kitploit:~
pip install boto3
python r2socks.py proxy -b my-bucket -a <account_id> \
    --access-key <R2_ACCESS_KEY> --secret-key <R2_SECRET_KEY>

Прокси генерирует ID канала и выводит команду для запуска агента.

4. Запустите агент

Python-агент:

root@kitploit:~
python r2socks.py agent -b my-bucket -a <account_id> -c <channel_id> \
    --access-key <R2_ACCESS_KEY> --secret-key <R2_SECRET_KEY>

C++-агент (Windows):

root@kitploit:~
.\r2agent.exe -b my-bucket -a <account_id> -c <channel_id> -k <access_key> -s <secret_key>

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

Прокси (сторона оператора)

root@kitploit:~
python r2socks.py proxy [options]

Required:
  -b, --bucket BUCKET         R2 bucket name
  -a, --account-id ID         Cloudflare account ID

Optional:
  -c, --channel ID            Channel ID (auto-generated if omitted)
  -l, --listen ADDR           Listen address (default: 127.0.0.1:1080)
  --access-key KEY            R2 API token Access Key ID
  --secret-key KEY            R2 API token Secret Access Key
  --socks-user USER           Enable SOCKS5 user/pass authentication
  --socks-pass PASS           SOCKS5 password
  -p, --password PWD          AES-256-GCM encryption password
  -v, --verbose               Debug logging

Агент (целевая сторона)

Python:

root@kitploit:~
python r2socks.py agent [options]

Required:
  -b, --bucket BUCKET         R2 bucket name
  -a, --account-id ID         Cloudflare account ID
  -c, --channel ID            Channel ID (from proxy output)

C++ (Windows):

root@kitploit:~
r2agent.exe [options]

Required:
  -b, --bucket BUCKET         R2 bucket name
  -a, --account-id ID         Cloudflare account ID
  -c, --channel ID            Channel ID (from proxy output)

Credentials (flags override env vars):
  -k, --access-key KEY        R2 API token Access Key ID
  -s, --secret-key KEY        R2 API token Secret Access Key

Optional:
  -v, --verbose               Debug logging

Очистка

Удалите все объекты R2 из канала по завершении:

root@kitploit:~
python r2socks.py clean -b my-bucket -a <account_id> -c <channel_id>

Протокол

Бинарный формат пакетов, общий для прокси и агента:

root@kitploit:~
┌──────────┬────────────────────┬────────────┬──────────────────┐
│ CMD (1B) │ ConnectionID (16B) │ Len (4B BE)│ Payload (var)    │
└──────────┴────────────────────┴────────────┴──────────────────┘

Несколько пакетов объединяются в один объект R2 (до 4 МБ) для сокращения количества вызовов API. Объекты именуются с использованием микросекундных меток времени для упорядочивания и удаляются после обработки.

Шифрование

Опциональное шифрование AES-256-GCM для всех полезных нагрузок R2:

root@kitploit:~
pip install cryptography

# Both sides must use the same password
python r2socks.py proxy -b bucket -a account_id -p "my-secret-password"
python r2socks.py agent -b bucket -a account_id -c channel -p "my-secret-password"

Ключ выводится с использованием PBKDF2-SHA256 с 600 000 итераций.

Сборка C++-агента

Из Visual Studio Developer Command Prompt:

root@kitploit:~
cl /std:c++17 /EHsc /O2 r2agent.cpp /link ws2_32.lib winhttp.lib bcrypt.lib

Адаптивный опрос

И прокси, и агент используют адаптивные интервалы ожидания:

  • Активный трафик: опрос каждые 50 мс для низкой задержки
  • Простой: интервал увеличивается в 1,3 раза за цикл, максимум до 2 секунд
  • Возобновление трафика: интервал уменьшается в 0,5 раза, быстро возвращаясь к 50 мс

Это балансирует отзывчивость и объём вызовов API. Статистика логируется каждые 30 секунд с отображением активных соединений, переданных объектов и перемещённых байтов.

Устранение неполадок

SignatureDoesNotMatch

  • Убедитесь, что учётные данные API-токена R2 верны
  • Убедитесь, что токен имеет разрешения Object Read & Write на бакет
  • Проверьте системные часы: w32tm /resync /force (Windows) или sudo ntpdate pool.ntp.org (Linux)

RequestTimeTooSkewed

  • Системные часы рассинхронизированы. Синхронизируйте их:
    root@kitploit:~
    w32tm /resync /force
    

AccessDenied

  • API-токен может не иметь разрешений на целевой бакет
  • Перегенерируйте токен с разрешениями Object Read & Write на нужный бакет

Требования

Прокси (Python):

  • Python 3.8+
  • boto3 (обязательно)
  • cryptography (опционально, для шифрования)

Агент (C++):

  • Windows 10/11
  • Без зависимостей времени выполнения
Скачать инструмент
КомандаКодНаправлениеПолезная нагрузка
NEW0x01Proxy→AgentATYP + Address + Port
ACK0x02Agent→Proxy1 byte status (0=success)
DATA0x03BidirectionalRaw TCP data (up to 1MB)
CLOSE0x04BidirectionalEmpty
PING0x05BidirectionalEmpty