meetmagento 2014 hackers_onofri

Download Meetmagento 2014 hackers_onofri

If you can't read please download the document

Upload: simone-onofri-prince2-agilepm-csm-itil-cobit-27001

Post on 08-Jun-2015

334 views

Category:

Technology


0 download

DESCRIPTION

“Da un grande potere derivano grandi responsabilità”, ci ricordano le parole di un grande supereroe. Allora, considerato che Magento è uno dei sistemi di eCommerce più utilizzati in tutto il mondo, è essenziale assumersi ogni responsabilità rispetto agli aspetti di sicurezza che, se trascurati, possono portare ingenti danni. Durante il talk, Simone Onofri illustrerà le principali vulnerabilità, utilizzando la OWASP TOP 10 2013 e specifici esempi sull’ecosistema di Magento per imparare assieme come rendere sicura la propria installazione di Magento o il proprio Plugin.

TRANSCRIPT

  • 1. HackersvsMagento LeprincipalivulnerabilitdelleapplicazioniwebtraOWASP TOP102013eMagento SimoneOnofri

2. hDp://onofri.org/u/mm14 3. Agenda 4. Agenda Introduzione ! Comesisonoevoluteleminacce ! laOWASPTOP102013! ! Conclusioni 5. Comesisonoevoluteleminacceneltempoeperchla OWASPTOP102013 6. ComputerSecurityTimeline 1970 Neiprimianninasceil primo Virus,infeDagliApplee sidiondetramiteFloppy. NegliulGmianninasconoi Worm,alcunideiquali cifranoildisco.ADacchialle PA. 1980 1990 BlueBoxPhreaking daCapitanCrunch. ADacchiallecompagnie telefoniche. Ilmezzodipropagazione spessole-mailei bersaglisonoisistemi operaGviMicrosoP (aDaccandoes.Outlook express).Ilbersagliosono lepersone. 7. ComputerSecurityTimeline 2000 SidenuncianoAdvanced PersistentThreat.I disposiGvimobile diventanounbersaglio Gpico.SonomoltofrequenG aDacchiasfondopoliTco. Diventaevidentecome quesGstrumenGsianousaT comearmi. 2010 IVirusaDaccanoanche iservizidirete(es.Slammer, SassereBlaster). InizianogliaDacchi alleApplicazioniWebesu SCADA.LobieVvoanche crearedisservizi. EatuVglieeV unBusiness. 8. 1991 inventatoilweb 9. 2001 nasceOWASP 10. 2003 nascelaTOPTen 11. 2013 10annidiTOPTen! 12. LaOWASPTOP102013 13. A10.UnvalidatedRedirecteForwards Le vulnerabilit di Gpo Unvalidated Redirect e Forwards si vericano quando daT non validaT uGlizzaG per gesGre redirezioni verso altre pagine o siG, permeDendo di redirezionare lutente su pagine o siG terzi. Tali vulnerabilit possono essere uGlizzate da malware o per aDacchi di phishing come per quesGonidiBlackSEO-secondoilparGcolareredirectuGlizzatodallapagina. 14. TipicoRedirect(cheincludeanchealtrevulnerabilit) 15. A9.UsingComponentswithKnown VulnerabiliTes LevulnerabilitdiquestoGpoinsistonosullacongurazioneedeploymentdi sistemie/oapplicazioni. LimpaDovariasecondolaproblemaGcaspecica,adesempiodallevulnerabilit presenGinunapplicaGonserverounalibreriaapplicaGvanonaggiornata. LaresponsabilitdellaggiornamentoperalcuniaspeVsistemisTca,peraltri applicaTva;altriaggiornamenGpotrebberoinoltredipenderedanecessit applicaGvemainsisteresuisistemi. 16. http://www.magentocommerce.com/blog/ category/security-updates/ AttenzioneallaversionediMagentoeaiPlugin(sopratutto) 17. AttenzioneanchealServereaPHP! $ curl -kis http:// magento.example.com/ HTTP/1.1 302 Moved Temporarily Date: Wed, 21 Aug 2013 14:51:21 GMT Server: Apache 2.2.2 X-Powered-By: PHP/5.3.8 Location: https:// magento.example.com/index.php Content-Type: text/html; charset=UTF-8 Content-Length: 0 18. so]warenotupdatedsince2005 19. A8.CrossSiteRequestForgery(CSRF) LevulnerabilitdiquestoGpo,solitamenteconsiderateproblemaGchenella gesTonedellasessione,permeDonodifareseguirerichiestearbitrarieadun utenteversounapplicazionepotendonecossfruDarelaccesso,senzache lutentesianoTcatodellafvit.Ilbrowser,quandoesegueunarichiesta versounapplicazione,inviaautomaGcamenteeventualicookiepresenG.LaCSRF parGcolarmentecriGcaperoperazionichemodicanolostatodelsistema. 20. ExplainingCSRF visitaalsitomalicious paginaconlarichiestaforgiata esecuzionedellarichiestaforgiata confermadellesecuzione 21. POST /pt/vulnerable-extenstion/index/ saveRegistry/ ! Content-Type: multipart/form-data; boundary=---------------------------14889655568 59511301088424814 ! -----------------------------148896555685951130 1088424814 ! Content-Disposition: form-data; name="regtitle" ! ! ! NonostantelultimaversionediMagentoabbiadellefunzionalitanti-CSRFnon tuttiipluginleutilizzano. 22. A7.MissingFuncTonLevelAccessControl LevulnerabilitdiquestoGpoconsistononelleproblemaGchecheespongono funzionalitchedovrebberoinveceessereproteDedauncontrolloaccessi. Riguardanopertantolautorizzazione,chepuesseregesGta-secondoicontesG -sialatoapplicaGvochelatosistemisGco(inquestocasotramitela congurazione).LimpaDodipendedalGpodifunzionalitcuisihaaccesso. 23. http://www.example.com/ bin.php?id=1&download=1 unnotosistemasullostiledipastebin 24. A6.SensiTveDataExposure LevulnerabilitdiquestoGpoconsistononelleproblemaGchecheespongono informazionichedovrebberoinveceessereproteDe.Leinformazionidevono essereproteDequandotrasmesse(sicurezzadellacomunicazione),quando memorizzatesulserver(criDograa)oppurequandovengonoinviatealbrowser (caching). 25. $ python sslyze.py --regular www.example.com ! ! CHECKING HOST(S) AVAILABILITY ----------------------------- ! www.example.com:443 => 127.0.0.1:443 ! ! ! SCAN RESULTS FOR WWW.EXAMPLE.COM:443 - 127.0.0.1:443 --------------------------------------------------------- ! * Compression : Compression Support: Enabled zlib compression ! CRIME 26. SalvarelepasswordsuMagento 27. A5.SecurityMisconguraTon LevulnerabilitdiquestoGpoinsistonosullacongurazioneedeploymentdi sistemie/oapplicazioni. LimpaDovariasecondolaproblemaGcaspecica,adesempiodiaccederealle interfaccediamministrazionetramitepassworddidefault. LaresponsabilitdellecongurazioniperalcuniaspeVsistemisTca,peraltri applicaTva;alcunecongurazionipotrebberoinoltredipenderedanecessit applicaGvemainsisteresuisistemi. 28. /downloader /admin /RELEASE_NOTES.txt /mage /php.ini.sample /install.php /LICENSE_AFL.txt /LICENSE.html /install.php /shell* FiledellinstallazionediMagento 29. FileSQLabbandonati 30. admin123123onloginpage 31. A4.InsecureDirectObjectReference LevulnerabilitdiGpoInsecureDirectObjectReferencepossoriguardare problemaGchediautorizzazioneneiparametridiingressoche,noncontrollando leeVvopossessoperlautorizzazionediaccesso,permeDonolaccessoad oggeValtrimenGnonaccessibili.Perognirisorsa,bisognadeniresequesta puessereaccessibiledadeterminaGutenG(ancheanonimi),esesi autorizzaGallavisualizzazione.SpessoquestoGpodicontrollovienefaDo tramiteilprincipiodellasicurezzatramitesegretezza,pertantoconoscendoil valoredelparametropossibileaccedervi. 32. http://magento.example.com/plugin/ index/registry/id/XXXXX1/ http://magento.example.com/plugin/ index/registry/id/XXXXX2/ ! http://magento.example.com/plugin/ index/registry/id/XXXXX3/ ! http://magento.example.com/plugin/ index/registry/id/XXXXX4/ SeunURLriservatoverificaresempreipermessiquandocisiaccede 33. A3.CrossSiteScripTng(XSS) Le vulnerabilit di Gpo XSS si vericano quando daT non validaT vengono resGtuiG al browser, oppure memorizzaG dallapplicazione e resGtuiG in un secondomomento,permeDendoquindidieseguirecodicelatoclientallinterno delbrowserdegliutenG. LimpaDodiquestevulnerabilitspessoaltoepermeDedicompromeDeregli utenG,oppuredieseguiredeidefacement. 34. POST http://magento.example.com/index.php/admin/ console_gestione/api_role/saverole/key/hash/ ! form_key=formkey &rolename=test01"> &role_id= &in_role_user= &in_role_user_old= &gws_is_all=1 &resource=__root__ &all=0 StoredXSSnellamministrazionediMagento(Ruoli) 35. CrossSiteScripTngsuMagento *

