Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
BlackBerryC2 — Estrutura de pesquisa de comando e controle (C2) criptografado para educação em cibersegurança, laboratórios de red team e experimentos de comunicação segura cliente-servidor. | Kitploit
Ferramentas/GitHubGitHub/dereeqw/blackberryc2
Ferramentas de Criptografia/DescriptografiaGeração de PayloadsEvasão de IDS/IPSSegurança de RedeCriptografiaTestes de PenetraçãoComando e ControleAprendizado e EducaçãoRed TeamingFerramenta de Acesso Remoto
GitHubdereeqw/blackberryc2
312há 5 mesesRevisado 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

BlackBerryC2

Estrutura de pesquisa de comando e controle (C2) criptografado para educação em cibersegurança, laboratórios de red team e experimentos de comunicação segura cliente-servidor.

Ver Repositório

BlackBerryC2 2.0.0-beta

BlackBerryC2 é um framework de administração remota e C2 criptografado projetado exclusivamente para uso educacional, pesquisa de segurança e ambientes laboratoriais controlados. BlackBerryC2 Demo

O projeto demonstra como construir um servidor de comando e controle personalizado com criptografia na camada de aplicação, gerenciamento de sessão e comunicação segura com o cliente sem depender de pilhas TLS externas.


⚠️ Aviso Importante

Este projeto NÃO é malware e NÃO se destina a acesso não autorizado.

BlackBerryC2:

  • Não se auto-propaga
  • Não explora vulnerabilidades automaticamente
  • Não inclui mecanismos de persistência
  • Não tenta evadir software antivírus

Use apenas em sistemas e redes que você possui ou tem autorização explícita para testar.


Dependências Python:

root@kitploit:~
pip install cryptography prompt_toolkit zstandard

zstandard é opcional, mas recomendado para transferências maiores que 1 GB.


Principais Recursos

  • Servidor C2 criptografado baseado em TCP personalizado (v2.0)
  • Troca de chaves ECDHE (secp256r1) — efêmera ou persistente
  • Criptografia autenticada AES-256-GCM por sessão
  • Autenticação por pacote HMAC-SHA256 + números de sequência anti-replay
  • Múltiplas sessões de cliente concorrentes
  • Console interativo do operador com preenchimento por tabulação (prompt_toolkit)
  • Execução remota de comandos criptografada
  • Transferências de arquivos criptografadas com compressão zlib / Zstandard
  • Upload/download recursivo de diretórios (get -r, put -r)
  • Transferências em segundo plano (flag -b) — não bloqueantes, canceláveis
  • Suporte a retomada de transferência (arquivos .partial + .resume)
  • Gerador de payload do cliente (generate-payload)
  • Bloqueio de IP: lista de bloqueio persistente + banimentos temporários automáticos
  • Detecção de varredura/inundação: scan de conexão, captura de banner, falhas de handshake, inundação de heartbeat
  • Suporte opcional a proxy HTTP(S)/TLS (BlackBerryHTTPs_TLSProxyGUI)
  • Pré-autenticação SPA (Autorização de Pacote Único) e Port-Knocking
  • Modo BerryTransfer — servidor dedicado apenas para transferência de arquivos (sem shell)
  • Log de sessão criptografado (AES-256-GCM + PBKDF2, 600k iterações)
  • Log do servidor criptografado com visualizador dentro do shell (comando log)

Design Criptográfico

BlackBerryC2 v2.0 estabelece comunicação segura da seguinte forma:

  1. O cliente se conecta via TCP; o servidor envia o banner de serviço.
  2. O cliente envia REQUEST_PUBKEY.
  3. O servidor envia sua chave pública ECDHE efêmera (secp256r1).
  4. O cliente envia sua chave pública ECDHE + tag de autenticação HMAC-SHA256.
  5. O servidor verifica o HMAC em relação ao segredo pré-compartilhado (HMAC_PRE_SHARED_SECRET).
  6. Ambos os lados derivam uma chave de sessão AES de 256 bits via HKDF-SHA256 sobre o segredo compartilhado.
  7. Toda comunicação futura usa AES-256-GCM com HMAC-SHA256 por pacote e números de sequência anti-replay.

Cada sessão mantém:

  • Sua própria chave AES-256 e chave HMAC
  • Nonces independentes (12 bytes aleatórios por mensagem)
  • Rastreador anti-replay isolado (janela de sequência ±100)
  • Limitador de taxa de proteção contra inundação (comandos/segundo configurável)

Todas as chaves criptográficas são geradas em tempo de execução e nunca reutilizadas entre reinicializações (a menos que --persistente seja definido).


Executando o Servidor

root@kitploit:~
python3 BlackBerryC2_server.py

Configuração padrão:

  • Host: 0.0.0.0
  • Porta: 9949

Argumentos de Linha de Comando

Exemplos:

root@kitploit:~
# Inicialização básica (solicita frase secreta do log)
python3 BlackBerryC2_server.py

# Chaves ECDHE persistentes + verboso
python3 BlackBerryC2_server.py -p -vv

# Porta personalizada, sem verificação HMAC
python3 BlackBerryC2_server.py -P 8080 --no-secure

# Port-knocking em portas personalizadas
python3 BlackBerryC2_server.py --spa --spa-mode knock --knock-seq 9001,9002,9003

# Modo BerryTransfer com confirmação automática
python3 BlackBerryC2_server.py --berrytransfer --auto-confirm

# Visualizar/descriptografar logs sem iniciar o servidor
python3 BlackBerryC2_server.py --logs

Comandos do Console do Operador

Gerenciamento do Servidor

Proxy


Comandos de Sessão (dentro de select <ID>)

Geral

Transferência de Arquivos


Modo BerryTransfer

BerryTransfer é um modo de servidor dedicado apenas para transferência de arquivos inspirado no scp. Quando ativo, o servidor rejeita todo acesso a shell e aceita apenas comandos de protocolo BT:*.

Iniciar:

root@kitploit:~
python3 BlackBerryC2_server.py --berrytransfer
python3 BlackBerryC2_server.py --berrytransfer --auto-confirm  # sem prompt do operador para GETs

Comandos do shell BerryTransfer:

O log de transferência é escrito em logs/bt_transfer.jsonl (opcionalmente criptografado com AES-256-GCM).


SPA / Port-Knocking

Quando --spa está ativo, os clientes devem se autenticar via UDP antes que a conexão TCP seja aceita.

Modo SPA (padrão): O cliente envia um token HMAC-SHA256 de 32 bytes para SPA_UDP_PORT.

root@kitploit:~
token = HMAC-SHA256(HMAC_SECRET, "{ip}:{time_window_30s}")

Modo Knock: O cliente bate em uma sequência de portas UDP em ordem dentro de uma janela de tempo limite.

root@kitploit:~
python3 BlackBerryC2_server.py --spa --spa-mode knock --knock-seq 7001,7002,7003 --knock-timeout 10

IPs autorizados são válidos por --spa-ttl segundos (padrão 60).


Recursos de Segurança


Logs

Visualize logs com o visualizador integrado:

root@kitploit:~
BlackBerry> log

Ou de forma independente:

root@kitploit:~
python3 BlackBerryC2_server.py --logs

Uso Pretendido

Este projeto é destinado apenas para:

  • Demonstrações educacionais
  • Pesquisa de segurança
  • Ambientes laboratoriais controlados
  • Testes de penetração autorizados

O uso não autorizado contra sistemas sem permissão é estritamente proibido.


Licença

Veja o arquivo LICENSE para detalhes completos da licença.


Aviso Legal

Este software é fornecido "como está", sem garantia de qualquer tipo.
Os autores não assumem nenhuma responsabilidade por uso indevido ou danos causados por este software.

