VULNERABILITY ASSESSMENT E PENETRATION TESTING (VAPT)
Anno accademico 2021/2022 - 2° anno - Curriculum Sistemi di Rete e SicurezzaCrediti: 6
Organizzazione didattica: 150 ore d'impegno totale, 102 di studio individuale, 24 di lezione frontale, 24 di esercitazione
Semestre: 1°
Obiettivi formativi
- Conoscenza e capacità di comprensione (knowledge and understanding). Lo studente acquisisce conoscenza critica relativamente alle attività di vulnerability assessment e penetration testing.
- Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Lo studente acquisisce capacità pratica di costruire un laboratorio virtuale per condurre esperimenti di vulnerability assessment e penetration testing. Diventa altresì capace di condurre indipendentemente sessioni attive dell'attività di vulnerability assessment e penetration testing.
- Autonomia di giudizio (making judgements). Lo studente diventa un valutatore della robustezza agli attacchi di un dato sistema informatico target sulla base dello sfruttamento di strumenti opportuni e di vulnerabilità note.
- Abilità comunicative (communication skills). Lo studente familiarizza con i concetti tipici del vulnerability assessment e penetration testing acquisendo la capacità di trasmettere le risultanze di una sessione di detta attività sia in forma orale che in forma scritta.
- Capacità di apprendimento (learning skills). Lo studente acquisisce la mentalità critica e le capacità metodologiche per affrontare e condurre sessioni di vulnerability assessment e penetration testing.
Modalità di svolgimento dell'insegnamento
Le lezioni sono in forma orale, e vengono completate con numerose applicazioni pratiche in classe. L'esame finale consiste in un progetto pratico-applicativo individuale insieme al tradizionale colloquio orale.
Prerequisiti richiesti
Nessuno.
Frequenza lezioni
Fortemente consigliata per via del carattere sperimentale ed interattivo. Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
Contenuti del corso
-
Prerequisiti e real-world outlook. Requisiti giuridici alla base dell’attività di VAPT. Differenze tra VA e PT. Testing in the wild vs Attività contrattualizzata vs Bug Bounty Program. Esempio di contratto di VAPT, e di policy per Bug Bounty Program.
-
Fasi: Information Gathering, Threat Modeling, Vulnerability Analysis, Exploitation, Post-Exploitation, Reporting.
-
Tipologie: Differenze tra classico PT e Red Team vs Blue Team (cyber exercise). Blue Team aware vs Blue Team not aware.
-
Metodologie. PTES Technical Guidelines. Metodologia OWASP. OSSTMM. ISSAF. NISTSP800-115
-
Kali Linux. Impostazione ambiente per VAPT.
-
Information Gathering. OSINT: data centers, offices, partners, individuals, emails, domain names, on-location gathering.
-
Threat Modeling- Security boundaries.
-
Vulnerability assessment. Utilizzo di diversi tool, testing attivo (OpenVAS, Nessus) e passivo (Wireshark, tcpdump). Licenze free o a pagamento.
-
Exploitation Bypass AV/Firewall. Automatizzata: Metasploit, tool per fuzzing (wfuzz). Manuale: Reverse shell, Buffer Overflow, SQLi, XSS, CSRF, SSRF, RCE, Path Traversal, Code/Template Injection. Modifica di exploit esistenti. Social Engineering. Privilege escalation. Audio/video capture, data exfiltration. Evasion techniques.
-
Post-exploitation. Lateral movement. Uninstalling software. Remote system access. Deleting logs. Obtaining/extracting and cracking password hashes.
-
Reporting. Impostazione del report di massima (technical report e executive report). Score/gravità vulnerabilità trovate. Analisi dei rischi. Suggerimento mitigation.
-
Capture The Flag
Testi di riferimento
-
David Basin, Patrick Schaller, Michael Schläpfer "Applied Information Security", 2011, Springer
-
Peter Kim “The Hacker Playbook 3, Practical Guide to Penetration Testing”, 2018, Secure Planet LLC
Programmazione del corso
Argomenti | Riferimenti testi | |
---|---|---|
1 | Crittografia visuale e sue applicazioni | |
2 | Sicurezza delle smartcard | |
3 | Sicurezza su LAN: Kerberos V | |
4 | Non ripudio: protocollo Zhou-Gollmann | |
5 | Non ripudio: protocollo Crispo | |
6 | Non ripudio: protocollo Abadi et al. | |
7 | Analisi di protocolli: model checking | |
8 | Analisi di protocolli: theorem proving | |
9 | Normative sulla sicurezza: il Codice Privacy e la GDPR | |
10 | Penetration testing: concetti di base |
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Progetto implementativo e colloquio orale.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Esempi di domande e/o esercizi frequenti
Configurazione di Kerberos ed accesso a risorsa kerberizzata. Analisi del codice di un exploit.