36. A2.BrokenAuthenTcaTonandSession Management LevulnerabilitdiquestoGpopossonoriguardarelagesTonedellasessioneo insisteresullautenTcazione,permeDonodiaccedereallapplicazioneconi permessidialtriutenG.AutenGcazioneeSessionesonoargomenGcorrelaG.Una voltachelutentesiautenGca,vieneidenGcatoaDraversoliddisessione,che puesseresoggeDoadaDacchidisvariatoGpo,comeanchelecredenziali,la schermatadiautenTcazioneconirispeVvierroriedeventualipagineche gesGsconolecredenzialidegliutenG,comelafunzionalitdicambiopassword. 37. $ curl -kishttps:// magento.example.com/ | grep Set- Cookie Set-Cookie: sessioncookie=XYZ; expires=Thu, 29-Aug-2014 07:22:22 GMT; path=/; domain=magento.example.com; NelcookiemancalattributoHTTPOnlyeSecure 38. https://magento.example.com/customer/account/ confirmation/email/simone.onofri@real/ ! https://magento.example.com/customer/account/ confirmation/email/simone.onofri@fake/ Tramiteunarispostadiversaperlinviodellinkdiconfermapossibileenumeraregliutenti 39. A1.InjecTon LevulnerabilitdiGpoInjecGonsivericanoquandodaTnonvalidaTvengono inviaGcomepartediunarichiestaversouninterprete,permeDendodieseguire richiesteocomandinormalmentenonprevisGdallapplicazione. LimpaDodiquestevulnerabilitspessoaltoepermeDedicompromeDereil sistemaoidaG. 40. POST http://magento.example.com/ index.php/api/xmlrpc ! ]> &xxe; XmlEntityExpansionInjection 41. SQLInjecTonsuMagento 42. morale? 43. 2003/2004 (aDacks) 2007 (vulnerabiliTes) 2010 (risks) 2013 (risks) UnvalidatedInput CrossSiteScripTng(XSS) InjecTon InjecTon BrokenAccessControl InjecTonFlaws Cross-SiteScripTng(XSS) BrokenAuthenTcaTon andSessionManagement BrokenAuthenTcaTon andSessionManagement MaliciousFileExecuTon BrokenAuthenTcaTon andSessionManagement Cross-SiteScripTng(XSS) CrossSiteScripTng(XSS) Flaws InsecureDirectObject Reference InsecureDirectObject References InsecureDirectObject References BuerOverows CrossSiteRequest Forgery(CSRF)* Cross-SiteRequest Forgery(CSRF) SecurityMisconguraTon InjecTonFlaws InformaTonLeakageand ImproperErrorHandling SecurityMisconguraTon SensiTveDataExposure ImproperErrorHandling BrokenAuthenTcaTon andSessionManagement InsecureCryptographic Storage MissingFuncTonLevel AccessControl InsecureStorage InsecureCryptographic Storage FailuretoRestrictURL Access Cross-SiteRequest Forgery(CSRF) DenialofService InsecureCommunicaTons InsucientTransport LayerProtecTon UsingKnownVulnerable Components InsecureConguraTon Management FailuretoRestrictURL Access UnvalidatedRedirects andForwards UnvalidatedRedirects andForwards 44. Conclusioni 45. GRAZIE! ;-)http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri 46. DOMANDE ?http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri