Top Banner
Dr. Lentini Salvatore Seminario sulla Sicurezza Informatica “Simulazione di un Penetration Test” IIS G.B.Vaccarini Catania 10/11/2016
55

Simulazione di un Penetration Test

Feb 11, 2017

Download

Science

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Simulazione di un Penetration Test

Dr. Lentini Salvatore

Seminario sullaSicurezza Informatica

“Simulazione di un Penetration Test”

IIS G.B.VaccariniCatania 10/11/2016

Page 2: Simulazione di un Penetration Test

Chi sono?

● Ex Studente del G.B. Vaccarini (2010)

● Studente di Informatica Magistrale presso l’Università degli studi di

Catania

● Appassionato di Sicurezza Informatica

● Junior Penetration Tester

● Linux User

● Speaker Linux Day Enna

Page 3: Simulazione di un Penetration Test

Gare Mini Robot 2° Posto

Quinta A

Industriale

Indirizzo Informatica

Orientamento Robotica

(Giugno 2010)

Page 4: Simulazione di un Penetration Test

Tutto parte dalla passione

● Sono un ex video giocatore (8h al giorno, 1 gioco a settimana o meno, EX. GTA S. Andreas in una Settimana!)

● Fin dalla tenera età sui computer

● A 14 anni scelsi Informatica come indirizzo di studio. Questo mi permise di creare le basi per poi studiare

il lato “sicurezza”.

● A 16 anni focalizzai che amavo la sicurezza informatica

● Sempre a partire dei 16 anni iniziai a sviluppare i primi giochini, che mi aiutarono ad

esercitarmi nella programmazione. Gran parte della gente non sa programmare, perché

programma poco o nulla! IL CODICE DEVE ESSERE LA VOSTRA POESIA

● Alle superiori facevo “scherzi” ai compagni di classe e agli amici su MSN

Page 5: Simulazione di un Penetration Test

Tutto parte dalla passione

Università

Nel 2014, la nostra squadra di Internet Security batte le due squadre avversarie di Perugia durante una Capture The Flag (sfida di sicurezza informatica).

Tirocinio in sicurezza informatica. “Tecniche e metodologie di Penetration Testing” (134 p.)

Tesi di laurea triennale. “Demo e fix didattici sull’attacco SSL/TLS Heartbleed” (107 p.)

Page 6: Simulazione di un Penetration Test

CTF 2014 – CT vs PG

●https://www.youtube.com/watch?v=tHN0rrjt6G4

Page 7: Simulazione di un Penetration Test

Hacker vs Penetration Tester

FIGURA PROFESSIONALE

Conosciuta come Ethical Hacker

NON SI LIMITA A DIVENTARE ROOT

Bisogna:

● Trovare TUTTE le vulnerabilità e documentarle

● Il nostro operato NON DEVE DISTRUGGERE l’infrastruttura/il sistema del cliente

Page 8: Simulazione di un Penetration Test

Le fasi di un Penetration Testing

(grafico – ElearnSecurity EJPT – Penetration Testing Prerequisites)

Processo CiclicoAlcune fasi possono prevedere delle sotto-fasiIl successo di ogni fase dipende dalla buona riuscita di quella precedente.

Page 9: Simulazione di un Penetration Test

Allargare la superficie d’attacco

Prima raccogli informazioni… ...poi attacca!

“Saltare la fase di InformationGathering corrisponde ad avere un bersaglio minuscolo (ex una mollica) con in mano 100 freccette! Non lo colpirai mai!!

Non sarebbe meglio avere una sola freccetta ma come bersaglio un interaparete? Maggiore è la superficie d’attaccomaggiore è la probabilità di riuscirenell’attacco”

Page 10: Simulazione di un Penetration Test

Un buon Penetration Tester

Il segreto per essere un buon Penetration Tester?

90 % allargare la superficie d’attacco

10 % digitare i giusti comandi sugli strumenti giusti

(in termini di tempo di lavoro spesi per il pentest)

Fa la differenza!

Page 11: Simulazione di un Penetration Test

GIOCHIAMO(black hat)

Page 12: Simulazione di un Penetration Test

INFORMATIONGATHERING

Page 13: Simulazione di un Penetration Test

Information Gathering

Cercare informazioni sull’obiettivo da attaccare

- Social Network- Amici in comune- Luoghi visitati di recente- Interessi- Attività- Abitudini

