Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BlackBerryC2 — Framework di ricerca per comando e controllo (C2) crittografato per l'educazione alla cybersecurity, laboratori red team ed esperimenti di comunicazione sicura client-server. | Kitploit
Strumenti/GitHubGitHub/dereeqw/blackberryc2
Strumenti di Crittografia/DecrittografiaGenerazione di PayloadEvasione IDS/IPSSicurezza di ReteCrittografiaPenetration TestingCommand and ControlApprendimento e FormazioneRed TeamingStrumento di Accesso Remoto
GitHub
312246 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
dereeqw/blackberryc2

BlackBerryC2

Framework di ricerca per comando e controllo (C2) crittografato per l'educazione alla cybersecurity, laboratori red team ed esperimenti di comunicazione sicura client-server.

Vedi Repository

BlackBerryC2 2.0.0-beta

BlackBerryC2 è un framework di amministrazione remota e C2 crittografato progettato esclusivamente per uso educativo, ricerca sulla sicurezza e ambienti di laboratorio controllati. BlackBerryC2 Demo

Il progetto dimostra come costruire un server di comando e controllo personalizzato con crittografia a livello applicativo, gestione delle sessioni e comunicazione sicura con il client senza fare affidamento su stack TLS esterni.


⚠️ Avviso Importante

Questo progetto NON è malware e NON è destinato ad accessi non autorizzati.

BlackBerryC2:

  • Non si autopropaga
  • Non sfrutta vulnerabilità automaticamente
  • Non include meccanismi di persistenza
  • Non tenta di eludere software antivirus

Utilizzare solo su sistemi e reti di tua proprietà o per cui hai esplicita autorizzazione al test.


Dipendenze Python:

pip install cryptography prompt_toolkit zstandard

zstandard è opzionale ma consigliato per trasferimenti superiori a 1 GB.


Caratteristiche principali

  • Server C2 crittografato basato su TCP personalizzato (v2.0)
  • Scambio di chiavi ECDHE (secp256r1) — effimero o persistente
  • Crittografia autenticata AES-256-GCM per sessione
  • Autenticazione per pacchetto HMAC-SHA256 + numeri di sequenza anti-replay
  • Sessioni client multiple concorrenti
  • Console interattiva per operatore con completamento tramite tab (prompt_toolkit)
  • Esecuzione remota di comandi crittografata
  • Trasferimenti file crittografati con compressione zlib / Zstandard
  • Caricamento/scaricamento ricorsivo di directory (get -r, put -r)
  • Trasferimenti in background (flag -b) — non bloccanti, annullabili
  • Supporto per ripresa trasferimenti (file .partial + .resume)
  • Generatore di payload client (generate-payload)
  • Blocco IP: blocklist persistente + ban automatici temporanei
  • Rilevamento scan/flood: connect scan, banner grab, fallimenti handshake, heartbeat flood
  • Supporto proxy HTTP(S)/TLS opzionale (BlackBerryHTTPs_TLSProxyGUI)
  • Pre-autenticazione SPA (Single Packet Authorization) e Port-Knocking
  • Modalità BerryTransfer — server dedicato solo trasferimento file (nessuna shell)
  • Log di sessione crittografato (AES-256-GCM + PBKDF2, 600k iterazioni)
  • Log server crittografato con visualizzatore in-shell (comando log)
  • Configurazione di avvio salvata in logs/last_start.json

Progettazione Crittografica

BlackBerryC2 v2.0 stabilisce una comunicazione sicura come segue:

  1. Il client si connette tramite TCP; il server invia il banner di servizio.
  2. Il client invia REQUEST_PUBKEY.
  3. Il server invia la sua chiave pubblica ECDHE effimera (secp256r1).
  4. Il client invia la sua chiave pubblica ECDHE + il tag di autenticazione HMAC-SHA256.
  5. Il server verifica l'HMAC rispetto al segreto pre-condiviso (HMAC_PRE_SHARED_SECRET).
  6. Entrambe le parti derivano una chiave di sessione AES a 256 bit tramite HKDF-SHA256 dal segreto condiviso.
  7. Tutte le comunicazioni successive utilizzano AES-256-GCM con HMAC-SHA256 per pacchetto e numeri di sequenza anti-replay.

Ogni sessione mantiene:

  • La propria chiave AES-256 e chiave HMAC
  • Nonce indipendenti (12 byte casuali per messaggio)
  • Tracker anti-replay isolato (finestra di sequenza ±100)
  • Limitatore di velocità per protezione flood (comandi/secondo configurabile)

Tutte le chiavi crittografiche sono generate in esecuzione e mai riutilizzate tra riavvii (a meno che non sia impostato --persistente).


Esecuzione del Server

python3 BlackBerryC2_server.py

Configurazione predefinita:

  • Host: 0.0.0.0
  • Porta: 9949

Argomenti della Riga di Comando

FlagDescrizione
-p / --persistenteUsa chiavi ECDHE persistenti da ecdhe-cert/ (richiede passphrase)
-vLog di debug
-vvLog verbose (rilassato)
-H <host>Host in ascolto (predefinito: 0.0.0.0)
-P <port>Porta in ascolto (predefinita: 9949)
--no-secureAccetta qualsiasi client ECDHE senza verifica HMAC
--hmac <secret>Segreto pre-condiviso HMAC personalizzato (hex o stringa)
--log-passphrase <pass>Crittografa il log del server con AES-256-GCM (PBKDF2 600k iter)
--logsVisualizzatore log interattivo — server non avviato
--spaAbilita pre-autenticazione SPA/port-knocking
--spa-mode <spa|knock>spa = token UDP singolo, knock = sequenza di porte
--spa-port <port>Porta UDP per listener SPA (predefinita: 7331)
--knock-seq <ports>Sequenza di porte per modalità knock (predefinita: 7001,7002,7003)
--knock-timeout <sec>Secondi per completare la sequenza knock (predefinito: 10)
--spa-ttl <sec>Secondi di validità di un IP autorizzato (predefinito: 60)
--berrytransferModalità BerryTransfer: solo trasferimento file, nessuna shell
--transfer-root <dir>Directory root per BerryTransfer (predefinita: ./berry_transfers)
--auto-confirmApprova automaticamente tutte le richieste GET in BerryTransfer (nessun prompt operatore)

Esempi:

# Avvio base (richiede passphrase per log)
python3 BlackBerryC2_server.py

# Chiavi ECDHE persistenti + verbose
python3 BlackBerryC2_server.py -p -vv

# Porta personalizzata, nessun controllo HMAC
python3 BlackBerryC2_server.py -P 8080 --no-secure

# Port-knocking su porte personalizzate
python3 BlackBerryC2_server.py --spa --spa-mode knock --knock-seq 9001,9002,9003

# Modalità BerryTransfer con conferma automatica
python3 BlackBerryC2_server.py --berrytransfer --auto-confirm

# Visualizza/decifra log senza avviare server
python3 BlackBerryC2_server.py --logs

Comandi della Console Operatore

Gestione Server

ComandoDescrizione
listElenca sessioni attive con statistiche e hostname
select <ID>Interagisci con una sessione client
all <cmd>Invia un comando a tutti i client connessi
reportReport completo dello stato del server (uptime, sessioni, trasferimenti)
set host <HOST>Cambia host in ascolto (riavvia il server)
set port <PORT>Cambia porta in ascolto (riavvia il server)
sVbanner "<text>"Cambia banner di servizio
generate-payloadGenera un payload client
fingerprintMostra impronta chiave server ECDHE (SHA-256)
ecdhe-keysStampa coppia di chiavi ECDHE corrente (PEM)
kill <id|ip>Termina una sessione per ID o IP
block <IP>Blocca permanentemente un IP
unblock <IP>Sblocca un IP (persistente + temporaneo)
blocklistMostra IP bloccati (persistenti e temporanei)
logVisualizzatore log interattivo (supporta log crittografati)
reportRiepilogo stato: uptime, sessioni, trasferimenti
bannerMostra nuovamente banner di avvio
cleanElimina file di log del server
vAttiva/disattiva log DEBUG
vvAttiva/disattiva log VERBOSE
cd <dir>Cambia directory di lavoro locale del server
E <cmd>Esegue comando tramite os.system localmente
<any command>Esegue localmente sul server
exitArresta server ed esci

Proxy

ComandoDescrizione
proxyAvvia demone proxy TLS/HTTP (modalità auto)
proxy --mode <mode>Modalità: auto, tls, http, https, both, all
proxy --statsMostra statistiche proxy
proxy guiAvvia GUI proxy (processo separato)
stop-proxyArresta demone proxy
stop-proxy-guiArresta GUI proxy
proxy-helpAiuto completo proxy

Comandi di Sessione (all'interno di select <ID>)

Generali

Scarica lo strumento