Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
R2Socks — Proxy SOCKS5 tunelado através do armazenamento de objetos Cloudflare R2, com agentes em Python e C++ sem dependências retransmitindo tráfego TCP via objetos R2 criptografados para acesso encoberto. | Kitploit
Ferramentas/GitHubGitHub/ivancabrera02/r2socks
Ferramentas de Criptografia/DescriptografiaExfiltração de DadosPós-ExploraçãoSegurança de RedeTestes de PenetraçãoComando e ControleRed TeamingFerramenta de Acesso Remoto
GitHubivancabrera02/r2socks

R2Socks

Proxy SOCKS5 tunelado através do armazenamento de objetos Cloudflare R2, com agentes em Python e C++ sem dependências retransmitindo tráfego TCP via objetos R2 criptografados para acesso encoberto.

316há 17 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

R2Socks

Túnel de proxy SOCKS5 através de buckets do Cloudflare R2.

root@kitploit:~
[Aplicativo Cliente] ◄─SOCKS5─► [Proxy] ◄─── Bucket R2 ───► [Agente] ◄─TCP─► [Alvo]

O proxy executa um servidor SOCKS5 local na máquina do operador. Cada requisição CONNECT é serializada como pacotes binários e armazenada como objetos R2. O agente consulta o mesmo bucket a partir da rede de destino, captura as requisições de conexão, estabelece conexões TCP reais e retransmite os dados de volta através do R2.

Componentes

ComponenteLinguagemArquivoDescrição
ProxyPythonr2socks.pyServidor SOCKS5 (lado do operador)
AgentePythonr2socks.pyRetransmissor do lado do alvo (modo agente)
AgenteC++r2agent.cppAgente Windows autônomo, sem dependências

O agente em C++ é compatível em protocolo com o proxy em Python. Ele usa apenas APIs nativas do Windows (WinHTTP, bcrypt, Winsock2) sem necessidade de bibliotecas externas.

Início Rápido

1. Criar um Bucket R2

  1. Acesse o Painel da Cloudflare → R2 Object Storage
  2. Clique em Create bucket e dê um nome a ele
  3. Anote seu Account ID a partir da URL: dash.cloudflare.com/<ACCOUNT_ID>/r2/...

2. Criar um Token de API do R2

  1. Em R2 → Manage R2 API Tokens → Create API Token
  2. Defina as permissões como Object Read & Write
  3. Selecione seu bucket (ou todos os buckets)
  4. Copie o Access Key ID e a Secret Access Key (exibidos apenas uma vez)

3. Iniciar o Proxy

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>

O proxy gera um ID de canal e imprime o comando para iniciar o agente.

4. Iniciar o Agente

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

Agente C++ (Windows):

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

Uso

Proxy (Lado do Operador)

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

Agente (Lado do Alvo)

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

Limpeza

Remova todos os objetos R2 de um canal quando terminar:

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

Protocolo

Formato de pacote binário compartilhado entre proxy e agente:

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

Vários pacotes são agrupados em um único objeto R2 (até 4MB) para reduzir chamadas de API. Os objetos são nomeados com timestamps em microssegundos para ordenação e excluídos após o consumo.

Criptografia

Criptografia AES-256-GCM opcional para todos os payloads do 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"

A chave é derivada usando PBKDF2-SHA256 com 600.000 iterações.

Compilando o Agente C++

A partir de um Prompt de Comando do Desenvolvedor do Visual Studio:

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

Polling Adaptativo

Tanto o proxy quanto o agente usam intervalos de espera adaptativos:

  • Tráfego ativo: Consulta a cada 50ms para baixa latência
  • Ocioso: O intervalo cresce 1,3x a cada ciclo, até no máximo 2 segundos
  • Tráfego retomado: O intervalo cai 0,5x, voltando rapidamente para 50ms

Isso equilibra a capacidade de resposta com o volume de chamadas de API. As estatísticas são registradas a cada 30 segundos, mostrando conexões ativas, objetos transferidos e bytes movimentados.

Solução de Problemas

SignatureDoesNotMatch

  • Verifique se as credenciais do seu token de API do R2 estão corretas
  • Certifique-se de que o token tenha permissões de Object Read & Write no bucket
  • Verifique o relógio do sistema: w32tm /resync /force (Windows) ou sudo ntpdate pool.ntp.org (Linux)

RequestTimeTooSkewed

  • O relógio do sistema está dessincronizado. Sincronize-o:
    root@kitploit:~
    w32tm /resync /force
    

AccessDenied

  • O token de API pode não ter permissões no bucket de destino
  • Regenere o token com Object Read & Write no bucket correto

Requisitos

Proxy (Python):

  • Python 3.8+
  • boto3 (obrigatório)
  • cryptography (opcional, para criptografia)

Agente (C++):

  • Windows 10/11
  • Sem dependências de runtime
Baixar ferramenta
ComandoCódigoDireçãoPayload
NEW0x01Proxy→AgentATYP + Address + Port
ACK0x02Agent→Proxy1 byte status (0=success)
DATA0x03BidirectionalRaw TCP data (up to 1MB)
CLOSE0x04BidirectionalEmpty
PING0x05BidirectionalEmpty