Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

30
WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13 Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress di GIANLUCA BRINDISI

description

Wordcamp Italy 2013 Bologna

Transcript of Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

Page 1: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Lo Stato Attuale della Sicurezza nell'Ecosistema

di Wordpress   di GIANLUCA BRINDISI

Page 2: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WPSCAN: CHI, COSA

Vulnerability scanner per Wordpress, open source e black box

http://wpscan.org - @_wpscan_

The Team: •  Ryan Dewhurst (@ethicalhack3r) •  Gianluca Brindisi (@gbrindisi) •  Erwan Le Rousseau (@erwanlr) •  Christian Mehlmauer (@_FireFart_)

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Page 3: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WPSCAN: COME

1.  Information gathering •  File comuni (readme.html, debug.log, ...) •  Codice Sorgente (generator tag, plugins paths, ...)

2.  Enumerazione Attiva •  Plugin •  Temi •  Utenti

3.  Bonus •  Login Bruteforcer •  Timthumb scanner

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Page 4: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WPSCAN: COME

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Page 5: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WPSCAN: COME

Core Version Plugin Temi

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

DB  delle  vulnerabilità  

Page 6: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

WPSCAN: IL DATABASE

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Vulnerabili1es  DB  

Un  po  di  sta+s+che:  •  Core  Vulns:  >  220  •     Plugin  Vulns:  >  480  •     Theme  Vulns:  >  150  

Page 7: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ  

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Page 8: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

 •  In  Wordpress:  

•  Rare  •  Coinvolgono  TUTTI  gli  uten1  •  Non  banali  

•  Nei  Plugin  e  nei  Temi:  •  Frequen1  •  L'impaKo  dipende  dalla  popolarità  •  Banali    

Page 9: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: WORDPRESS CORE

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Wordpress  è  abbastanza  sicuro:  •  E'  un  prodoKo  maturo  •  Sviluppato  professionalmente  •  Lo  sviluppo  è  centralizzato  

Qualche  vulnerabilità  recente:  •  XMLRPC  Pingback  Portscanner  [0]  •  Cross-­‐Site  Request  Forgery  (CSRF)  [1]  •  Cross-­‐Site  Scrip1ng  (XSS)  [2]  

hKps://github.com/wpscanteam/wpscan/wiki/WordPress-­‐3.5-­‐Issues  [0]:  hKps://github.com/FireFart/WordpressPingbackPortScanner  [1]:  hKp://packetstormsecurity.com/files/116785  [2]:  hKp://www.ethicalhack3r.co.uk/wordpress-­‐3-­‐3-­‐cross-­‐site-­‐scrip1ng-­‐xss/  

Page 10: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

I  plugin  e  i  temi  sono  PIENI  di  bug:  •  Mol1  sono  sviluppato  amatorialmente  •  Più  di  30  plugin/temi  nuovi  al  giorno  •  Mol1  di  più  sono  vendu1  aKraverso  piaKaforme  

commerciali  (i.e.  ThemeForest)    Vulnerabilità  ad  alto  impaBo:  

•  SQL  Injec1on  (SQLi)  •  Remote/Local  File  Inclusion  (RFI/LFI)  •  Cross-­‐Site  Scrip1ng  (XSS)  •  ...  

Page 11: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

...  Davvero?  

Page 12: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Agosto  2011:  Mark  Marauder  scopre  una  vulnerabilità  in    TimThumb  

hKp://markmaunder.com/2011/08/01/zero-­‐day-­‐vulnerability-­‐in-­‐many-­‐wordpress-­‐themes/  

X*  Plugin/Temi  coinvol1  

*  Al  tempo  non  avevamo  le  risorse  per  trovare  il  numero  esaKo.  In  compenso  abbiamo  scriKo  un  1mthumb  scanner.  

Page 13: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Agosto  2011:  Miroslav  Stampar  (@stamparm)  decide  di  dare  un'occhiata  alla  directory  dei  plugin....  

hKp://www.exploit-­‐db.com/search/?ac1on=search&filter_page=1&filter_descrip1on=&filter_exploit_text=wordpress&filter_author=miroslav+stampar&filter_plaoorm=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=  

Page 14: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

64    Plugin  vulnerabili  alle  SQL  Injec1ons  

hKp://www.exploit-­‐db.com/search/?ac1on=search&filter_page=1&filter_descrip1on=&filter_exploit_text=wordpress&filter_author=miroslav+stampar&filter_plaoorm=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=  

Agosto  2011:  Miroslav  Stampar  (@stamparm)  decide  di  dare  un'occhiata  alla  directory  dei  plugin....  

Page 15: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

SeKembre  2011:  Ben  Schmidt  (@_supernothing)  sistema1camente  scansiona  i  server  SVN  alla  ricerca  di  paKern  RFI/LFI  elementari...  

hKp://spareclockcycles.org/2011/09/18/exploitring-­‐the-­‐wordpress-­‐extension-­‐repos/  

Page 16: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

hKp://spareclockcycles.org/2011/09/18/exploitring-­‐the-­‐wordpress-­‐extension-­‐repos/  

38  Plugins  vulnerabili  a  RFI/LFI  

SeKembre  2011:  Ben  Schmidt  (@_supernothing)  sistema1camente  scansiona  i  server  SVN  alla  ricerca  di  paKern  RFI/LFI  elementari...  

Page 17: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Novembre  2012:  Una  vulnerabilità  di  1po  XSS  viene  scoperta  in  una  applet  flash  (swfupload.swf).  Insieme  con  Ryan  decidiamo  di  cercare  quan1  plugin  sono  coinvol1...  

hKp://brindi.si/g/blog/vulnerable-­‐swf-­‐bundled-­‐in-­‐wordpress-­‐plugins.html  

Page 18: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Novembre  2012:  Una  vulnerabilità  di  1po  XSS  viene  scoperta  in  una  applet  flash  (swfupload.swf).  Insieme  con  Ryan  decidiamo  di  cercare  quan1  plugin  sono  coinvol1...  

hKp://brindi.si/g/blog/vulnerable-­‐swf-­‐bundled-­‐in-­‐wordpress-­‐plugins.html  

40  Plugin  Vulnerabili  

Page 19: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Basta  un'occhiata  veloce  nelle  directory  di  plugin  e    temi  per  trovare  vulnerabilità  

 La  carva  no1zia  è  che  non  c'è  nessun  controllo  

di  qualità    

La  buona  no1zia  è  che  i  repository  SVN  sono  di  pubblico  dominio  

Page 20: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Qual'è  la  situazione  nei  market  place  commerciali  come  ThemeForest?  

 

Page 21: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Qual'è  la  situazione  nei  market  place  commerciali  come  ThemeForest?  

 Non  c'è  nessun  controllo  qualità  

Page 22: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Qual'è  la  situazione  nei  market  place  commerciali  come  ThemeForest?  

 Non  c'è  nessun  controllo  qualità  

 È  tuKo  closed  source  

Page 23: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Qual'è  la  situazione  nei  market  place  commerciali  come  ThemeForest?  

 Non  c'è  nessun  controllo  qualità  

 È  tuKo  closed  source  

 TuKo  quello  che  possiamo  fare  è  trovare  i  temi  

vulnerabili  tramite  google  dorks  

Page 24: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Errori  Comuni    •  Nessun  controllo  sull'input  utente  •  Inclusione  di  script  terzi  vulnerabili  

•  TimThumb  •  SWFupload  •  PLupload  •  ...  

Page 25: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: COME COLLEZIONARLE TUTTE

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

•  Da  dove  prendiamo  le  informazioni:  •  Wordpress  CHANGELOG!  •  Exploit/Advisory  directories/ml  

•  Exploit-­‐db.com  •  Full  Disclosure  ML  •   ....  

•  Honeypots  (sperimentale)  •  Passaparola  -­‐>  TwiKer!  •  Cerchiamo  le  vulnerabilità  direKamente  -­‐>  SVN  

crawling!  

•  Abbiamo  scriKo  un  bot  per  aiutarci:  @wpvulns  •  E  abbiano  anche  il  nostro  SVN  spider  

Page 26: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: COME COLLEZIONARLE TUTTE

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Il  processo:    

1.  Advisory    

2.  Tes1ng!  (se  ne  vale  la  pena)    

3.  Nel  caso  di  uno  0day  cerchiamo  di  contaKare  gli  autori  (plugin/temi)  o  direKamente  il  team  di  Wordpress  (core)    

4.  Aggiungiamo  la  vulnerabilità  al  DB  

Page 27: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: REPORT

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Segnalare  una  vulnerabilità  non  è  immediato:  •  Spesso  veniamo  ignora1  •  Il  bug  viene  patchato  di  nascosto  

Generalmente  segnaliamo  direBamente  al  team  di  Wordpress  che  si  occupa  di  disabilitare  la  pagina  del  

plugin/tema  dalla  directory  

Page 28: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

VULNERABILITÀ: REPORT

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Lo  sviluppatore  /  designer  ideale  •  Implementa  uno  schema  di  versioning  •  Tiene  aggiornato  il  CHANGELOG  •  Non  soKovaluta  un'advisory  •  Corregge  i  bug  e  fa  del  suo  meglio  per  allertare  gli  

uten1  

Page 29: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

CONCLUSIONI

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Il  tool  serve  per  controllare  periodicamente  la  presenza  di  vulnerabilità.    Lavoriamo  quo1dianamente  per  mantenere  l'ecosistema  di  Wordpress  più  sicuro.    TuKo  quello  che  facciamo  è  open  source  -­‐>  CONTRIBUITE!  

hKp://wpscan.org  -­‐  @_wpscan_  

Page 30: Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

DOMANDE?

WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

Gianluca  Brindisi  hKp://brindi.si/g/            @gbrindisi