[PenTestStudy] Vuln. scan
2023-10-6 18:1:40 Author: roccosicilia.com(查看原文) 阅读量:11 收藏

Abbastanza ovvio come passaggio: nel momento in cui la vulnerabilità software rappresenta uno degli elementi da sfruttare per guadagnare un accesso sul sistema target diventa indispensabile, raccolte le informazioni sul sistema, individuare le falle.

Il funzionamento di base del processo è molto semplice. Tramite un sistema di scansione vengono identificati i software che girano in corrispondenza di un servizio esposto e ne viene riconosciuta la versione. Il risultato della scansione viene compataro con il contenuto dei Database delle vulnerabilità note ed in presenza di un match viene restituita l’informazione relativa al servizio che presenta la vulnerabilità.

I prodotti commerciali solitamente eseguono un controllo aggiuntivo: tramite specifiche richieste appurano l’effettiva presenza della vulnerabilità non basandosi quindi sulla sola informazione rilevata in merito al software ed alla versione. Questa funzionalità consente di ottenere un livello di precisione maggiore nella scansioni delle vulnerabilità riducendo i falsi positivi. Non è raro che una vulnerabilità sia sfruttabile sono in presenza di determinate condizioni, ad esempio con specifiche configurazioni.

Solitamente si identificano due tipologie di vuln. scan: interni/esterni e autenticati/non autenticati che di seguito descrivo. Interni/esterni: dipende dal punto di “osservazione” del sistema che esegue la scansione, se esterno il target è solitamente una o più reti pubbliche ed accessibili da internet, se interno il target è una o più reti privare dell’organizzazione. Autenticato/non autenticato: il concetto è chiaro e il risultato è molto diverso in quanto senza una credenziale usabile lo scan si limiterà ad analizzare i servizi esposti, con una credenziale valida sarà invece possibile accedere al sistema operativo ed eseguire verifiche approfondite anche dall’interno potento individuare vulnerabilità anche su quelle componenti software che non espongono un servizio in rete.

Alcusi software commerciali mettono a disposizione un agent per eseguire scansioni in modalità autenticata potendo contare su una componente software a bordo del sistema target. In questo caso si ha il vantaggio di avere una componente a bordo macchica che userà almeno in parte risorse locali, riducendo l’impegno del sistema centrallizatto che spesso viene erogato as-a-service.

Tools

Moltissime certificazioni si limitano a citare due tools per questa attivita’, entrambi molto conosciuti: Nmap e Nessus (oggi Tenable).

Il processo di scansione e’ indipendente dal software utilizzato e si base principalmente sulla necessita’ di (1) individuare gli host attivi, (2) individuare le porte su cui gli host rispondono, (3) identificare sistemi operativi e servizi con relative versioni, (4) incrociare i dati con i database delle vulnerabilita’.

Come detto ad inizio post spesso i prodotti commerciali implementano comportamenti aggiuntivi per rendere piu’ precisa la scansione. Ad onor del vero questo e’ possibile anche con nmap ed i suoi scripts (NSE). Va considerato che eseguire test delle vulnerabilita’ con p-o-c o con porzioni di exploit potrebbe dar fastidio al sistema target. Solitamente queste azioni devono essere concordate con chi ha la responsabilita’ di gestire i sistemi al fine di individuare delle finestre di manutenzione idonee.

In relazione ai prodotti Tenable direi che la documentazione a disposizione e’ ampia ed i prodotti sono anche relativamente semplici da utilizzare. Penso non abbia senso discuterli in questo post, eventualmente ne faccio cenno nel video di recap. Ha senso spendere due parole in piu’ su Nmap Scripting Engine.

Oltre agli script presenti di default nell’applicazione e’ possibile installarne di ulteriori cercando, ad esempio, per CVE o per applicazione. Se si conosce lua o si ha voglia di impararne i concetti base e’ ovviamente possibile creare scripts custom. Riporto un piccolo esempio fatto per giocare con questa funzionalita’ anche se, come scrivevo anche su LinkedIn qualche giorno fa, a mio parere e’ molto piu’ comodo utilizzare la libreria nmap-python per questo genere di attivita’:

Esempio di NSE

Nota sui tools commerciali e non: a prescindere da quello che sceglierete considerate la disponibilita’ di API per integrazioni con terze parti. Nel contesto delle scansioni delle vuln. parte dell’output dovra’ essere esportato ed analizzato: le API posso aiutarvi a generare degli archivi dati che potrete poi struttare per migliorare il report, valutare strategie di remediation, implementare automatismi.

Questo aspetto e’ fondamentale sia per chi opera in un contesto di assessment (scope della certificazione) sia per chi lavora in un contesto di Vulnerability Management. Di fatto molti software commerciali integrano funzionalita’ di gestione del processo di individuazione ed analisi delle vulnerabilita’, processo fondamentale per mantenere una postura di sicurezza adeguata all’interno dell’organizzazione.

Contenuti extra

Su Patreon e’ disponibile un post di approfondimento sullo script in lua mentre nel VLOG di oggi ho raccontato un piccolo aneddoto proprio sull’esecuzione dello script.


文章来源: https://roccosicilia.com/2023/10/04/penteststudy-vuln-scan/
如有侵权请联系:admin#unsafe.sh