SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
Smau Bari 2013 Massimo Chirivì
1. LA SICUREZZA DELLE WEB APPLICATION
Massimo Chirivì
LA SICUREZZA DELLE WEB APPLICATION
2. Sommario
• Presentazione
• Ethical Hacking
• Information Gathering
• Fingerprinting Web Server
• Subdomain Enumeration
• Virtual Hosting
• Fingerprinting Frameworks and Application
• Resource Enumeration
LA SICUREZZA DELLE WEB APPLICATION
3. 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
4. AIPSI – Associazione Italiana Professionisti Sicurezza
Informatica
AIPSI
Associazione
Capitolo
di singoli
Italiano di
professionisti
ISSA
Oltre 10.000
esperti in 200 soci in
tutto il Italia
mondo
LA SICUREZZA DELLE WEB APPLICATION
5. AIPSI – Associazione Italiana Professionisti Sicurezza
Informatica
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
LA SICUREZZA DELLE WEB APPLICATION
6. 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
7. 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
8. 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
9. Subdomain Enumeration
Bisogna trovare tutti i sottodomini situati all’interno di un dominio?
1) Ampliare la superficie di attacco
2) 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
11. 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
12. 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 source
3) 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 web
Osservare HTML con attenzione
Osservare banner, footer, header
Live http Headers for Firefox Browser
Osservare gli URL: index.php?option=%component_name%&task=%xxx%&task=%value%
LA SICUREZZA DELLE WEB APPLICATION
13. Fingerprinting Frameworks and Application
Distinguiamo innanzitutto le applicazioni COTS dalle CUSTOM
Soffermiamoci sulle CUSTOM
Primo 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
14. 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
15. 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
16. 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
17. Resource Enumeration
Google Hacking
http://johnny.ihackstuff.com/ghdb/
http://www.googleguide.com/advanced_operators.html
Ad 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
18. Iniziamo con un po’ di pratica.
Quali sono le informazioni che cerchiamo?
1) Dati dell’organizzazione
2) IP, domini e sottodomini
3) Infrastruttura (Server, CMS, Framework, Database)
4) Logica dell’applicazione
5) Host virtuali sul server
6) La struttura dell’applicazione
7) File nascosti nell’applicazione
8) Username & Password
LA SICUREZZA DELLE WEB APPLICATION
26. Approfondiamo i record DNS con nslookup
C:Usersmassimo.chirivi>nslookup
DNS request timed out.
> sviluppoeconomico.gov.it
timeout was 2 seconds. Server: [151.99.125.2]
Server predefinito: UnKnown Address: 151.99.125.2
Address: fe80::88f0:f3d6:3c8b:26eb
Risposta da un server non autorevole:
Nome: sviluppoeconomico.gov.it
> sviluppoeconomico.gov.it
Address: 88.49.250.35
Server: UnKnown
Address: fe80::88f0:f3d6:3c8b:26eb > server ns1.sviluppoeconomico.gov.it
Server predefinito: ns1.sviluppoeconomico.gov.it
DNS request timed out. Address: 88.49.250.35
timeout was 2 seconds.
> sviluppoeconomico.gov.it
DNS request timed out. Server: ns1.sviluppoeconomico.gov.it
timeout was 2 seconds. Address: 88.49.250.35
DNS request timed out.
timeout was 2 seconds. Nome: sviluppoeconomico.gov.it
Address: 88.49.250.35
DNS request timed out.
timeout was 2 seconds.
*** Tempo scaduto per la richiesta a
UnKnown
> server 151.99.125.2
DNS request timed out.
timeout was 2 seconds.
Server predefinito: [151.99.125.2]
Address: 151.99.125.2
LA SICUREZZA DELLE WEB APPLICATION
28. Una sorpresa dopo 1 ora di lavoro
Se digitiamo sul browser: http:// vcse.sviluppoeconomico.gov.it
Ricercare vulnerabilità sul web
User & Password di default
Brute Force sul form
LA SICUREZZA DELLE WEB APPLICATION
30. Grazie per l’attenzione
www.massimochirivi.net
info@massimochirivi.net
Facebook
Skype: mchirivi
Linkedin
Sito smau – www.smau.it
Sito AIPSI -- www.aipsi.org
Studia, prova, amplia, ricerca, analizza, migliora …
… condividi con gli altri anche tu
… sempre con il cappello bianco
LA SICUREZZA DELLE WEB APPLICATION