simulazione di un penetration test

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

Upload: salvatore-lentini

Post on 11-Feb-2017

102 views

Category:

Science


4 download

TRANSCRIPT

Dr. Lentini Salvatore

Seminario sullaSicurezza Informatica

“Simulazione di un Penetration Test”

IIS G.B.VaccariniCatania 10/11/2016

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

Gare Mini Robot 2° Posto

Quinta A

Industriale

Indirizzo Informatica

Orientamento Robotica

(Giugno 2010)

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

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.)

CTF 2014 – CT vs PG

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

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

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.

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”

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!

GIOCHIAMO(black hat)

INFORMATIONGATHERING

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)

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?

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.

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”.

Deauthentication Attack

2. Scoprire i router che stanno trasmettendo intorno a noi

ANNOTIAMO:- MAC ADDRESS- Channel

Deauthentication Attack

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

Deauthentication Attack

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

Deauthentication Attack

5. Lanciamo l’attacco

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

Deauthentication Attack

DEMO DEAUTHENTICATION ATTACK

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

Phishing

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.

FOOTPRINTING AND SCANNING

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

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

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).

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

Scanning & Version Detection

IP Host

OS Fingerprinting

VULNERABILITYASSESSMENT

Descrizione Vulnerabilità

Ci dice quale Exploit usare!

Come Risolvere la vulnerabilità (Fix)

EXPLOITATION

Modulo da usare in Metasploit

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

Viene tornata una shellMeterpreter

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

quale è stata iniettata la Meterpreter Shell.

La lista dei file presenti nellacartella dove è stata iniettata

la shell.

Exploitation

DEMO EXPLOITATION

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.

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.

Backdoor vs Firewall

Firewall: tutte le connessioni bloccate verso l’interno.

Attaccante non potrà connettersi con la backdoor.

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)

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

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

Alcune funzionalità Shell Meterpreter: Lista dei processi Attivi

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

Alcune funzionalità Shell Meterpreter: ScreenShot

Alcune funzionalità Shell Meterpreter: KeyLogger

Alcune funzionalità Shell Meterpreter: WebCam

Backdoors

DEMO BACKDOORS

Authentication Cracking

DEMO AUTHENTICATION CRACKINGIn questa demo,

- cracking di un servizio ssh

- cracking delle password per eludere il

“Login di accesso al sistema”

Curiosità: Mark tiene alla propria privacy!

Curiosità: Mettete degli adesivi sulle vostre webcam!

VI INVITO A FARLO!

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!

IIS G.B. Vaccarini