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

Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

Embed Size (px)

DESCRIPTION

Wordcamp Italy 2013 Bologna

Citation preview

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