ݺߣ

ݺߣShare a Scribd company logo
CMS, Analisi automatica
  delle vulnerabilità
                   Raffaele Forte
Security Advisor. Founder & Core Developer at BackBox Linux
Raffaele Forte
Founder at BackBox Linux
http://www.backbox.org
Embedded Linux engineer at Akhela
http://www.akhela.org
Security Advisor at Open Soluzioni
http://www.opensoluzioni.it

Email
raffaele@backbox.org
raffaele.forte@akhela.com
Summary   ● Content Management System
          ● Metodologia
          ● OWASP TOP 10
          ● Analisi Automatica
            ○ BackBox Linux
               ■ Wappalyzer, WhatWeb
               ■ Joomscan, WPScan
          ● Exploiting
          ● Conclusioni
Content Management System
Exploit by exploit-db.com
Metodologia
●   Information Gathering
●   Vulnerability Assessment
●   Exploitation
●   Privilege Escalation
●   Maintaining Access
●   Documentation & Reporting
Information Gathering
La raccolta delle informazioni permette all'attaccante di acquisire
dati utili
Web Applications / CMS
● Piattaforma utilizzata (WordPress, Joomla, Drupal, ecc.)
● Numero di versione
● Plugins installati

WhatWeb è un software open-source che effettua questa tipologia di
analisi
Vulnerability Assessment
Avere 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.
Exploit
La 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.com
htp://www.1337day.com
Maintaining Access
Violato 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.
Documentation & Reporting
L'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
OWASP TOP 10
Le 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.   Injection                         6.   Security Misconfiguration
2.   Cross-Site Scripting (XSS)        7.   Insecure Cryptographic Storage
3.   Broken Authentication and         8.   Failure to Restrict URL Access
     Session Management                9.   Insufficient Transport Layer
4.   Insecure Direct Object Reference       Protection
5.   Cross-Site Request Forgery       10.   Unvalidated Redirects and
     (CSRF)                                 Forwards
Analisi automatica
Un 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à.
Analisi automatica
Introdurremo 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.
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.
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.
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.
WhatWeb
Vediamo 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)
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.
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.)
CMS - Analisi Vulnerabilità
Exploiting
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.
Grazie per l'attenzione

More Related Content

CMS - Analisi Vulnerabilità

  • 1. CMS, Analisi automatica delle vulnerabilità Raffaele Forte Security Advisor. Founder & Core Developer at BackBox Linux
  • 2. Raffaele Forte Founder at BackBox Linux http://www.backbox.org Embedded Linux engineer at Akhela http://www.akhela.org Security Advisor at Open Soluzioni http://www.opensoluzioni.it Email raffaele@backbox.org raffaele.forte@akhela.com
  • 3. Summary ● Content Management System ● Metodologia ● OWASP TOP 10 ● Analisi Automatica ○ BackBox Linux ■ Wappalyzer, WhatWeb ■ Joomscan, WPScan ● Exploiting ● Conclusioni
  • 6. Metodologia ● Information Gathering ● Vulnerability Assessment ● Exploitation ● Privilege Escalation ● Maintaining Access ● Documentation & Reporting
  • 7. Information Gathering La raccolta delle informazioni permette all'attaccante di acquisire dati utili Web Applications / CMS ● Piattaforma utilizzata (WordPress, Joomla, Drupal, ecc.) ● Numero di versione ● Plugins installati WhatWeb è un software open-source che effettua questa tipologia di analisi
  • 8. Vulnerability Assessment Avere 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.
  • 9. Exploit La 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.com htp://www.1337day.com
  • 10. Maintaining Access Violato 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.
  • 11. Documentation & Reporting L'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
  • 12. OWASP TOP 10 Le 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. Injection 6. Security Misconfiguration 2. Cross-Site Scripting (XSS) 7. Insecure Cryptographic Storage 3. Broken Authentication and 8. Failure to Restrict URL Access Session Management 9. Insufficient Transport Layer 4. Insecure Direct Object Reference Protection 5. Cross-Site Request Forgery 10. Unvalidated Redirects and (CSRF) Forwards
  • 13. Analisi automatica Un 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à.
  • 14. Analisi automatica Introdurremo 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.
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. WhatWeb Vediamo 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)
  • 20. 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.
  • 22. 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.)
  • 25. 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.