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.

FeedsKontaktDatenschutz© 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.

3910245vor 1 MonatVon 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.

[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

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:

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):

.\r2agent.exe -b my-bucket -a <account_id> -c <channel_id> -k <access_key> -s <secret_key>

Verwendung

Proxy (Operator-Seite)

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:

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):

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:

python r2socks.py clean -b my-bucket -a <account_id> -c <channel_id>

Protokoll

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

┌──────────┬────────────────────┬────────────┬──────────────────┐
│ CMD (1B) │ ConnectionID (16B) │ Len (4B BE)│ Payload (var)    │
└──────────┴────────────────────┴────────────┴──────────────────┘
BefehlCodeRichtungPayload
NEW0x01Proxy→AgentATYP + Address + Port
ACK0x02Agent→Proxy1 byte status (0=success)
DATA0x03BidirektionalRaw TCP data (up to 1MB)
CLOSE0x04BidirektionalEmpty
PING0x05BidirektionalEmpty

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:

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:

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:
    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