Il test del sito consente di trovare vulnerabilità e bug che possono essere sfruttati dagli aggressori. Se siete amministratori di un sito, vi consigliamo di aggiungere i test di penetrazione al vostro elenco di strumenti e di cercare regolarmente le vulnerabilità per garantire che i vostri siti siano completamente sicuri. I problemi scoperti vi aiuteranno a correggere i punti deboli.
I test di sicurezza coinvolgono molti strumenti e attività diverse. In questo articolo, tratteremo gli aspetti di base della ricerca di vulnerabilità in un sito web. Con l'aiuto di queste istruzioni, sarete in grado di mantenere le vostre risorse al sicuro.
I test di penetrazione e la ricerca di vulnerabilità in un sito web comportano diverse azioni. Non è sufficiente eseguire uno strumento e testare il sito, è necessario un approccio corretto che vi aiuti a raccogliere quante più informazioni possibili sulla sicurezza del vostro sistema.
Le fasi principali sono:
Vediamo quindi cosa si deve fare in ciascuna delle fasi e quali strumenti si devono utilizzare per farlo. È meglio non installare tutti questi programmi separatamente, ma utilizzare un ambiente già pronto per i test di penetrazione: Kali Linux. Si tratta di una distribuzione Linux appositamente preparata che contiene già tutti i programmi necessari. In questo modo non dovrete installare nulla. È possibile eseguire il sistema da una chiavetta o installare Kali Linux sul disco rigido.
Per scoprire quali informazioni gli altri possono scoprire sul vostro sistema, dovete utilizzare diversi strumenti:
nmap
è uno dei più popolari strumenti di scansione della rete. È possibile utilizzarlo per vedere quali servizi sono in esecuzione sul server di un sito web, quali porte stanno utilizzando, le versioni delle porte e persino la versione del sistema operativo. Per vedere le porte aperte sul vostro computer, eseguite questo comando nel terminale di Kali Linux:
$ nmap -sS 192.168.91.249
192.168.91.249
è l'indirizzo IP della risorsa. Questo comando mostra le porte aperte e i nomi dei servizi. È possibile ottenere informazioni più dettagliate, ad esempio è possibile raccogliere molte informazioni sul sistema già a questo punto. Ad esempio, qui si può vedere che la macchina sta eseguendo un server SSH, un server web, i servizi di condivisione file Samba e un server proxy sulla porta 3128. Tutti questi potrebbero essere potenzialmente vulnerabili.
Lo scanner Nmap consente di scavare più a fondo, con una scansione più intensiva. A tale scopo, utilizzate l'opzione -A:
$ nmap -A 192.168.91.62
In questo caso si vedranno già molte più informazioni, come le versioni dei servizi, l'ora del sistema, il sistema di gestione dei contenuti e persino la versione del sistema operativo. Inoltre, se vengono rilevate semplici vulnerabilità, come una password FTP debole, lo saprete anche voi. Per ulteriori informazioni su come utilizzare Nmap, consultare un articolo separato. È opportuno utilizzare anche altre fonti di informazione disponibili. È importante capire quali informazioni sono disponibili sulla rete e se un aggressore può ottenere informazioni a cui non dovrebbe avere accesso.
Ecco alcuni servizi:
Il fuzzing è spesso usato per la scansione. L'idea alla base del fuzzing è quella di inviare una grande quantità di dati casuali al sito per cercare di trovare le vulnerabilità. I vari strumenti che vedremo di seguito simulano attacchi per testare la vulnerabilità di un'applicazione.
Il fuzzing delle applicazioni può identificare le vulnerabilità, ma per ottenere i migliori risultati è opportuno capire come funzionano queste applicazioni e qual è il bug. Se si ha accesso al codice sorgente del progetto, è possibile utilizzare il fuzzing e l'analisi manuale in parallelo per trovare i problemi con maggiore precisione. Gli attacchi di fuzzing sono molto rumorosi perché richiedono la trasmissione di molti dati. Un sistema di protezione dalle intrusioni li noterà, bisogna fare attenzione. Diamo poi un'occhiata agli strumenti che si possono utilizzare.
WPScan è un progetto open source scritto in Ruby appositamente per la scansione di WordPress. È molto facile da usare e può essere utile per i siti che utilizzano molti plugin o non sono aggiornati. L'utility non necessita di codice sorgente ed esegue le scansioni in remoto.
Nikto è uno scanner di vulnerabilità per siti web. Funziona molto più a lungo di WPSan, ma è progettato non solo per WordPress. Include molti plugin ed esegue molte query durante la scansione. Ad esempio, il software è in grado di trovare un file che fornisce informazioni su phpinfo. Ma Nikto genera molti falsi positivi, quindi è necessario analizzare attentamente l'output.
Burp Suite è un programma molto potente per trovare vulnerabilità in un sito web o in applicazioni web. Questo strumento funziona solo attraverso un browser web. Lo strumento consente di controllare tutti i moduli presenti sul sito web, di verificare l'invio di diverse intestazioni, di vedere le risposte e le richieste del browser, di eseguire la scansione attiva degli URL, di eseguire l'analisi statica del codice javascript e di cercare le vulnerabilità XSS sul sito web. È un ottimo strumento, ma può sembrare complicato.
SQLMap è un programma per trovare le vulnerabilità sql di un sito web. È possibile trovare tutti i possibili punti in cui è possibile effettuare iniezioni SQL. Ad esempio, se si ipotizza che ci possa essere un'iniezione sql nel parametro id, utilizzare questo comando
$ sqlmap -u http://example.com/?id=1 -p id
Il programma eseguirà un test su diversi tipi di database, in modo che possiate specificare solo quello giusto:
$ sqlmap --dbms=MySQL -u http://example.com/?id=1 -p id
Questi comandi consentono di testare i campi, specificare diversi parametri come database, tabelle o password.
L'exploit completa la ricerca delle vulnerabilità su un sito e prevede lo sfruttamento delle vulnerabilità per ottenere l'accesso a un sistema o ai dati. In generale, se siete riusciti a trovare le falle nella vostra sicurezza e a chiuderle, non avete bisogno di fare altro. Ma a volte è necessario dimostrare che il problema è davvero serio.
Si consiglia di non utilizzare lo sfruttamento delle vulnerabilità sui sistemi di produzione, perché può causare problemi. È meglio creare una macchina virtuale e mostrare già in essa tutto ciò che serve. Ecco alcuni strumenti che si possono utilizzare:
Metasploit è un intero ambiente di penetration testing che contiene molti exploit già pronti. È possibile trovare exploit per i plugin installati o per i servizi scoperti nella prima fase. Vedremo più da vicino come utilizzare Metasploit in un prossimo articolo.
Questa è la fase finale della ricerca delle vulnerabilità. Sulla base di tutto ciò che è stato trovato, è necessario trarre conclusioni e chiudere tutte le falle. Quando si hanno tutti i dati sulle vulnerabilità. Date priorità e correggete tutto ciò che avete trovato. Se siete stati in grado di trovare queste vulnerabilità, allora chiunque altro può trovarle.
In questo articolo abbiamo fatto un corso accelerato sulla ricerca delle vulnerabilità dei siti web e abbiamo esaminato i principali software per la ricerca delle vulnerabilità dei siti web che potete utilizzare per mantenere la vostra risorsa o infrastruttura il più sicura possibile. Molti di questi strumenti sono standard del settore. Ora potete pensare alla vostra strategia di test e cercare di eliminare tutte le vulnerabilità.
Apply the discount by inserting the promo code in the special field at checkout: