Listener

Ein Listener nimmt eingehende Verbindungen von Reverse Shells entgegen. Die Wahl des richtigen Listeners beeinflusst, ob und wie stabil eine Shellverbindung funktioniert – insbesondere bei TTY-Handling, Terminalverhalten oder Weiterverarbeitung.


Standard Listener

Netcat (nc)

nc -lvnp 4444
  • Einfach, auf nahezu allen Systemen vorhanden

  • Keine echte TTY-Unterstützung

  • Pfeiltasten, Tab-Vervollständigung und su funktionieren meist nicht

Verwendung: Schnelltests, erste Verbindung, einfache Shells


Netcat mit rlwrap

rlwrap nc -lvnp 4444
  • rlwrap fügt History und Zeilenbearbeitung hinzu

  • Kein echter TTY, aber deutlich benutzerfreundlicher

Verwendung: Wenn du mit einfacher Netcat-Shell länger arbeiten willst


Ncat (ncat aus Nmap)

ncat -lvp 4444
  • Moderner, stabiler Listener

  • Besseres Verhalten bei Unicode, Steuerzeichen, stdin/stdout

  • Optional TLS-Unterstützung mit --ssl

  • Cross-Plattform (auch unter Windows einsetzbar)

Verwendung: Bevorzugte Wahl für Bash-, Python-, PHP- und PowerShell-Shells


Für echte TTY-Shells

Socat

socat file:`tty`,raw,echo=0 tcp-listen:4444
  • Erzeugt eine echte Terminalumgebung (PTY)

  • Ermöglicht su, passwd, nano, top, less usw.

  • Sowohl auf Angreifer- als auch Zielseite erforderlich

Verwendung: Wenn Reverse Shell vollständige Terminalfunktionalität haben soll


Vergleichstabelle Listener

Listener
TTY-Unterstützung
Eingabeverbesserung
Kompatibilität
Empfehlung

nc

Nein

Nein

Universal

Für einfache, temporäre Shells

rlwrap nc

Nein

Ja

Unix/Linux

Für komfortableres Arbeiten mit Basic Shells

ncat

Teilweise

Ja

Linux, Windows

Optimal für stabile Shells und Cross-Platform

socat

Ja (vollständig)

Ja

Unix/Linux (beide Seiten)

Für vollwertige TTY Shells


Fazit und Empfehlung

  • Standard (CTF, leichtes Target): ncat -lvp PORT

  • Erweiterte Shell-Nutzung: rlwrap nc -lvnp PORT oder ncat

  • Maximal interaktiv (TTY): socat verwenden, wenn Ziel dies unterstützt

Last updated