Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BlackBerryC2 — Marco de investigación de comando y control (C2) cifrado para educación en ciberseguridad, laboratorios de red team y experimentos de comunicación segura cliente‑servidor. | Kitploit
Herramientas/GitHubGitHub/dereeqw/blackberryc2
Herramientas de Cifrado/DescifradoGeneración de PayloadsEvasión de IDS/IPSSeguridad de RedesCriptografíaPruebas de PenetraciónComando y ControlAprendizaje y EducaciónRed TeamingHerramienta de Acceso Remoto
GitHub
31224hace 6 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
dereeqw/blackberryc2

BlackBerryC2

Marco de investigación de comando y control (C2) cifrado para educación en ciberseguridad, laboratorios de red team y experimentos de comunicación segura cliente‑servidor.

Ver Repositorio

BlackBerryC2 2.0.0-beta

BlackBerryC2 es un framework de administración remota y C2 encriptado diseñado exclusivamente para uso educativo, investigación de seguridad y entornos de laboratorio controlados. BlackBerryC2 Demo

El proyecto demuestra cómo construir un servidor de comando y control personalizado con criptografía a nivel de aplicación, gestión de sesiones y comunicación segura con el cliente sin depender de pilas TLS externas.


⚠️ Aviso Importante

Este proyecto NO es malware y NO está destinado para acceso no autorizado.

BlackBerryC2:

  • No se autopropaga
  • No explota vulnerabilidades automáticamente
  • No incluye mecanismos de persistencia
  • No intenta evadir software antivirus

Úselo solo en sistemas y redes de su propiedad o para los que tenga autorización explícita para probar.


Dependencias de Python:

pip install cryptography prompt_toolkit zstandard

zstandard es opcional pero recomendado para transferencias mayores de 1 GB.


Características Principales

  • Servidor C2 encriptado personalizado basado en TCP (v2.0)
  • Intercambio de claves ECDHE (secp256r1) — efímero o persistente
  • Cifrado autenticado AES-256-GCM por sesión
  • Autenticación HMAC-SHA256 por paquete + números de secuencia antirrepetición
  • Múltiples sesiones de cliente concurrentes
  • Consola de operador interactiva con autocompletado (prompt_toolkit)
  • Ejecución remota de comandos encriptada
  • Transferencias de archivos encriptadas con compresión zlib / Zstandard
  • Subida/bajada recursiva de directorios (get -r, put -r)
  • Transferencias en segundo plano (flag -b) — no bloqueantes, cancelables
  • Soporte de reanudación de transferencias (archivos .partial + .resume)
  • Generador de payload para cliente (generate-payload)
  • Bloqueo de IP: lista de bloqueo persistente + baneos temporales automáticos
  • Detección de escaneo/inundación: escaneo de conexión, captura de banner, fallos de handshake, inundación de heartbeat
  • Soporte opcional de proxy HTTP(S)/TLS (BlackBerryHTTPs_TLSProxyGUI)
  • Pre-autenticación SPA (Autorización de un Solo Paquete) y Port-Knocking
  • Modo BerryTransfer — servidor dedicado solo para transferencia de archivos (sin shell)
  • Registro de sesión encriptado (AES-256-GCM + PBKDF2, 600k iteraciones)
  • Registro del servidor encriptado con visor integrado en la shell (comando log)
  • Configuración de inicio guardada en logs/last_start.json

Diseño Criptográfico

BlackBerryC2 v2.0 establece comunicación segura de la siguiente manera:

  1. El cliente se conecta vía TCP; el servidor envía el banner de servicio.
  2. El cliente envía REQUEST_PUBKEY.
  3. El servidor envía su clave pública ECDHE efímera (secp256r1).
  4. El cliente envía su clave pública ECDHE + etiqueta de autenticación HMAC-SHA256.
  5. El servidor verifica el HMAC contra el secreto precompartido (HMAC_PRE_SHARED_SECRET).
  6. Ambos lados derivan una clave de sesión AES de 256 bits mediante HKDF-SHA256 sobre el secreto compartido.
  7. Toda comunicación posterior utiliza AES-256-GCM con HMAC-SHA256 por paquete y números de secuencia antirrepetición.