- Siti di interesse online per la ricerca di dati- WHOIS (Nel caso di domini internet)- Sito personale (importante nel caso il nostro cliente è un azienda)

Page 14: Simulazione di un Penetration Test

Primo attacco: Dobbiamo entrare nella sua rete!

… dopo aver raccolto sufficienti informazioni sul target...assumiamo di essere appostati nei pressi dell’abitazione/complesso/azienda…(DOVE? in macchina, in un bar, per strada, …. ) “un po di fantasia!”

DOMANDA: Come entriamo nella rete?

Il target ha una rete wifi?

Page 15: Simulazione di un Penetration Test

Deauthentication Attack

Attacco di de-autenticazione su di una WLAN che permette di disconnettere tutti i

dispositivi connessi al router provocando di fatti un DOS se prolungato.

L’attacco avviene a causa del Deauthentication Frame, una pacchetto mandato per

disconnettersi da una stazione. Dal momento che durante la comunicazione i MAC

dei vari dispositivi sono in chiaro, facendo SPOOFING del MAC del router, è possibile

mandare ai vari client connessi al router l’ordine di disconnettersi.

NOTA: l’attacco avviene sia che si è connessi al router sia che si è fuori dal router e

non si conosca la password.

Page 16: Simulazione di un Penetration Test

Deauthentication Attack

1. Individuare la nostra scheda di rete

In questo momento, la wlan0 è in modalità “normale” e ciò vuol dire che accetta solopacchetti che sono diretti a noi, oltre che ad inviarne solo se vi è un lecito motivo. Nonpossiamo per il momento ricevere i pacchetti destinati agli altri ne inviarne di “custom”.

Page 17: Simulazione di un Penetration Test

Deauthentication Attack

2. Scoprire i router che stanno trasmettendo intorno a noi

ANNOTIAMO:- MAC ADDRESS- Channel

Page 18: Simulazione di un Penetration Test

Deauthentication Attack

3. Salviamo nella blacklist tutti i MAC Address di tutti i router che stiamo attaccando

Page 19: Simulazione di un Penetration Test

Deauthentication Attack

4. Mettiamo in modalità “promiscua” la nostra scheda di rete

Page 20: Simulazione di un Penetration Test

Deauthentication Attack

5. Lanciamo l’attacco

… tutti i dispositivi connessi al router vittima inizieranno a disconnettersi!

Page 21: Simulazione di un Penetration Test

Deauthentication Attack

DEMO DEAUTHENTICATION ATTACK

Page 22: Simulazione di un Penetration Test

Deauthentication AttackA che cosa serve?

# Attacchi DOS verso un Router

Oppure

- Evil Twin: crea una SSID identico a quello che vogliamo attaccare

- Modifica della potenza del segnale sulla scheda di rete dell’antenna

- Server DHCP con pagina falsa del router

# Phishing WPA2 => Aggiriamo la limitazione computazionale dovuta all’approccio

Bruteforce

Per questa simulazione, assumiamo di aver rubato la WPA2 all’utente tramite una pagina

di pishing accuratamente scelta. Siamo quindi connessi alla rete dell’utente

Page 23: Simulazione di un Penetration Test

Phishing

Page 24: Simulazione di un Penetration Test

Difese

● Idea di base è l’autenticazione

● CISCO ha sviluppato un metodo di detection di questi attacchi chiamato “Management Frame

Protection”

● Questo metodo è standardizzato nell’802.11w che tende a migliorare la sicurezza delle reti

wireless 802.11.

L'obiettivo di questo è quello di aumentare la sicurezza, fornendo riservatezza

dei dati dei frame di gestione, i meccanismi che consentono l'integrità dei dati, l'origine dei dati

di autenticità, e la protezione replay.

Page 25: Simulazione di un Penetration Test

FOOTPRINTING AND SCANNING

Page 26: Simulazione di un Penetration Test

FootPrintingSiamo entrati nella rete dell’obiettivo e ci siamo connessi, ricevendo un indirizzo IP. (10.142.111.240/24)E’ chiaro, osservando la maschera di rete (NETMASK) andare a capire qual è il range di Indirizzi IP che potremmo scansionare per capire quanti host sono connessi nella stessa reteIn cui ci troviamo. (spiegazione)

1. Enumerazione degli host “LIVE”Tecnica “ping sweeping”

