Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lo Stato della Sicurezza nell'Ecosistema di Wor...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Gianluca Gianluca
February 09, 2013

Lo Stato della Sicurezza nell'Ecosistema di Wordpress

WordCamp Italy 2013 - Bologna

Avatar for Gianluca

Gianluca

February 09, 2013

Other Decks in Technology

Transcript

  1. WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13 Lo

    Stato Attuale della Sicurezza nell'Ecosistema di Wordpress   di GIANLUCA BRINDISI
  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. 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
  4. WPSCAN: COME Core Version Plugin Temi WORDCAMP BOLOGNA - 9

    FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13 DB  delle  vulnerabilità  
  5. 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  
  6. 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    
  7. 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/  
  8. 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)   •  ...  
  9. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI WORDCAMP BOLOGNA - 9 FEBBRAIO

    2013 @WORDCAMPBOLOGNA # WPCAMPBO13 ...  Davvero?  
  10. 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.  
  11. 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=miro slav +stampar&filter_plaoorm=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=  
  12. 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=miro slav +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....  
  13. 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/  
  14. 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...  
  15. 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  
  16. 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  
  17. 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  
  18. VULNERABILITÀ: PLUGIN/TEMI DI TERZE PARTI WORDCAMP BOLOGNA - 9 FEBBRAIO

    2013 @WORDCAMPBOLOGNA # WPCAMPBO13 Qual'è  la  situazione  nei  market  place  commerciali   come  ThemeForest?    
  19. 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à  
  20. 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  
  21. 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  
  22. 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   •  ...  
  23. 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  
  24. 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  
  25. 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  
  26. 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  
  27. 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_  
  28. DOMANDE? WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13

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