Cada sesión mantiene:

  • Su propia clave AES-256 y clave HMAC
  • Nonces independientes (12 bytes aleatorios por mensaje)
  • Rastreador antirrepetición aislado (ventana de secuencia ±100)
  • Limitador de velocidad contra inundaciones (comandos/segundo configurables)

Todas las claves criptográficas se generan en tiempo de ejecución y nunca se reutilizan entre reinicios (a menos que se establezca --persistente).


Ejecución del Servidor

python3 BlackBerryC2_server.py

Configuración por defecto:

  • Host: 0.0.0.0
  • Puerto: 9949

Argumentos de Línea de Comandos

FlagDescripción
-p / --persistenteUsa claves ECDHE persistentes de ecdhe-cert/ (solicita frase de paso)
-vRegistro de depuración (debug)
-vvRegistro verbose (relajado)
-H <host>Host de escucha (por defecto: 0.0.0.0)
-P <port>Puerto de escucha (por defecto: 9949)
--no-secureAcepta cualquier cliente ECDHE sin verificación HMAC
--hmac <secret>Secreto precompartido HMAC personalizado (hex o cadena)
--log-passphrase <pass>Cifra el registro del servidor con AES-256-GCM (PBKDF2 600k iter)
--logsVisor de registros interactivo — no inicia el servidor
--spaHabilita pre-autenticación SPA/port-knocking
--spa-mode <spa|knock>spa = token UDP único, knock = secuencia de puertos
--spa-port <port>Puerto UDP para el listener SPA (por defecto: 7331)
--knock-seq <ports>Secuencia de puertos para modo knock (por defecto: 7001,7002,7003)
--knock-timeout <sec>Segundos para completar la secuencia knock (por defecto: 10)
--spa-ttl <sec>Segundos que una IP autorizada permanece válida (por defecto: 60)
--berrytransferModo BerryTransfer: solo transferencia de archivos, sin shell
--transfer-root <dir>Directorio raíz para BerryTransfer (por defecto: ./berry_transfers)
--auto-confirmAprueba automáticamente todas las solicitudes GET en BerryTransfer (sin aviso al operador)

Ejemplos:

# Inicio básico (solicita frase de paso para el registro)
python3 BlackBerryC2_server.py

# Claves ECDHE persistentes + verbose
python3 BlackBerryC2_server.py -p -vv

# Puerto personalizado, sin verificación HMAC
python3 BlackBerryC2_server.py -P 8080 --no-secure

# Port-knocking en puertos personalizados
python3 BlackBerryC2_server.py --spa --spa-mode knock --knock-seq 9001,9002,9003

# Modo BerryTransfer con auto-confirmación
python3 BlackBerryC2_server.py --berrytransfer --auto-confirm

# Ver/descifrar registros sin iniciar el servidor
python3 BlackBerryC2_server.py --logs

Comandos de la Consola del Operador

Gestión del Servidor

ComandoDescripción
listLista sesiones activas con estadísticas y nombre de host
select <ID>Interactúa con una sesión de cliente
all <cmd>Envía un comando a todos los clientes conectados
reportInforme completo del estado del servidor (tiempo activo, sesiones, transferencias)
set host <HOST>Cambia el host de escucha (reengancha el servidor)
set port <PORT>Cambia el puerto de escucha (reengancha el servidor)
sVbanner "<text>"Cambia el banner de servicio
generate-payloadGenera un payload para el cliente
fingerprintMuestra la huella digital de la clave ECDHE del servidor (SHA-256)
ecdhe-keysImprime el par de claves ECDHE actual (PEM)
kill <id|ip>Termina una sesión por ID o IP
block <IP>Bloquea permanentemente una IP
unblock <IP>Desbloquea una IP (persistente + temporal)
blocklistMuestra las IPs bloqueadas (persistentes y temporales)
logVisor de registros interactivo (soporta registros encriptados)
reportResumen de estado: tiempo activo, sesiones, transferencias
bannerVuelve a mostrar el banner de inicio
cleanElimina los archivos de registro del servidor
vAlterna el registro de depuración (DEBUG)
vvAlterna el registro verbose (VERBOSE)
cd <dir>Cambia el directorio de trabajo local del servidor
E <cmd>Ejecuta comando mediante os.system localmente
<any command>Ejecuta localmente en el servidor
exitDetiene el servidor y sale

Proxy

Descargar herramienta