Vedi anche: 7 tools per pentesting su Ubuntu, come installarli

La SQL Injection è una pratica molto diffusa tra gli hackers, quasi tutti i siti che vengono gestiti da database SQL sono vulnerabili alla SQL Injection (o Query Injection), viene riconosciuta dai link che terminano con *.php?id=1(l’1 può cambiare) dove “id” è la variabile vulnerabile, ma attenzione, non tutte sono vulnerabili. Per spiegare meglio cos’è l’SQL injection dovremmo stare qui a parlare per un pochino, quindi sorvoliamo e passiamo a SQLMap

Avviamo un terminale in modalità root attraverso il comando

Il canale Telegram di InTheBit con le migliori offerte techle migliori offerte tech

sudo -s

poi navighiamo nella cartella dove è situato SQLMap attraverso la funzione

cd

e digitiamo

./sqlmap.py

per aprire SQLMap

Questa è la struttura (Sintassi) di SQLMap:

./sqlmap.py  (-u sta per URL) <<www.sito.it/*.php?id=*>>   (per mostrare a schermo)

prenderò come sito target un sito un po’ datato (che offuschiamo per ovvi motivi):  http://www.p*****b.com/s*********e.php?id=1
(dovrebbe essere vulnerabile)

quindi come prima fase eseguiamo il fingerprint del sito attraverso la funzione -u

quindi eseguiamo questo comando:

./sqlmap.py -u http://www.p*****b.com/s*********e.php?id=1
Fingerprinting in corso… “Il parametro “id=1″ dovrebbe essere vulnerabile”
Esito positivo: parametro id=1 vulnerabile, database utilizzato: MySQL Payload = id=1

Adesso che sappiamo (quasi) tutto su questo sito, dobbiamo sapere i nomi dei database, quindi utilizzeremo questo comando:

./sqlmap.py -u http://www.p*****b.com/s*********e.php?id=1 --dbs

(–dbs sta per databases)

una volta ottenuti i nomi dei database, ne selezioneremo uno attraverso l’opzione -D quindi eseguiremo in ordine questi 2 comandi:

./sqlmap.py -u http://www.p*****b.com/s********e.php?id=1 -D p*****b
./sqlmap.py -u http://www.p*****b.com/s*********e.php?id=1 -D p*****b --tables --columns --threads 10 --dump

Spieghiamo cosa facciamo con i due comandi:
-Con il primo chiediamo a SQLMap di analizzare il database
-Con il secondo chiediamo a SQLMap di stamparci a schermo tutto il contenuto del database (tabelle, colonne), di impostare 10 threads per una ricerca più rapida.
(Guarda foto)

Una volta terminata la scansione, trovate le password ci chiederà di craccare proprio quest’ultime, perchè purtroppo le password sono criptate attraverso MD5, quindi premiamo “y” per confermare l’operazione e definiamo il dizionario che vogliamo usare, io ho usato quello classico di SQLMap, premendo “1”, poi ci chiedera se vogliamo usare dei suffissi, ora non ci soffermiamo sui suffissi, noi premiamo “N” ed ecco che la procedura di cracking inizierà. Se non riesce a craccare le password ce le scrive in una tabella(le password sono criptate)  con i nomi degli ADMIN del sito, che dovremo decriptare da soli con programmi come hashcat

sql5

Ecco la procedura di cracking:

sql6

Altre password trovate, come vedete sono scritte in formato MD5, cioè criptate e ci chiede ancora una volta di decriptarle.

Questi sono dei dati che ha estrapolato ma non sò di preciso cosa sono…

Una volta ottenute le password decriptate dobbiamo solo cercare il pannello di controllo ADMIN del sito

Con SQLMap non possiamo solamente trovare le password, possiamo anche estrapolare dati sensibili come EMails, o addirittura numeri di telefono, indirizzi IP e altro (come possiamo vedere in foto)

possiamo estrapolare dati di questo tipo, chiedendo a SQLMap di mostrarci solamente le tabelle che a loro volta contengono le colonne contenenti i dati, quindi gli dobbiamo dare il seguente comando per vedere tutte le tabelle disponibili

./sqlmap.py -u http://www.p*****b.com/s*********e.php?id=1 -D p*****b --tables --dump

Questo comando invece serve a selezionare una determinata tabella e la colonna (il contenuto della colonna sinistra per intenderci), dobbiamo individuare tabelle come “wp_users” o “user_data” o altro, e colonne come “emails” “phone_number” “ip” “last_ip” ecc…
Tutto questo si svolge con il comando:

./sqlmap.py -u http://www.p*****b.com/s*********e.php?id=1 -D p*****b -T (nome della tabella scelta) -C (nome della colonna scelta all'interno della tabella (la colonna sinistra)) --threads 10 --dump

Spero che questa guida vi sia piaciuta!

Attenzione, le informazioni presenti in questa guida potrebbero essere usate per scopi illegali, la redazione di InTheBit non si assume alcuna responsabilità. Testate il tutto su di un sito di vostra proprietà per valutarne la sicurezza, in caso contrario potreste incorrere in problematiche legali anche gravi.