Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
R2Socks — SOCKS5-Proxy, der durch Cloudflare R2-Objektspeicher getunnelt wird, mit Python- und abhängigkeitsfreien C++-Agenten, die TCP-Verkehr über verschlüsselte R2-Objekte für verdeckten Zugriff weiterleiten. | Kitploit
Tools/GitHubGitHub/ivancabrera02/r2socks
Verschlüsselungs-/EntschlüsselungstoolsDatenexfiltrationPost-ExploitationNetzwerksicherheitPenetrationstestsCommand and ControlRed TeamingRemote-Access-Tool
GitHubivancabrera02/r2socks

R2Socks

SOCKS5-Proxy, der durch Cloudflare R2-Objektspeicher getunnelt wird, mit Python- und abhängigkeitsfreien C++-Agenten, die TCP-Verkehr über verschlüsselte R2-Objekte für verdeckten Zugriff weiterleiten.

316vor 17 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

R2Socks

SOCKS5-Proxy, der durch Cloudflare R2-Buckets getunnelt wird.

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

Der Proxy betreibt einen lokalen SOCKS5-Server auf dem Rechner des Operators. Jede CONNECT-Anfrage wird als binäres Paket serialisiert und als R2-Objekt gespeichert. Der Agent fragt denselben Bucket aus dem Zielnetzwerk ab, nimmt Verbindungsanfragen entgegen, stellt echte TCP-Verbindungen her und leitet Daten über R2 zurück.

Komponenten

KomponenteSpracheDateiBeschreibung
ProxyPythonr2socks.pySOCKS5-Server (Operator-Seite)
AgentPythonr2socks.pyRelay auf Zielseite (Agent-Modus)
AgentC++r2agent.cppEigenständiger Windows-Agent, keine Abhängigkeiten

Der C++-Agent ist protokollkompatibel mit dem Python-Proxy. Er verwendet ausschließlich Windows-native APIs (WinHTTP, bcrypt, Winsock2) – keine externen Bibliotheken erforderlich.

Schnellstart

1. R2-Bucket erstellen

  1. Gehe zum Cloudflare Dashboard → R2 Object Storage
  2. Klicke auf Create bucket und gib einen Namen ein
  3. Notiere deine Account ID aus der URL: dash.cloudflare.com/<ACCOUNT_ID>/r2/...

2. R2-API-Token erstellen

  1. In R2 → Manage R2 API Tokens → Create API Token
  2. Setze die Berechtigungen auf Object Read & Write
  3. Wähle deinen Bucket (oder alle Buckets) aus
  4. Kopiere die Access Key ID und den Secret Access Key (wird nur einmal angezeigt)

3. Proxy starten

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>

Der Proxy generiert eine Channel-ID und gibt den Befehl zum Starten des Agents aus.

4. Agent starten

Python-Agent:

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++-Agent (Windows):

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

Verwendung

Proxy (Operator-Seite)

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

Agent (Zielseite)

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

Bereinigung

Alle R2-Objekte eines Channels entfernen, wenn fertig:

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

Protokoll

Binäres Paketformat, das zwischen Proxy und Agent verwendet wird:

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

Mehrere Pakete werden zu einem einzigen R2-Objekt gebündelt (bis zu 4MB), um API-Aufrufe zu reduzieren. Objekte werden mit Mikrosekunden-Zeitstempeln benannt, um die Reihenfolge zu gewährleisten, und nach dem Verbrauch gelöscht.

Verschlüsselung

Optionale AES-256-GCM-Verschlüsselung für alle R2-Payloads:

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"

Der Schlüssel wird mit PBKDF2-SHA256 mit 600.000 Iterationen abgeleitet.

C++-Agent bauen

Aus einer Visual Studio Developer Command Prompt:

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

Adaptives Polling

Sowohl Proxy als auch Agent verwenden adaptive Schlafintervalle:

  • Aktiver Datenverkehr: Pollt alle 50ms für niedrige Latenz
  • Leerlauf: Intervall wächst pro Zyklus um das 1,3-fache, bis maximal 2 Sekunden
  • Datenverkehr setzt wieder ein: Intervall sinkt um das 0,5-fache, schnell zurück auf 50ms

Dies balanciert Reaktionsfähigkeit gegen API-Aufrufvolumen. Statistiken werden alle 30 Sekunden protokolliert und zeigen aktive Verbindungen, übertragene Objekte und bewegte Bytes.

Fehlerbehebung

SignatureDoesNotMatch

  • Überprüfe, ob deine R2-API-Token-Anmeldedaten korrekt sind
  • Stelle sicher, dass das Token Object Read & Write-Berechtigungen für den Bucket hat
  • Prüfe die Systemuhr: w32tm /resync /force (Windows) oder sudo ntpdate pool.ntp.org (Linux)

RequestTimeTooSkewed

  • Die Systemuhr ist nicht synchron. Synchronisiere sie:
    root@kitploit:~
    w32tm /resync /force
    

AccessDenied

  • Dem API-Token fehlen möglicherweise Berechtigungen für den Ziel-Bucket
  • Generiere das Token mit Object Read & Write für den richtigen Bucket neu

Anforderungen

Proxy (Python):

  • Python 3.8+
  • boto3 (erforderlich)
  • cryptography (optional, für Verschlüsselung)

Agent (C++):

  • Windows 10/11
  • Keine Laufzeitabhängigkeiten
Tool herunterladen
BefehlCodeRichtungPayload
NEW0x01Proxy→AgentATYP + Address + Port
ACK0x02Agent→Proxy1 byte status (0=success)
DATA0x03BidirektionalRaw TCP data (up to 1MB)
CLOSE0x04BidirektionalEmpty
PING0x05BidirektionalEmpty