CMS - Analisi Vulnerabilità

26
CMS, Analisi automatica delle vulnerabilità Raffaele Forte Security Advisor. Founder & Core Developer at BackBox Linux

description

Un CMS vulnerabile può permettere a un attaccante di prendere il pieno controllo del sito (Blog, Forum, e-commerce, etc.), fornendo la possibilità di modificare i contenuti, creare e rimuovere utenti e nel caso peggiore ottenere persino il controllo del server su cui è installato. Sempre più aziende ed enti istituzionali adottano questi strumenti, ma quali sono i vantaggi e che livello di sicurezza garantiscono gli attuali CMS? Affronteremo queste tematiche servendoci di metodologie e strumenti automatici di verifica delle vulnerabilità.

Transcript of CMS - Analisi Vulnerabilità

Page 1: CMS - Analisi Vulnerabilità

CMS, Analisi automatica delle vulnerabilità

Raffaele ForteSecurity Advisor. Founder & Core Developer at BackBox Linux

Page 2: CMS - Analisi Vulnerabilità

Raffaele ForteFounder at BackBox Linux http://www.backbox.org

Embedded Linux engineer at Akhelahttp://www.akhela.org

Security Advisor at Open Soluzionihttp://www.opensoluzioni.it

[email protected]

[email protected]

Page 3: CMS - Analisi Vulnerabilità

Summary ● Content Management System● Metodologia● OWASP TOP 10● Analisi Automatica

○ BackBox Linux■ Wappalyzer, WhatWeb■ Joomscan, WPScan

● Exploiting● Conclusioni

Page 4: CMS - Analisi Vulnerabilità

Content Management System

Page 5: CMS - Analisi Vulnerabilità

Exploit by exploit-db.com

Page 6: CMS - Analisi Vulnerabilità

Metodologia● Information Gathering● Vulnerability Assessment● Exploitation● Privilege Escalation● Maintaining Access● Documentation & Reporting

Page 7: CMS - Analisi Vulnerabilità

Information GatheringLa raccolta delle informazioni permette all'attaccante di acquisire dati utiliWeb Applications / CMS● Piattaforma utilizzata (WordPress, Joomla, Drupal, ecc.)● Numero di versione ● Plugins installati

WhatWeb è un software open-source che effettua questa tipologia di analisi

Page 8: CMS - Analisi Vulnerabilità

Vulnerability AssessmentAvere un quadro completo dello stato di esposizione dei propri sistemi a tutte le vulnerabilità note.

Tools automatici (Joomscan, WPScan, ecc.)Grazie alla loro velocità di scansione permettono di verificare se la versione installata è potenzialmente vulnerabile.

Page 9: CMS - Analisi Vulnerabilità

ExploitLa fase di Exploit si configura come un vero e proprio attacco, si sfrutta una particolare vulnerabilità che può portare ad acquisire privilegi di amministrazione sul sistema bersaglio.

Gli exploit possono essere classificati a seconda del tipo di vulnerabilità che sfruttano.

http://www.exploit-db.comhtp://www.1337day.com

Page 10: CMS - Analisi Vulnerabilità

Maintaining AccessViolato il sistema è comodo mantenere l'accesso in modo da poter operare in un secondo momento senza ripetere l'intero hack. A tale scopo è solito installare una una web-shell (Weevely) che ci permetterà di avere un controllo immediato del sistema.

Page 11: CMS - Analisi Vulnerabilità

Documentation & ReportingL'attività si conclude con:

● Pulizia delle tracce ● Stesura di un report dettagliato sulle vulnerabilità riscontrate ● Analisi dell'impatto di rischio● Possibile soluzione tecnica al problema

Page 12: CMS - Analisi Vulnerabilità

OWASP TOP 10Le vulnerabilità relative ai CMS rientrano nelle criticità delle web applications. Vediamo ora la classifica stilata da OWASP delle “TOP 10” per l’anno 2010 :

1. Injection2. Cross-Site Scripting (XSS)3. Broken Authentication and

Session Management4. Insecure Direct Object Reference5. Cross-Site Request Forgery

(CSRF)

6. Security Misconfiguration7. Insecure Cryptographic Storage8. Failure to Restrict URL Access9. Insufficient Transport Layer

Protection10. Unvalidated Redirects and

Forwards

Page 13: CMS - Analisi Vulnerabilità

Analisi automaticaUn progetto può essere considerato piu o meno sicuro in base alla sua complessità, più sono le variabili in gioco maggiore è il rischio.

● Un CMS che fa uso di diversi moduli aggiuntivi è sicuramente più esposto a bachi rispetto ad un CMS base.

● Più il sistema è popolare maggiore sarà l’interesse da parte di crackers nel ricercare vulnerabilità.