Baixar ferramenta
  • Configuração de inicialização salva em logs/last_start.json
  • FlagDescrição
    -p / --persistenteUsa chaves ECDHE persistentes de ecdhe-cert/ (solicita a frase secreta)
    -vLog de depuração
    -vvLog verboso (relaxado)
    -H <host>Host de escuta (padrão: 0.0.0.0)
    -P <port>Porta de escuta (padrão: 9949)
    --no-secureAceita qualquer cliente ECDHE sem verificação HMAC
    --hmac <secret>Segredo pré-compartilhado HMAC personalizado (hex ou string)
    --log-passphrase <pass>Criptografa o log do servidor com AES-256-GCM (PBKDF2 600k iterações)
    --logsVisualizador interativo de logs — sem servidor iniciado
    --spaHabilita pré-autenticação SPA/port-knocking
    --spa-mode <spa|knock>spa = token UDP único, knock = sequência de portas
    --spa-port <port>Porta UDP para o ouvinte SPA (padrão: 7331)
    --knock-seq <ports>Sequência de portas para modo knock (padrão: 7001,7002,7003)
    --knock-timeout <sec>Segundos para completar a sequência knock (padrão: 10)
    --spa-ttl <sec>Segundos que um IP autorizado permanece válido (padrão: 60)
    --berrytransferModo BerryTransfer: apenas transferência de arquivos, sem shell
    --transfer-root <dir>Diretório raiz para BerryTransfer (padrão: ./berry_transfers)
    --auto-confirmAprova automaticamente todas as solicitações GET no BerryTransfer (sem prompt do operador)
    ComandoDescrição
    listLista sessões ativas com estatísticas e nome do host
    select <ID>Interagir com uma sessão do cliente
    all <cmd>Envia um comando para todos os clientes conectados
    reportRelatório completo do status do servidor (tempo de atividade, sessões, transferências)
    set host <HOST>Altera o host de escuta (reatribui o servidor)
    set port <PORT>Altera a porta de escuta (reatribui o servidor)
    sVbanner "<text>"Altera o banner do serviço
    generate-payloadGera um payload para o cliente
    fingerprintMostra a impressão digital da chave do servidor ECDHE (SHA-256)
    ecdhe-keysImprime o par de chaves ECDHE atual (PEM)
    kill <id|ip>Encerra uma sessão por ID ou IP
    block <IP>Bloqueia um IP permanentemente
    unblock <IP>Desbloqueia um IP (persistente + temporário)
    blocklistMostra IPs bloqueados (persistentes e temporários)
    logVisualizador interativo de logs (suporta logs criptografados)
    reportResumo do status: tempo de atividade, sessões, transferências
    bannerReexibe o banner de inicialização
    cleanExclui arquivos de log do servidor
    vAlterna log de DEBUG
    vvAlterna log VERBOSO
    cd <dir>Altera o diretório de trabalho local do servidor
    E <cmd>Executa comando via os.system localmente
    <any command>Executa localmente no servidor
    exitPara o servidor e sai
    ComandoDescrição
    proxyInicia o daemon de proxy TLS/HTTP (modo automático)
    proxy --mode <mode>Modos: auto, tls, http, https, both, all
    proxy --statsMostra estatísticas do proxy
    proxy guiInicia a GUI do proxy (processo separado)
    stop-proxyPara o daemon de proxy
    stop-proxy-guiPara a GUI do proxy
    proxy-helpAjuda completa do proxy
    ComandoDescrição
    helpMostra ajuda da sessão
    exitRetorna ao shell principal
    !<cmd>Executa comando localmente no servidor
    <cmd>Executa comando no cliente remoto
    cmd1 && cmd2Encadeamento: executa cmd2 apenas se cmd1 tiver sucesso
    cmd1 || cmd2Encadeamento: executa cmd2 apenas se cmd1 falhar
    cmd1 ; cmd2Encadeamento: sempre executa cmd2
    ComandoDescrição
    get <file>Baixa arquivo do cliente
    get <dir> -rDownload recursivo de diretório
    get <file> -bDownload em segundo plano (não bloqueante)
    get <dir> -r -bDownload recursivo em segundo plano
    put <file>Envia arquivo para o cliente
    put <file> -excEnvia e executa em memória (scripts)
    put <dir> -rUpload recursivo de diretório
    put <file> -bUpload em segundo plano
    transfersLista todas as transferências ativas e concluídas
    stop <ID>Cancela uma transferência em segundo plano (ex.: stop T1)
    resume <local_file>Retoma um download interrompido
    screenshotCaptura a tela do cliente
    ComandoDescrição
    confirm <ID>Aprova uma solicitação GET pendente
    deny <ID>Rejeita uma solicitação GET pendente
    pendingLista solicitações GET aguardando aprovação
    auto [on|off]Alterna/define confirmação automática
    clientsMostra sessões BerryTransfer ativas
    ls [dir]Lista arquivos no diretório raiz de transferência
    tree [dir]Árvore de arquivos do diretório raiz de transferência
    find <name>Procura arquivo no diretório raiz de transferência
    rm <file>Exclui arquivo do diretório raiz de transferência (com confirmação)
    log [N]Mostra as últimas N entradas do log de transferência (padrão 30)
    cd <dir>Altera diretório de trabalho local
    pwdMostra diretório local atual
    !<cmd>Executa comando local do sistema
    exitPara o servidor BerryTransfer
    RecursoDetalhes
    Troca de chavesECDHE secp256r1 efêmera ou persistente
    Criptografia de sessãoAES-256-GCM, nonce aleatório de 12 bytes por mensagem
    Autenticação do clienteHMAC-SHA256 sobre segredo compartilhado durante handshake
    Integridade da mensagemHMAC-SHA256 por pacote (cobre seq + nonce + texto cifrado)
    Anti-replayRastreador de janela de números de sequência por sessão
    Proteção contra downgradeTamanho mínimo de chave AES imposto (256 bits)
    Limitação de taxa de heartbeatMínimo de 3s entre heartbeats; violações rastreadas
    Proteção contra inundação de comandosLimitador de taxa; desconexão automática após limite
    Detecção de varreduraContadores de scan de conexão, captura de banner, falhas de handshake
    Gerenciamento de IPLista de bloqueio persistente + banimentos temporários (automático + manual)
    Criptografia de logAES-256-GCM + PBKDF2-HMAC-SHA256 (600k iterações)
    Jitter de respostaJitter aleatório de 10–50ms para resistir a ataques de temporização
    Pré-autenticaçãoToken SPA ou port-knocking antes que o TCP seja aceito
    Arquivo de logConteúdo
    logs/BlackBerryC2_Server.logLog do servidor rotativo em texto simples (INFO+)
    logs/BlackBerryC2_enc.logLog do servidor criptografado (se --log-passphrase definido)
    logs/sessions.jsonlEventos de sessão: conectar, desconectar, bytes
    logs/bt_transfer.jsonlLog de transferência de arquivos do BerryTransfer
    logs/last_start.jsonInstantâneo da configuração de inicialização (host, porta, token, pid)