Fase di Exploitation “Client-Side”

F

NOVITA’ 2019!

Parliamoci chiaro: non puoi pensare di diventare un ETHICAL HACKER senza conoscere almeno un LINGUAGGIO DI PROGRAMMAZIONE!

Accedi adesso al corso “PYTHON PER HACKER – 2019”

Oltre 10 ORE di VIDEO LEZIONI e oltre 100 CODICI PRONTI DA ESEGUIRE!




L’exploitation si occupa di verificare se a partire da una data vulnerabilità si possa effettivamente accedere all’interno del nostro bersaglio.

Anche in questo caso, come nella ricerca delle vulnerabilità, si può procedere appoggiandosi a strumenti automatici e manuali. Visto che parliamo di un’introduzione all’ethical hacking procederemo sfruttando determinati tool.

Il primo concetto che voglio introdurre è quello di “exploit”.

L’exploit può essere definito come una sequenza di comandi, o righe di codice, che sfruttando le vulnerabilità presenti in un certo software può permettere di attuare comportamenti non previsti.

Gli exploit possono essere classificati come segue:

  • Service-side exploit: Colpiscono un determinato servizio in ascolto sulla macchina bersaglio.
  • Client-side exploit: L’attacco parte direttamente dalla macchina client.
  • Local privilege escalation exploit: una volta ottenuto l’accesso alla macchina bersaglio, abbiamo necessità di elevare i nostri privilegi utilizzando exploit appartenenti a questa categoria.

SERVICE-SIDE EXPLOITATION

Su una generica macchina abbiamo molteplici servizi in ascolto su determinate porte. Pensiamo ad un web server: molto probabilmente sarà in ascolto sulla porta 80 e comunicherà tramite il protocollo HTTP.

Se uno di questi servizi, per svariati motivi, non è configurato correttamente offre un grande vantaggio ad un possibile attaccante.

Ovviamente si devono verificare tutta una serie di condizioni particolari, come, ad esempio, il firewall perimetrale che permette l’accesso a quella determinata porta su quel determinato PC.

Un aspetto rilevante della questione è che una volta guadagnato l’accesso ad una determinata macchina, si procede ricorsivamente così da guadagnare l’accesso anche ad altre macchine, magari visibili solo a partire proprio dalla prima macchina compromessa. In gergo tecnico si effettua “pivoting”.

CLIENT-SIDE EXPLOITATION

Nella client-side exploitation abbiamo un punto di vista completamente differente: è la vittima stessa a scatenare inconsapevolmente l’attacco e sarà proprio quest’ultima ad instaurare una connessione con la macchina attaccante.

Il vettore d’attacco è solitamente molto comune. Ad esempio, la vittima può avviare un file eseguibile ricevuto dall’attaccante.

Questa semplice azione può essere sufficiente a far partire una comunicazione verso l’esterno.

Tra l’altro, in contesti aziendali, la comunicazione verso internet è spesso concessa e quindi i sistemi di sicurezza perimetrali potrebbero non bloccare questo tipo di attacco.

Si tratta di un notevole vantaggio rispetto al primo tipo di exploitation.

Come potrai con facilità intuire, qui l’utente ha un ruolo centrale nell’avviare l’attacco.

L’inizio dell’attacco coincide con un’azione diretta della vittima: è sufficiente un semplice file excel allegato ad una mail, o scaricato tramite browser.

METASPLOIT

Quando si parla di exploitation non si può non parlare di Metasploit.

Si tratta del tool più conosciuto e utilizzato in contesti dove si cerca di automatizzare il processo di exploitation.

Composto da vari moduli, il suo utilizzo non è dei più immediati, ed è richiesta esperienza per utilizzarlo al meglio.

Entrando leggermente nel dettaglio, Metasploit si compone di:

  • un database di exploit.
  • un database di payload.
  • moduli ausiliari per operazioni particolari.
  • moduli post-exploitation per la fase successiva del penetration test.
  • interfaccia utente per poter gestire agilmente il tutto.

La stessa interfaccia utenti si compone di più moduli, tra cui:

  • msfconsole. Da qui possiamo eseguire i vari exploit/payload.
  • msfd. Servizio in ascolto sulla porta TCP 5554 che permette a più utenti di connettersi alla stessa istanza Metasploit.
  • armitage. Una versione grafica di Metasploit.
  • msfvenon. Per convertire i nostri pyaload in file eseguibili di vario tipo, viene utilizzato soprattutto nella fase di client-side exploitation.