fping -a -g 10.142.111.0/24 2>/dev/null- a chiede al tool di mostrare solo gli host attivi- g chiede di effettuare un ping sweeping invece che un ping normale2>/dev/null nascondiamo gli avvisi di “Host Offline” mostrando solo quelli “Online”

(fping nasce come potenziamento del tool ping)

Oppurenmap -sn 10.142.111.0/24

Page 27: Simulazione di un Penetration Test

Con fping troviamo 7 host (dato che il .240 è

il nostro)

Con nmap troviamo 8 host. Vi è in più il .213

che evidentemente ha disattivato l’ICMP Ping

E quindi non può essere trovato.

Enumerazione Host “live”:

.1 .6 .48 .96 .99 .100 .150 .213

Per un totale di 8 host

Page 28: Simulazione di un Penetration Test

Scanning e Version/Service Detection

2. Scanning e Versione Detection

nmap -sS -sV 10.142.111.1,6,48,96,99,100,150,213

-sS effettua una SYN (Stealth) Scan, poco rilevabile (spiegazione) . Ritorna la lista

delle porte aperte/chiuse/filtrate

-sV effettua un Version Detection ritornando per ogni porta aperta/chiusa il nome

del servizio e la sua versione

A questo punto non ci resta che capire, per ogni host, quale delle 65536 porte sono aperte e quali servizi sono in ascolto. Al termine di questa analisi avremo talmente tante di quelle informazionida poter dire per ogni singolo host se si tratta di un client oppure di un server (e quindi capire ilsuo ruolo all’interno della rete).

Page 29: Simulazione di un Penetration Test

OS FingerprintingInfine, vediamo per ogni host che sistema operativo è presente.Ricorda, nmap effettua una stima: viene generato del traffico inviato all’host e in base alle rispostenmap crea una firma che confrontata nel proprio DB, deduce il tipo di sistema operativo.Questo grazie al fatto che ogni S.O. ha un implementazione dello stack di rete differente.

3. OS Fingerprinting

nmap -O -Pn 10.142.111.1,6,48,96,99,100,150,213- O: sta per OS Detection cioè l’identificazione del sistema operativo- Pn: salta il pingscan qualora si sappia già che l’host è attivo

Page 30: Simulazione di un Penetration Test

Scanning & Version Detection

IP Host

OS Fingerprinting

Page 31: Simulazione di un Penetration Test

VULNERABILITYASSESSMENT

Page 32: Simulazione di un Penetration Test
Page 33: Simulazione di un Penetration Test

Descrizione Vulnerabilità

Ci dice quale Exploit usare!

Come Risolvere la vulnerabilità (Fix)

Page 34: Simulazione di un Penetration Test

EXPLOITATION

Page 35: Simulazione di un Penetration Test

Modulo da usare in Metasploit

Google è tuo amico!(cerca l’exploit online)

Page 36: Simulazione di un Penetration Test

Viene tornata una shellMeterpreter

Page 37: Simulazione di un Penetration Test

Siamo nel sistema target! Il comando “sysinfo” ritorna le informazioni del sistema nel

quale è stata iniettata la Meterpreter Shell.

Page 38: Simulazione di un Penetration Test

La lista dei file presenti nellacartella dove è stata iniettata

la shell.

Page 39: Simulazione di un Penetration Test

Exploitation

DEMO EXPLOITATION

Page 40: Simulazione di un Penetration Test

Shell Meterpreter

La shell meterpreter è una riga di comando simile a quella presente in Linux o Windows che

a differenza di queste ultime, fornisce all’attaccante moltissime funzionalità. Basta digitare help

per avere la lista completa.

Se l’amministratore di sistema “fixa” la vulnerabilità, l’exploit che abbiamo lanciato per inserirci

nel sistema non funzionerà più! Per questo motivo, è importante passare ad una sotto-fase

conosciuta con il nome di Maintaining Access in cui si inserisce nella macchina violata

una backdoor in modo tale che tutte le volte che l’utente riavvierà la macchina, l’attaccante

riceverà in maniera del tutto indisturbata una shell meterpreter, continuando a controllarla.

Page 41: Simulazione di un Penetration Test

Una backdoor è un programma, che dopo essere stato installato all’interno di un sistema, permette ad un utilizzatore di poter accedere su tale sistema, passando tutti i controlli diautenticazione usati tipicamente per accedervi.Per questo motivo, quando si parla di backdoor, ci si riferisce ad esse come una porta apertaper accedere al sistema, lasciata “aperta” intenzionalmente per scopi leciti o meno.

