VULNERABILITY ASSESSMENT E PENETRATION TESTING (VAPT)

Anno accademico 2021/2022 - 2° anno - Curriculum Sistemi di Rete e Sicurezza
Docente: Giampaolo BELLA
Crediti: 6
SSD: INF/01 - Informatica
Organizzazione didattica: 150 ore d'impegno totale, 102 di studio individuale, 24 di lezione frontale, 24 di esercitazione
Semestre:

Obiettivi formativi

  1. Conoscenza e capacità di comprensione (knowledge and understanding). Lo studente acquisisce conoscenza critica relativamente alle attività di vulnerability assessment e penetration testing.
  2. 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.
  3. 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.
  4. 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.
  5. 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

 ArgomentiRiferimenti testi
1Crittografia visuale e sue applicazioni 
2Sicurezza delle smartcard 
3Sicurezza su LAN: Kerberos V 
4Non ripudio: protocollo Zhou-Gollmann 
5Non ripudio: protocollo Crispo 
6Non ripudio: protocollo Abadi et al. 
7Analisi di protocolli: model checking 
8Analisi di protocolli: theorem proving 
9Normative sulla sicurezza: il Codice Privacy e la GDPR 
10Penetration 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.