Page 14: CMS - Analisi Vulnerabilità

Analisi automaticaIntrodurremo alcuni strumenti open-source per la verifica delle vulnerabilità dei CMS WordPress e Joomla. L’analisi si concentrerà su queste due piattaforme per una questione puramente pratica.

Come gia accennato questi strumenti semplificano l’intera attività di ricerca, il vantaggio è nell’eseguire una grande quantita di test in poco tempo e il tutto in maniera automatica.

Page 15: CMS - Analisi Vulnerabilità

BackBox Linux● Distribuzione GNU/Linux derivata da

Ubuntu. ● Progettata per eseguire Penetration Test

e Vulnerability Assessment fornisce un insieme di strumenti che facilitano l'analisi di reti e sistemi informatici.

● Un ambiente desktop completo con gli strumenti necessari ad un ethical hacker per eseguire test di sicurezza.

Page 16: CMS - Analisi Vulnerabilità

Wappalyzer● Estensione per browser che svela le

tecnologie utilizzate nei siti web.

● Rileva, durante la navigazione, CMS, web shops, web server, framework JavaScript, strumenti di analisi e altro.

● Molto utile per una prima analisi ma non effettua una scansione approfondita.

Page 17: CMS - Analisi Vulnerabilità

WhatWeb● Programma scritto in Ruby per il riconoscimento delle tecnologie web.

● Conta oltre 900 plugin, ognuno ha una specifica funzione.

● Riesce ad identificare diversi CMS, piattaforme di blog, strumenti per statistiche, librerie JavaScript, web server, etc

● È utile anche per ricavare indirizzi email, errori SQL e molto altro ancora.

Page 18: CMS - Analisi Vulnerabilità

WhatWebVediamo come funziona con un semplice esempio:

Molti siti basati su CMS possono essere identificati da meta tag HTML, tramite un semplice confronto tra stringhe è possibile ottenere informazioni sulla tecnologia utilizzata.

Es. WordPress:Effettua oltre 15 test per identificare con precisione la versione (verifica la presenza della favicon, di file di installazione, pagine di login o piu semplicemente scansiona il path “/wp-content/” con relativi links)

Page 19: CMS - Analisi Vulnerabilità
Page 20: CMS - Analisi Vulnerabilità

JoomScan● È un tool scritto in Perl per effettuare un’analisi di sicurezza di siti Joomla ● È sviluppato in seno al progetto OWASP.● Compie diversi tipi di test: verifica la presenza di file inclusion, SQL injection,

command execution, XSS, DOS, directory traversal vulnerabilities, ecc.● Velocità di scansione, le richieste sono mirate.● Precisione nel rilevare la versione dell'applicazione, uno scanner generico non è

altrettanto preciso avendo un range di azione più ampio.● Verifica di tutte le possibili vulnerabilità note, fa uso di un database interno

periodicamente aggiornato.

Page 21: CMS - Analisi Vulnerabilità
Page 22: CMS - Analisi Vulnerabilità

WPScanÈ un vulnerability scanner scritto in Ruby per la verifica di sicurezza di installazioni WordPress. Le principali caratteristiche di questo programma:

● Username enumeration● Weak password cracking (multithreaded)● Version enumeration (from generator meta tag and from client side files)● Vulnerability enumeration (based on version)● Timbthumb file enumeration● Plugin enumeration (2220 most popular by default)● Plugin vulnerability enumeration (based on plugin name)● Plugin enumeration list generation● Other misc WordPress checks (theme name, dir listing, etc.)

Page 23: CMS - Analisi Vulnerabilità
Page 24: CMS - Analisi Vulnerabilità

Exploiting

Page 25: CMS - Analisi Vulnerabilità

Conclusioni● Mai trascurare gli aggiornamenti! Un CMS anche base non è immune da vulnerabilità,

è necessario seguire il progetto ed informarsi sulla presenza di nuove release.

● Utilizzare solo addons certificati. I pericoli maggiori per chi usa un CMS sono nell’utilizzare addons di terze parti con qualità del codice molto bassa.

● Prestare attenzione quando si assegnano i permessi utente. Quasi tutti i CMS hanno una struttura multi-utente, assegnare i giusti permessi significa permettere o inibire l’accesso a sezione o contenuti riservati.

● Prestare attenzione se si utilizza un servizio di hosting condiviso. Anche se questo fattore non è strettamente legato al CMS ricordarsi che alcuni file di configurazione contengono informazioni sensibili come username e password. Sbagliare a settare i permessi di accesso a questi file permetterebbe ad un altro utente di ottenere facilmente queste informazioni.

Page 26: CMS - Analisi Vulnerabilità

Grazie per l'attenzione