Lo Stato Attuale della Sicurezza nell'Ecosistema di Wordpress

1,884 views

Published on

Wordcamp Italy 2013 Bologna

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,884
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

×