Upload
massimo-chirivi
View
293
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Durante lo sviluppo di siti web o web application l’implementazione della sicurezza dovrebbe essere una della fasi più importanti che uno sviluppatore dovrebbe eseguire, spesso però le soluzioni proposte non sono proprio “sicure”.Il talk mira a illustrare le principali tematiche relative all’argomento con un introduzione al Penetration Testing su web application.
Citation preview
LA SICUREZZA DELLE WEB APPLICATIONMassimo Chirivì
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
Sommario
• Presentazione • Ethical Hacking• Information Gathering• Fingerprinting Web Server• Subdomain Enumeration• Virtual Hosting• Fingerprinting Frameworks and Application• Resource Enumeration
LA SICUREZZA DELLE WEB APPLICATION
Chi sono
• Dal 1988 con la passione dell’informatica• Dal 1996 al servizio delle aziende per lavoro• Dal 1998 al servizio della P.A. per il bene di tutti• Dal 2010 in una delle più grandi aziende ICT d’Italia.
Di cosa mi occupo- Information Security- System Administrator- Ethical Hacking
Condividere è un dovere etico… La condivisione è conoscenza.
LA SICUREZZA DELLE WEB APPLICATION
AIPSI – Associazione Italiana Professionisti Sicurezza Informatica
AIPSI Capitolo
Italiano di ISSA
Associazione di singoli
professionisti
Oltre 10.000 esperti in
tutto il mondo
200 soci in Italia
LA SICUREZZA DELLE WEB APPLICATION
Obiettivi:
• Organizzazione di forum educativi• Redazione di documenti e pubblicazioni specializzate• Interscambio di esperienze fra i professionisti del
settore (nazionali e internazionali)• Riferimento per la ricerca di professionisti di sicurezza
IT• Interazione con altre organizzazioni professionali• Rilascio di attestati e certificazioni specifiche
AIPSI – Associazione Italiana Professionisti Sicurezza Informatica
LA SICUREZZA DELLE WEB APPLICATION
Ethical Hacking
• Ethical hacking, spesso eseguita da esperti informatici qualificati, è l'uso di competenze specifiche per determinare le vulnerabilità dei sistemi informatici. L'hacker etico valuta e suggerisce modifiche ai sistemi che li rendono meno probabili di essere penetrati.
• Molte aziende utilizzano i servizi di hacking etico a tempo pieno per mantenere i loro sistemi e informazioni al sicuro.
• Il lavoro di hacking etico da molti è ancora considerato pirateria perché utilizza la conoscenza dei sistemi informatici nel tentativo di penetrare o crashare. Al contrario, questo lavoro è etico perché viene eseguito per aumentare la sicurezza dei sistemi informatici.
• L'obiettivo di ethical hacking è quello di determinare il modo di violare i programmi presenti in esecuzione, ma solo su richiesta della società che possiede il sistema ed in particolare per impedire ad altri di attaccarlo.
LA SICUREZZA DELLE WEB APPLICATION
Information Gathering
- Rappresenta la fase della raccolta di informazioni.Quante più ne abbiamo meglio valuteremo la sicurezza dell’applicazione web.Quindi bisogna organizzare le informazioni in modo corretto.
- E’ la fase più importante del penetration test.- Durante le fasi successive potrebbe servire qualsiasi particolare.
NON CI SONO INFORMAZIONI NON NECESSARIE!
LA SICUREZZA DELLE WEB APPLICATION
Fingerprinting Web Server
• Dobbiamo analizzare l’infrastruttura, cioè tutto quello che c’è sul server per permettere il corretto funzionamento dell’applicazione web– Server Web (Apache, IIS, Tomcat)– Sistema operativo (Windows, Linux)– DB ( Sql server, Mysql, Oracle, PG)– Moduli rewrite (Rewrite x Apache – Isapi o Ionic Elicon x IIS)– Modulo security – Linguaggi utilizzati (PHP, Javascript, ASP, ASP.NET, Java)– Librerie e script utilizzati (Jquery – Mootools)– Flash
LA SICUREZZA DELLE WEB APPLICATION
Subdomain Enumeration
Bisogna trovare tutti i sottodomini situati all’interno di un dominio?
1) Ampliare la superficie di attacco2) Rilevare pannelli di gestione backend 3) Applicazione web situato sul 3° livello
Come?• Netcraft• Subdomainer.py• Google o Bing (metodo più utilizzato)• Crawling o Brute Force (Burp Suite)• Zone Transfers (utility DIG o Nslookup)
LA SICUREZZA DELLE WEB APPLICATION
Subdomain Enumeration
C:\nslookup Server [nameserver] Ls –d domain.com
Oppure con bing.com
LA SICUREZZA DELLE WEB APPLICATION
Virtual Hosting
L'Hosting virtuale è un metodo usato sui server web per ospitare il sito web per più di un nome di dominio sullo stesso server, oppure ospitare diversi siti web, talvolta sullo stesso indirizzo IP.Vi sono diverse tecniche di virtual hosting, con diverse limitazioni.Attenzione!Il server è configurato con un solo indirizzo IP, a cui sono associati i nomi DNS di tutti i siti ospitati. Quando il server riceve una richiesta HTTP, legge l'hostname richiesto e decide di conseguenza quale dominio servire.Questo permette di utilizzare un solo indirizzo IP per molti siti utilizzando porte TCP standard e URL senza la specifica della porta.Questa tecnica è comunemente usata da providers di spazio web per siti internet.Hostmap è il tool più utilizzato
LA SICUREZZA DELLE WEB APPLICATION
Fingerprinting Frameworks and Application
Distinguiamo innanzitutto le applicazioni COTS dalle CUSTOM
Soffermiamoci sulle COTS:1) Gran parte del web è realizzato con questo tipo di applicazioni (Joomla, Wordpress, Magento, Virtuemart,
Alfresco, Liferay, ecc.ecc.)2) Può essere sia commerciale che open source3) Il codice sorgente è disponibile a tutti, anche ai malitenzionati!4) Gli add-on o componenti aggiuntivi sono scritti non sempre in maniera corretta e contengono molte vulnerabilità5) La ricerca su internet delle vulnerabilità e degli exploit è alcune volte banale.
Come?JoomScan http://sourceforge.net/projects/joomscan/Secunia Database x verificare la vulnerabilitàBurpSuite x crawling del sito webOsservare HTML con attenzioneOsservare banner, footer, headerLive http Headers for Firefox BrowserOsservare gli URL: index.php?option=%component_name%&task=%xxx%&task=%value%
LA SICUREZZA DELLE WEB APPLICATION
Fingerprinting Frameworks and Application
Distinguiamo innanzitutto le applicazioni COTS dalle CUSTOM
Soffermiamoci sulle CUSTOMPrimo passo Studiare la logica dell’applicazione!
1. A cosa serve?2. Consente la registrazione degli utenti?3. Ha un pannello di amministrazione?4. Accetta input dall’utente?5. Che tipo di input accetta?6. Accetta upload di file?7. Usa Javascript, flash, ecc.ecc.8. Ci sono applicazioni cablate nell’applicazione custom?
LA SICUREZZA DELLE WEB APPLICATION
Fingerprinting Frameworks and Application
Analizziamo la superficie di attacco Convalida lato client oppure lato server
Sql injection Logica dell’applicazione errata Cross Site Scripting
Interazione con il database Sql injection
Upload di file Che tipo di files posso caricare
Visualizzazione dei dati Cross Site Scripting
Reindirizzamenti HTTP response splitting
Pagine di Login Bypassare il login (Sessions e cookies non gestiti correttamente) Bruteforce
Messaggi di errore Informazioni importanti sulla struttura dell’applicazione o del DB.
LA SICUREZZA DELLE WEB APPLICATION
Resource Enumeration
• Crawling/Spider del sito web (ad esempio: BURPSUITE)• DirBuster
Differenze tra uno Spider e DirBuster?
- Il crawling del sito web si effettuà con gli spider e quindi è basato sui link e sui form.
- DirBuster è progetto Owasp con lo scopo di andare a scoprire tutti quei file e quelle cartelle presenti in un sito web, che volutamente si vogliono nascondere da occhi indiscreti. Questo approccio è conosciuto come security by obscurity ed è uno degli approcci più sbagliati e più controproducenti che un web developer possa seguire.
LA SICUREZZA DELLE WEB APPLICATION
Resource Enumeration
• Attenzione ai file rinominati lasciati dallo sviluppatore sul server, ad esempio il file configuration.php di Joomla che si potrebbe trovare come configuration.bak o .old
• Attenzione ad altri files importanti rinominati per errore e quindi interpretati come file di testo e non dal server
• Se il motore è IIS con ASP quasi sicuramente ci saranno file .inc che venivano utilizzati per essere inclusi in file ASP
• Directory listing • Opzioni HTTP (PUT permesso)
put /images/attacco.php http/1.1 content-lenght:xxx[invio]Content html [invio][invio]Il file è creato è può essere richiamato da browser
LA SICUREZZA DELLE WEB APPLICATION
Resource Enumeration
Google Hackinghttp://johnny.ihackstuff.com/ghdb/
http://www.googleguide.com/advanced_operators.htmlAd esempio
Filetype=‘’bak’’Filetype=‘’inc’’
E aggiungendo: site:www.target.com
Gli operatori presenti sulla guida avanzata di Google sono centinaia!
LA SICUREZZA DELLE WEB APPLICATION
Iniziamo con un po’ di pratica.
Quali sono le informazioni che cerchiamo?
1) Dati dell’organizzazione 2) IP, domini e sottodomini3) Infrastruttura (Server, CMS, Framework, Database)4) Logica dell’applicazione5) Host virtuali sul server6) La struttura dell’applicazione7) File nascosti nell’applicazione8) Username & Password
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
I primi risultati:
LA SICUREZZA DELLE WEB APPLICATION
Approfondiamo il netblock sul db RIPE
LA SICUREZZA DELLE WEB APPLICATION
Approfondiamo i record DNS con nslookupC:\Users\massimo.chirivi>nslookupDNS request timed out. timeout was 2 seconds.Server predefinito: UnKnownAddress: fe80::88f0:f3d6:3c8b:26eb
> sviluppoeconomico.gov.itServer: UnKnownAddress: fe80::88f0:f3d6:3c8b:26eb
DNS request timed out. timeout was 2 seconds.DNS request timed out. timeout was 2 seconds.DNS request timed out. timeout was 2 seconds.DNS request timed out. timeout was 2 seconds.*** Tempo scaduto per la richiesta a UnKnown> server 151.99.125.2DNS request timed out. timeout was 2 seconds.Server predefinito: [151.99.125.2]Address: 151.99.125.2
> sviluppoeconomico.gov.itServer: [151.99.125.2]Address: 151.99.125.2
Risposta da un server non autorevole:Nome: sviluppoeconomico.gov.itAddress: 88.49.250.35
> server ns1.sviluppoeconomico.gov.itServer predefinito: ns1.sviluppoeconomico.gov.itAddress: 88.49.250.35
> sviluppoeconomico.gov.itServer: ns1.sviluppoeconomico.gov.itAddress: 88.49.250.35
Nome: sviluppoeconomico.gov.itAddress: 88.49.250.35
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
Una sorpresa dopo 1 ora di lavoroSe digitiamo sul browser: http:// vcse.sviluppoeconomico.gov.it
Ricercare vulnerabilità sul webUser & Password di defaultBrute Force sul form
LA SICUREZZA DELLE WEB APPLICATION
LA SICUREZZA DELLE WEB APPLICATION
Grazie per l’attenzione
FacebookSkype: mchirivi
LinkedinSito smau – www.smau.itSito AIPSI -- www.aipsi.org
Studia, prova, amplia, ricerca, analizza, migliora …… condividi con gli altri anche tu
… sempre con il cappello bianco