Tipologie di Vulnerabilità PARTE I
Tipologie di Vulnerabilità
OWASP Nell ambito WEB, per questo corso, prenderemo come riferimento OWASP ( Open Web Application Security Project ). Abbiamo visto nel modulo precedente di cosa si occupa. L Ethical Hacker ( come ogni figura professionale che si rispetti ), deve essere continuamente aggiornato, e organizzazioni come OWASP sono un ottimo punto di riferimento. Visitare il sito è un ottima partenza, ma tramite il seguente LINK scarichiamo le OWASP TOP TEN e vediamo cosa sono: https://www.owasp.org/index.php/category:owasp_top_ Ten_Project OWASP è quindi un grande portale dove possiamo trovare un dizionario delle vulnerabilità ( in ambito web ) più comuni e quindi ottimo come riferimento per avere una checklist nei nostri test.
OWASP È utilissima anche per scaricare gratuitamente software open source di varia fattura e non solo OWASP ci dice anche come effettuare i test, ovvero la metodologia più consona e completa. NOTA BENE che va considerata una guida, un manuale, un metodo e un punto di riferimento, ma non sostituisce il nostro lavoro ne tanto meno le conoscenze che dobbiamo apprendere per poter effettuare i test e applicare le metodiche. In OWASP troviamo metodiche e programmi liberi provenienti dal web ma catalogate secondo un importanza e un ordine ben specifico. TOP TEN: le top ten sono una classifica delle vulnerabilità con maggior impatto, rischio e sicuramente più popolari nel mondo applicativo.
OWASP: Top ten Una volta scaricato il documento potrete notare nelle prime pagine un elenco PRIMA e DOPO ovvero le modifiche apportate dal precedente documento. Questo ci fa capire come sia importante l aggiornamento personale e la ricerca in tale ambito.
OWASP Application Security Risks Il percorso del rischio, quindi le possibili implicanze ed impatti
OWASP Come potrete notare nel documento, in ogni categoria ( A1, A2, ecc. fino ad arrivare alla 10 ) vengono spiegati nel dettaglio tutti i dati relativi alla vulnerabilità. Il rischio ( in tutte le categorie ) è così classificato:
OWASP: Simulazione di uno scenario Testing SQL Injection
OWASP: Simulazione di uno scenario Nella precedente immagine avete visto una LOGIN FORM, quindi la possibilità di inserire dei dati ( solitamente username e password ) all interno di uno o più campi. La prima cosa da fare sarà quindi testare la possibilità di inserire delle QUERY ovvero delle richieste particolari. Andando step per step prima di tutto cerchiamo OWASP cosa ci dice sui test di questo tipo ( che fanno parte della categoria A1 = Injection ). Facendo una semplice ricerca con google: OWASP SQL INJECTION il primo risultato utile ci porterà su: https://www.owasp.org/index.php/sql_injection
OWASP: Simulazione di uno scenario Inutile dire che è fondamentale prima conoscere e capire bene il significato e il funzionamento di ogni vulnerabilità, altrimenti sarebbe come cercare di costruire una macchina senza conoscere i pezzi che la compongono. Il precedente link ci da quindi una panoramica sul tipo di vulnerabilità. Badate bene che di SQL Injection ce ne sono di vario tipo, sarà quindi fondamentale studiare e capire il funzionamento di ognuna. Ora è il momento di testare la login form. Come detto precedentemente OWASP ci da una metodica anche in questo: Torniamo su google e cerchiamo: owasp test sql injection. Sempre nel primo risultato troviamo: https://www.owasp.org/index.php/testing_for_sql_injection_( OTG-INPVAL-005)
OWASP: Simulazione di uno scenario A metà della pagina troverete il titolo How to test. Se leggete il documento troverete poi un riscontro con l immagine precedente, ovvero: http://sqlzoo.net/hack/
OWASP: Simulazione di uno scenario Per questo tipo di SQL INJECTION, seguendo la guida OWASP, potrete fare delle prove sul sito: http://sqlzoo.net/hack/ IMPORTANTE: Questo sito autorizza a fare questo tipo di attacco e quindi potete utilizzarlo per scopi didattici, ma non ripetete gli stessi test su siti dove non avete autorizzazione, è illegale. Il web ci offre molti modi per testare le applicazioni in tutta legalità, parole chiavi come : free vulnerable machines, vi daranno sicuramente modo di trovare quello che fa al caso vostro. Installate sul vostro computer un paio di macchine virtuali, una con windows e una con linux ( ad esempio ubuntu o quello che volete ), con un po di pazienza riuscirete sicuramente a configurare la vostra macchina vulnerabile.
OWASP: Simulazione di uno scenario Spero che la vostra curiosità e voglia di imparare vi abbia spinto a leggere il documento sulle SQL INJECTION, ma ecco un piccolo riassunto, prendendo come esempio lo scenario su cui stavamo lavorando. Il valore 'OR''= che va inserito ( in questo caso ) sia nel nome utente che nella password, corrisponde ad una query che associa il primo nome nella tabella del database. Immaginate la seguente figura in cui viene mostrata una tabella ( ad esempio di un database )
OWASP: Simulazione di uno scenario
OWASP: Simulazione di uno scenario Nel primo risultato, immaginate che al posto di any che indica chiunque ci sia un nome ben preciso, ad esempio Jake. Se il form è vulnerabile alla SQL INJECTION, voi entrerete con quell utenza poiché state sfruttando quella determinata posizione.
OWASP: fine prima parte Questa unità ha mostrato perché OWASP è divenuto un metodo internazionale per i test applicativi. Abbiamo visto com è strutturato e come può esserci utile, facendo un esempio con un tipo di vulnerabilità ( A1 Injection ). Chiaramente ora starà a voi approfondire l argomento sfruttando il grande potenziale di materiali che internet ci mette a disposizione. Pazienza e tempo vi aiuteranno a testare ( in maniera legale utilizzando macchine virtuali e / o appositi siti didattici ) quanti più tipi di vulnerabilità. Ricordatevi di rimanere sempre aggiornati poiché sia OWASP che tutto il mondo della cybersecurity, effettua continui cambi e aggiornamenti.