Scopi leciti? Una backdoor può essere usata da un amministratore per svolgere il propriolavoro in completa mobilità in un sistema o all’interno di una rete, accedendo alla macchinada remoto, senza doversi autenticare di volta in volta portando quindi ad un notevole risparmiodi tempo. È possibile anche che quest’ultimo usi una backdoor per controllare le varie attivitàsvolte dai vari dipendenti all’interno di una azienda.

Scopi illeciti? Una backdoor può essere usata, ed è unicamente usata, da un attaccante peravere un punto di accesso al sistema. L’attaccante, dopo aver installato una backdoor sulsistema della vittima, si garantisce una porta aperta che può sfruttare peraccedere in maniera indisturbata tutte le volte che vuole al sistema, senzache l’utente se ne accorga.

Una backdoor lavora in background, senza aver bisogno dell’interazionedell’utente o dell’attaccante. L’utente infatti non sa che il proprio sistema possiede una backdoor. Gli antivirus sono in grado di rilevare le backdoorMa in base al livello su cui girano e al grado di sofisticatezza risulta difficileindividuare una backdoor.

Page 42: Simulazione di un Penetration Test

Backdoor vs Firewall

Firewall: tutte le connessioni bloccate verso l’interno.

Attaccante non potrà connettersi con la backdoor.

Page 43: Simulazione di un Penetration Test

Backdoor vs Firewall

Reverse-backdoor: invece di fare da server, la backdoor fa da client mentre l’attaccante

fa da server. In questo modo, invece di aspettare che l’attaccante si connetta

è la backdoor a connettersi all’attaccante.

Firewall superato. (ex traffico passa tramite una well-know-port che il firewall lascia passare)

Page 44: Simulazione di un Penetration Test

Esempio di installazione di una Backdoor Persistence su di una macchina Windows 7

SP1. Gli esempi che seguiranno saranno svolti su questa macchina.

Page 45: Simulazione di un Penetration Test

Alcune funzionalità Shell Meterpreter: Lista dei processi Attivi

Page 46: Simulazione di un Penetration Test

Alcune funzionalità Shell Meterpreter: Kill di un processo ( ex. Notepad )

Tramite la lista dei processi vediamo tutti I PID (Process ID) e digitando KILL seguito dal PIDandiamo a killare quel particolare processo.In un sistema, ogni processo è riconosciuto dal proprio PID

Page 47: Simulazione di un Penetration Test

Alcune funzionalità Shell Meterpreter: ScreenShot

Page 48: Simulazione di un Penetration Test

Alcune funzionalità Shell Meterpreter: KeyLogger

Page 49: Simulazione di un Penetration Test

Alcune funzionalità Shell Meterpreter: WebCam

Page 50: Simulazione di un Penetration Test

Backdoors

DEMO BACKDOORS

Page 51: Simulazione di un Penetration Test

Authentication Cracking

DEMO AUTHENTICATION CRACKINGIn questa demo,

- cracking di un servizio ssh

- cracking delle password per eludere il

“Login di accesso al sistema”

Page 52: Simulazione di un Penetration Test

Curiosità: Mark tiene alla propria privacy!

Page 53: Simulazione di un Penetration Test

Curiosità: Mettete degli adesivi sulle vostre webcam!

VI INVITO A FARLO!

Page 54: Simulazione di un Penetration Test

In ConclusioneA 16 anni, avevo molte domande:- Come si diventa Hacker?- Come si penetra in un sistema remoto? - Come posso spiare un sistema? - Como posso rubare le password da un sistema?- Come posso eludere il login? - Come posso studiare gli attacchi informatici?- Cosa serve per leggere tutto quello che un utente digita? …. la lista continua!

Ad alcune di esse, ho saputo rispondere mentre per altre ho dovuto aspettare anni ma soprattutto studiare!

Posso dire che Informatica, come facoltà scientifica mi ha dato le basi e una “Forma Mentis” per studiare e capire l’affascinante e vasto mondo della sicurezza Informatica.

A te che hai seguito questo seminario e che sicuramente ti poni le stesse domande cheio mi ponevo alla tua età (qualora tu fossi appassionato o un semplice smanettone), spero di aver risposto ad alcune di esse e di aver accorciato la tua personale lista di domande! Alla tua età avreivoluto poter partecipare a un seminario del genere!

Page 55: Simulazione di un Penetration Test

IIS G.B. Vaccarini