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

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

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
Tweet

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