Summary of “Measuring Security Practices and How They Impact Security”
Le fasi di un Penetration testing
1. Le fasi di un penetration
test
Alessandra Zullo
Sicurezza Informatica
www.alessandrazullo.it
Maggio 2016
Alessandra Zullo Le fasi di un pentest 1/18
2. Introduzione - Cos’è il penetration
test?
Con il termine penetration testing (detto anche pentest) si
intende l’insieme di tecniche atte a simulare attacchi alla
sicurezza di un sistema per valutarne i rischi e le vulnerabilità.
Alessandra Zullo Le fasi di un pentest 2/18
3. Introduzione - Chi esegue il pentest?
Il pentest è eseguito da un ethical hacker, una figura
professionale esperta in sicurezza che sfrutta le conoscenze e
tecnologie tipiche di un hacker, finalizzate alla protezione di
un sistema e non al suo danneggiamento.
Esso durante il pentest scopre le vulnerabilità del sistema e
cerca di sfruttarle al fine di compredere le informazioni che
eventualmente possono essere acquisite da un attaccante.
Alessandra Zullo Le fasi di un pentest 3/18
4. Introduzione - Tipologie
Un penetration test è suddiviso in due tipologie:
1 Interno in cui si simula un impiegato1 che attacca
all’interno del perimetro del sistema(insider attack);
2 Esterno in cui si simula un attacco effettuato solitamente
tramite Internet.
1
Impiegato dell’azienda che ha commissionato il test
Alessandra Zullo Le fasi di un pentest 4/18
5. Le fasi del test
Le fasi di un pentest sono le seguenti:
• Pre-Engagement
• Information Gathering
• Threat Modeling
• Analisi delle vulnerabilità
• Exploitation
• Post Exploitation
• Reporting
Alessandra Zullo Le fasi di un pentest 5/18
6. Pre-Engagement (1)
In tale fase l’ethical hacker ha un colloquio con il cliente che gli
ha commissionato il pentest; durante tale colloquio esso deve
acquisire informazioni su ciò che il cliente vuole ottenere dal
test.
Le informazioni da raccogliere sono ad esempio il numero di
pentest effettuati in precedenza, i technical report dei test fatti
in passato; genericamente bisogna capire cosa ha spinto il
cliente a richiedere un pentest!
Alessandra Zullo Le fasi di un pentest 6/18
7. Pre-Engagement (2)
Possiamo racchiudere le informazioni da raccogliere nelle
seguenti categorie:
• Scope(contesto): Quali sono gli indirizzi IP accessibili e
non accessibili, quali sono le operazioni che possono
essere eseguite, è possibile usare exploit, è possibile che
un servizio subisca un crash o bisogna limitarsi a trovare le
vulnerabilità, è possibile attuare un attacco di social
engineering?
• Testing Window(Finestra di esecuzione): il cliente può
indicare i giorni, l’orario o il periodo adatto per l’esecuzione
del test;
• Contact Information(Informazioni di Contatto): chi deve
essere contattato nel caso in cui si scopre una vulnerabilità
pericolosa, l’orario di disponibilità di tale soggetto, il cliente
preferisce che le email siano cifrate?
Alessandra Zullo Le fasi di un pentest 7/18
8. Pre-Engagement (3)
• Get Out of Jail Free Card(Autorizzazione): prima
dell’esecuzione di un qualsiasi pentest bisogna essere
sicuri di disporre di tutte le autorizzazioni necessarie per
l’esecuzione legale del test, bisogna quindi ottenere in
maniera formale l’approvazione all’esecuzione del test dal
cliente o da una terza parte. Infine bisogna ottenere la
dichiarazione dei limiti di responsabilità nel caso in cui
accada qualcosa di inaspettato;
• Termini di pagamento: quando sarà effettuato il
pagamento?
• Accordo di non divulgazione: Bisogna firmare un
accordo di non divulgazione delle informazioni ottenute
durante il pentest.
Alessandra Zullo Le fasi di un pentest 8/18
9. Information Gathering
Questa fase ha l’obiettivo di raccogliere quante più
informazioni possibili al fine di ricavarne dati preziosi da poter
sfruttare durante il corso del test.
Si comincia con il ricavare l’indirizzo IP e il WhoIs
dell’infrastruttura in modo da ottenere dati come serverMail
utilizzato, contatti di posta elettronica, numeri telefonici e tutte
quelle informazioni utili per l’esecuzione di un attacco di social
engineering.
Alcuni strumenti utilizzati durante tale fase sono gli scanner di
porta (portScanner) che permettono di individuare le porte
aperte o i servizi di rete disponibili.
Alessandra Zullo Le fasi di un pentest 9/18
10. Threat Modeling - Modello delle
minacce
Grazie alle informazioni ricavate durante la fase precedente è
possibile sviluppare dei piani di attacco. . .
. . . quindi si creano delle strategie di penetrazione del sistema.
Alessandra Zullo Le fasi di un pentest 10/18
11. Analisi delle Vulnerabilità
In questa fase comincia la parte pratica del pentest cioè si
analizzano le vulnerabilità del sistema utilizzando appositi
tools come OpenVAS o Nessus.
Alessandra Zullo Le fasi di un pentest 11/18
12. Exploitation
Dopo aver scoperto quali sono le vulnerabilità del sistema è
possibile sfruttarle cercando innanzitutto di accedere al sistema
del client.
Uno dei principali tools utilizzati in tale fase è Metasploit.
Tenere presente che vi sono delle vulnerabilità del sistema
molto semplici da sfruttare, ad esempio la maggior parte dei
sistemi sono configurati per l’accesso con password di default.
Alessandra Zullo Le fasi di un pentest 12/18
13. Post-Exploitation
Tale fase segue l’exploitation, e consiste nella raccolta delle
informazioni ottenute nella fase precedente, quindi si
comprendono i privilegi sono ottenuti, quali operazioni sono
consentite con tali privilegi, quali file sono stati compromessi o
che password sono state ricavate o trovate.
Alessandra Zullo Le fasi di un pentest 13/18
14. Reporting (1)
La fase finale di un pentest è il reporting, durante la quale si
forniscono al cliente i risultati ottenuti.
E’ in tale fase che è possibile sottolineare gli aspetti del sistema
considerati sicuri e quelli per cui vi è il bisogno di migliorare la
sicurezza.
Tale fase prevede un documento finale (detto report) in cui
sono trascritti i risultati ottenuti e le relative modifiche da
apportare al sistema per risolvere eventuali problemi.
Alessandra Zullo Le fasi di un pentest 14/18
15. Reporting (2) - Executive Summary
Il report può essere di due tipologie:
1) Executive Summary in cui sono descritti gli obiettivi del test
e i risultati ottenuti; deve includere:
• Background: una descrizione dello scopo del test e la
definzione dei termini che possono non essere familiari
come vulnerabilità o contromisure;
• Profilo dei rishi: un insieme di termini di paragone dei
rischi e della sicurezza dell’azienda specifica con altre
aziende che posseggono misure di sicurezza idonee;
• Overall posture: una overview sull’efficacia del test, sui
problemi trovati e i problemi generali che provocano
determinate vulnerabilità;
Alessandra Zullo Le fasi di un pentest 15/18
16. Reporting (3) - Executive Summary
• Risultati generali: una sintesi dei problemi individuati con
le eventuali contromisure da adottare;
• Recommendation summary: una overview ad alto livello
di tutte le attività richieste per rimediare ai problemi trovati;
• Strategic road Map: un insieme di regole da seguire per
raggiungere un certo livello di sicurezza.
NB: Tale report di solito è letto dai manager delle aziende e
non da personale tecnico e specializzato in sicurezza.
Alessandra Zullo Le fasi di un pentest 16/18
17. Reporting (4) - Technical Report
2) Report Tecnico in cui bisogna fornire tutti i dettagli tecnici
del pentest, deve includere:
• Introduzione: lista di obiettivi, contesto, contatti e altre
informazioni sull’azienda;
• Information Gathering: insieme di dettagli tecnici ottenuti
durante la fase di raccolta delle informazioni, in particolare
è possibile definire l’Internet Footprinting dell’azienda;
• Analisi delle vulnerabilità: dettagli delle vulnerabilità
trovate;
• Exploitation e Vulnerabilità verification: dettagli delle
fase di exploitation;
• Risk : una descrizione quantitativa dei rischi trovati, in
particolare bisogna dare una stima sulle perdite
dell’azienda nel caso in cui le vulnerabilità trovate
venissero sfruttate da un hacker;
• Conclusioni: un insieme di conclusioni sul test effettuato.
Alessandra Zullo Le fasi di un pentest 17/18
18. Riferimenti
• Penetration Testing di Georgia Weidman
ISBN-13: 978-1-59327-564-8
• OverSecurity.net di Andrea Draghetti
• Inforge.com
Altre info su: http://alessandrazullo.it
Alessandra Zullo Le fasi di un pentest 18/18