DIMOSTRAZIONE EXPLOITATION CLIENT-SIDE

Introduciamo i passi che eseguiremo per effettuare questa dimostrazione:

  • Configurazione iniziale della macchina vittima con sistema operativo Windows.
  • Creazione del file malevolo con Metasploit e in particolare l’interfaccia msfvenon.
  • Creazione di un web server (lato attaccante) sul quale verrà ospitato il file malevolo.
  • Utilizzo di Metasploit e in particolare di msfconsole.
  • Esecuzione del file malevolo sulla macchina vittima.
  • Connessione stabilita tra attaccante e bersaglio.
  • Interazione con la shell di Metasploit.

Effettuiamo nel dettaglio ogni passo.

CONFIGURAZIONE INIZIALE MACCHINA VITTIMA

La prima operazione da fare è verificare che ci sia connettività tra la macchina vittima e la macchina bersaglio.

A tal proposito impostiamo un indirizzo IP tra le 2 macchine, ad esempio:

  • Macchina vittima (SO Windows 7): 192.168.1.227/24.
  • Macchina attaccante (SO Kali Linux): 192.168.1.133/24.

Confermare poi con il comando “ping” la comunicazione tra queste ultime.

Un passo necessario consiste nel disabilitare tutti i sistemi di sicurezza della macchina vittima.

  • Disabilitare il firewall locale.
  • Disabilitare Windows Defender togliendo la spunta come segue:

Tutti i seguenti meccanismi di protezione devono essere disabilitati:

CREAZIONE DEL FILE MALEVOLO

Connettiamoci alla macchina Kali e digitiamo il seguente comando:

Dove:

  • LHOST è l’indirizzo locale della macchina attaccante, cioè Kali.
  • LPORT è la porta in cui ci metteremo in ascolto, in attesa che qualcuno si connetta.
  • FileMalevolo.exe sarà il file malevolo generato e locato nella cartella /tmp della macchina Kali.

CREAZIONE DI UN WEB SERVER FITTIZIO

Generato il file malevolo, creiamo un web server fittizio su cui ospitarlo, così da poterlo facilmente scaricare dalla macchina bersaglio.

Digitiamo il seguente comando da un terminal Kali:

Così facendo abbiamo posto un rudimentale web server in ascolto sulla porta 8000.

PREPARAZIONE DELL’EXPLOIT/PAYLOAD

Messo in ascolto il web server, passiamo alla configurazione dell’exploit e del payload in Metasploit.

Fai attenzione alla differenza tra EXPLOIT e PAYLOAD. L’exploit ci permette di trarre vantaggio a partire da una data vulnerabilità, il payload è un “pezzo” di codice che sarà eseguito sfruttando quel determinato exploit.

Avviamo msfconsolle e selezioniamo l’exploit da utilizzare, in questo caso specifico il seguente (multi/handler):

Premiamo il tasto “invio” e scegliamo il payload:

Fatto ciò dobbiamo inserire tutti i parametri necessari al funzionamento della nostra configurazione.

Digitiamo il comando “show options” e osserviamo le informazioni richieste, ovvero dove il campo “Required” è su “Yes”.

Per cui, impostiamo LHOST e LPORT:

  • digita “set LPORT 192.168.1.133” ovvero l’indirizzo IP di noi stessi, della macchina attaccante.
  • digita “set LPORT 8080” ovvero la porta che abbiamo selezionato in precedenza in msfvenon.

Per avviare il tutto digitiamo il comando “EXPLOIT”. Siamo adesso pronti a ricevere la connessione dalla macchina vittima. Ora attendiamo che quest’ultima si connetta.

COMPROMISSIONE DELL’HOST

Simuliamo adesso l’utente che scarica ed esegue il file malevolo ospitato sul nostro web server. Digitiamo quindi nel browser della macchina vittima il seguente URL:

Scarichiamo il file localmente ed eseguiamolo.

A questo punto, se torniamo sulla macchina Kali e su Metasploit, vediamo che una connessione è stata effettuata:

Iniziamo l’interazione con la macchina vittima. Con il comando “sessions -l” vediamo quali sono le connessioni attive e l’ID, poi con il comando “session -i ID” accediamo su quella di nostro interesse. In questo caso la connessione con ID 1, l’unica attiva:

E’ come se ci trovassimo su una finestra DOS della macchina vittima e possiamo effettuare qualsiasi operazione.

La compromissione dell’host è avvenuta con successo.

Aggiungi un commento

Articoli recenti

Categorie