Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

2,039 views

Published on

Wordcamp Italy 2013 Bologna

Published in: Technology
  • Be the first to comment

Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

  1. 1. Lo Stato Attuale della Sicurezza nellEcosistema di Wordpress   di GIANLUCA BRINDISI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  2. 2. 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
  3. 3. 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 scannerWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  4. 4. WPSCAN: COMEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  5. 5. WPSCAN: COME Core Version Plugin Temi DB  delle  vulnerabilità  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  6. 6. WPSCAN: IL DATABASE Un  po  di  sta+s+che:   •  Core  Vulns:  >  220   •     Plugin  Vulns:  >  480   •     Theme  Vulns:  >  150   Vulnerabili1es  DB  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  7. 7. VULNERABILITÀ  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  8. 8. VULNERABILITÀ   •  In  Wordpress:   •  Rare   •  Coinvolgono  TUTTI  gli  uten1   •  Non  banali   •  Nei  Plugin  e  nei  Temi:   •  Frequen1   •  LimpaKo  dipende  dalla  popolarità   •  Banali    WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  9. 9. VULNERABILITÀ: WORDPRESS CORE 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/  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  10. 10. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI 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)   •  ...  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  11. 11. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI ...  Davvero?  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  12. 12. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Agosto  2011:  Mark  Marauder  scopre  una  vulnerabilità  in    TimThumb   X*   Plugin/Temi  coinvol1   *  Al  tempo  non  avevamo  le  risorse  per  trovare  il  numero  esaKo.  In  compenso  abbiamo   scriKo  un  1mthumb  scanner.   hKp://markmaunder.com/2011/08/01/zero-­‐day-­‐vulnerability-­‐in-­‐many-­‐wordpress-­‐themes/  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  13. 13. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Agosto  2011:  Miroslav  Stampar  (@stamparm)  decide  di  dare  unocchiata  alla   directory  dei  plugin....   hKp://www.exploit-­‐db.com/search/? ac1on=search&filter_page=1&filter_descrip1on=&filter_exploit_text=wordpress&filter_author=miro slav +stampar&filter_plaoorm=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  14. 14. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Agosto  2011:  Miroslav  Stampar  (@stamparm)  decide  di  dare  unocchiata  alla   directory  dei  plugin....   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=miro slav +stampar&filter_plaoorm=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  15. 15. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI 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/  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  16. 16. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI SeKembre  2011:  Ben  Schmidt  (@_supernothing)  sistema1camente  scansiona  i   server  SVN  alla  ricerca  di  paKern  RFI/LFI  elementari...   38   Plugins  vulnerabili  a  RFI/LFI   hKp://spareclockcycles.org/2011/09/18/exploitring-­‐the-­‐wordpress-­‐extension-­‐repos/  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  17. 17. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI 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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  18. 18. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI 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...   40   Plugin  Vulnerabili   hKp://brindi.si/g/blog/vulnerable-­‐swf-­‐bundled-­‐in-­‐wordpress-­‐plugins.html  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  19. 19. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Basta  unocchiata  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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  20. 20. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Qualè  la  situazione  nei  market  place  commerciali   come  ThemeForest?    WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  21. 21. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Qualè  la  situazione  nei  market  place  commerciali   come  ThemeForest?     Non  cè  nessun  controllo  qualità  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  22. 22. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Qualè  la  situazione  nei  market  place  commerciali   come  ThemeForest?     Non  cè  nessun  controllo  qualità     È  tuKo  closed  source  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  23. 23. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI 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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  24. 24. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI Errori  Comuni     •  Nessun  controllo  sullinput  utente   •  Inclusione  di  script  terzi  vulnerabili   •  TimThumb   •  SWFupload   •  PLupload   •  ...  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  25. 25. VULNERABILITÀ: COME COLLEZIONARLE TUTTE •  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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  26. 26. VULNERABILITÀ: COME COLLEZIONARLE TUTTE 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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  27. 27. VULNERABILITÀ: REPORT 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  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  28. 28. VULNERABILITÀ: REPORT Lo  sviluppatore  /  designer  ideale   •  Implementa  uno  schema  di  versioning   •  Tiene  aggiornato  il  CHANGELOG   •  Non  soKovaluta  unadvisory   •  Corregge  i  bug  e  fa  del  suo  meglio  per  allertare  gli   uten1  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  29. 29. CONCLUSIONI hKp://wpscan.org  -­‐  @_wpscan_   Il  tool  serve  per  controllare  periodicamente  la  presenza  di   vulnerabilità.     Lavoriamo  quo1dianamente  per  mantenere  lecosistema  di   Wordpress  più  sicuro.     TuKo  quello  che  facciamo  è  open  source  -­‐>  CONTRIBUITE!  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  30. 30. DOMANDE? Gianluca  Brindisi   hKp://brindi.si/g/            @gbrindisi  WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

×