SlideShare uma empresa Scribd logo
1 de 26
Firefox  (in)Security Prasanna K  Dead Pixel
What  & Who  This presentation demonstrates strength of the Mozilla platform and  how some of the features could be Mis-Used by malicious users.  This presentation is intended to dispel a common Myth FIREFOX is SECURE
Firefox Browser of the choice for  millions  Multi Platform  Modular and Scalable !  Pluggable Extension Code !  Browser of my Choice 
Agenda Introduction Mozilla Platform Attacking Firefox         Malicious Extensions XCS Some basic points to watch…. That’s All Folks …
Introduction
Extension Security ! Mozilla extension security model is non-existent Extension code is fully trusted by Firefox Vulnerability in extension code might result in full system compromise No security boundaries between extensions An extension can silently modify/alter another extension
Mozilla Platform  Chrome:  It could be used to indicate a “Special Trusted Zone” within the Mozilla Platform
Mozilla Platform  XUL (pronounced "zool") :  Mozilla's XML-based language that lets you build feature-rich cross platform applications that can run connected or disconnected from the Internet.  <?xml version="1.0"?> <?xml-stylesheethref="chrome://global/skin/" type="text/css"?> <window id="vbox example" title="Example 3...." xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">   <vbox>     <button id="yes" label="Yes"/>     <button id="no" label="No"/>     <button id="maybe" label="Maybe"/>   </vbox> </window>
Mozilla Platform  XBL: XML-based markup language used to declare the behavior and look of XUL-widgets and XML elements. scrollbar { -moz-binding: url('somefile.xml#binding1'); } --  “binding1” is the id of the binding
Mozilla Platform  XPCOM: Cross platform component model from Mozilla. Nerve center of the Mozilla platform. XPCOM  has some Similarity to CORBA and Microsoft COM.
Important Components of Mozilla Platform
Mozilla Platform
Attacking Firefox ! Now that we have seen the basic Architecture now for some Fun 
Extensions Extensions Add functionality to Firefox, Thunderbird and Sea-monkey. Sample Files inside a XPI file exampleExt.xpi:               /install.rdf                                  /components/*                 /components/cmdline.js                                  /defaults/               /defaults/preferences/*.js                    /plugins/*                                       /chrome.manifest               /chrome/icons/default/*                      /chrome/               /chrome/content/
Malicious Extensions We will build a Malicious Extension which will  Log all Key Strokes and Send Remotely Execute Native Code Crack Stored passwords  Add malicious site to No Script. DEMO
Interesting Finds In Course of this presentation I found some interesting finds some have been previously discussed but here they are again !
XCS ,[object Object]
XCS injections occur from untrusted to trusted zone.
PDP was the first person to exploit XCS. ,[object Object]
DOM Nodes when Dragged and Dropped move the properties attributes and behavior
A extension that trusts copied DOM content be can be subverted by sending malicious content
CreateEvent() DOM function can be used to send malicious content to the extensionDEMO
Bypassing Wrappers ,[object Object]
 wrappedJSObject can be used to strip the wrapper protection.DEMO
XBL Injection  ,[object Object]
When an extension makes use of bindings, elements within the bindings are attached to the invoking page.

Mais conteúdo relacionado

Mais procurados

Mais procurados (18)

Web browsers
Web browsersWeb browsers
Web browsers
 
Web browsers
Web browsersWeb browsers
Web browsers
 
mozilla firefox
mozilla firefox mozilla firefox
mozilla firefox
 
Browsers
BrowsersBrowsers
Browsers
 
Introduction about mozilla
Introduction about mozillaIntroduction about mozilla
Introduction about mozilla
 
Mozila firefox The Internet Browser
Mozila firefox The Internet BrowserMozila firefox The Internet Browser
Mozila firefox The Internet Browser
 
Browsers
BrowsersBrowsers
Browsers
 
Navegadores
NavegadoresNavegadores
Navegadores
 
Firefox os
Firefox osFirefox os
Firefox os
 
Web browsers
Web browsersWeb browsers
Web browsers
 
Web browser by group no 03 capt palliyaguru
Web browser by group no 03   capt palliyaguruWeb browser by group no 03   capt palliyaguru
Web browser by group no 03 capt palliyaguru
 
Web Browsers
Web BrowsersWeb Browsers
Web Browsers
 
Browser security — ROOTS
Browser security — ROOTSBrowser security — ROOTS
Browser security — ROOTS
 
Firefox
FirefoxFirefox
Firefox
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
BROWSERS
BROWSERS BROWSERS
BROWSERS
 
internet explorer
internet explorerinternet explorer
internet explorer
 
Security Model in .NET Framework
Security Model in .NET FrameworkSecurity Model in .NET Framework
Security Model in .NET Framework
 

Semelhante a Firefox (in)Security

Abusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAbusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAjin Abraham
 
XUL - Mozilla Application Framework
XUL - Mozilla Application FrameworkXUL - Mozilla Application Framework
XUL - Mozilla Application FrameworkUldis Bojars
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriDocker, Inc.
 
Introduction to XPConnect
Introduction to XPConnectIntroduction to XPConnect
Introduction to XPConnectAnant Narayanan
 
Firefox Extension Development
Firefox Extension DevelopmentFirefox Extension Development
Firefox Extension Developmentphamvanvung
 
Orange is the new blue: How to port Chrome Extension to Firefox Extension
Orange is the new blue: How to port Chrome Extension to Firefox ExtensionOrange is the new blue: How to port Chrome Extension to Firefox Extension
Orange is the new blue: How to port Chrome Extension to Firefox Extensionchaykaborya
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension DevelopmentAbhinav Chittora
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Roberto Suggi Liverani
 
Abusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox AddonsAbusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox AddonsAjin Abraham
 
Internet browsers by Andres Haydar
Internet browsers by Andres HaydarInternet browsers by Andres Haydar
Internet browsers by Andres HaydarAndresHaydar
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiatedKevin Lee
 
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...Matt Raible
 
Browsers .
Browsers .Browsers .
Browsers .seripa3
 
Trabajo de jose
Trabajo de jose Trabajo de jose
Trabajo de jose josemgg
 
Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction senthil0809
 

Semelhante a Firefox (in)Security (20)

Abusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAbusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-ons
 
XUL - Mozilla Application Framework
XUL - Mozilla Application FrameworkXUL - Mozilla Application Framework
XUL - Mozilla Application Framework
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
 
Introduction to XPConnect
Introduction to XPConnectIntroduction to XPConnect
Introduction to XPConnect
 
Firefox Extension Development
Firefox Extension DevelopmentFirefox Extension Development
Firefox Extension Development
 
Orange is the new blue: How to port Chrome Extension to Firefox Extension
Orange is the new blue: How to port Chrome Extension to Firefox ExtensionOrange is the new blue: How to port Chrome Extension to Firefox Extension
Orange is the new blue: How to port Chrome Extension to Firefox Extension
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension Development
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012
 
Abusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox AddonsAbusing Exploiting and Pwning with Firefox Addons
Abusing Exploiting and Pwning with Firefox Addons
 
Hack the whale
Hack the whaleHack the whale
Hack the whale
 
Internet browsers by Andres Haydar
Internet browsers by Andres HaydarInternet browsers by Andres Haydar
Internet browsers by Andres Haydar
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
 
Flex & Drupal Integration
Flex & Drupal IntegrationFlex & Drupal Integration
Flex & Drupal Integration
 
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...Security Patterns for Microservice Architectures - ADTMag Microservices & API...
Security Patterns for Microservice Architectures - ADTMag Microservices & API...
 
Browsers .
Browsers .Browsers .
Browsers .
 
Trabajo de jose
Trabajo de jose Trabajo de jose
Trabajo de jose
 
Browsers
BrowsersBrowsers
Browsers
 
Browsers
BrowsersBrowsers
Browsers
 
Browsers
BrowsersBrowsers
Browsers
 
Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction
 

Firefox (in)Security

  • 1. Firefox (in)Security Prasanna K Dead Pixel
  • 2. What & Who This presentation demonstrates strength of the Mozilla platform and how some of the features could be Mis-Used by malicious users. This presentation is intended to dispel a common Myth FIREFOX is SECURE
  • 3. Firefox Browser of the choice for millions Multi Platform Modular and Scalable ! Pluggable Extension Code ! Browser of my Choice 
  • 4. Agenda Introduction Mozilla Platform Attacking Firefox Malicious Extensions XCS Some basic points to watch…. That’s All Folks …
  • 6. Extension Security ! Mozilla extension security model is non-existent Extension code is fully trusted by Firefox Vulnerability in extension code might result in full system compromise No security boundaries between extensions An extension can silently modify/alter another extension
  • 7. Mozilla Platform Chrome: It could be used to indicate a “Special Trusted Zone” within the Mozilla Platform
  • 8. Mozilla Platform XUL (pronounced "zool") : Mozilla's XML-based language that lets you build feature-rich cross platform applications that can run connected or disconnected from the Internet. <?xml version="1.0"?> <?xml-stylesheethref="chrome://global/skin/" type="text/css"?> <window id="vbox example" title="Example 3...." xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <vbox> <button id="yes" label="Yes"/> <button id="no" label="No"/> <button id="maybe" label="Maybe"/> </vbox> </window>
  • 9. Mozilla Platform XBL: XML-based markup language used to declare the behavior and look of XUL-widgets and XML elements. scrollbar { -moz-binding: url('somefile.xml#binding1'); } -- “binding1” is the id of the binding
  • 10. Mozilla Platform XPCOM: Cross platform component model from Mozilla. Nerve center of the Mozilla platform. XPCOM has some Similarity to CORBA and Microsoft COM.
  • 11. Important Components of Mozilla Platform
  • 13. Attacking Firefox ! Now that we have seen the basic Architecture now for some Fun 
  • 14. Extensions Extensions Add functionality to Firefox, Thunderbird and Sea-monkey. Sample Files inside a XPI file exampleExt.xpi: /install.rdf /components/* /components/cmdline.js /defaults/ /defaults/preferences/*.js /plugins/* /chrome.manifest /chrome/icons/default/* /chrome/ /chrome/content/
  • 15. Malicious Extensions We will build a Malicious Extension which will Log all Key Strokes and Send Remotely Execute Native Code Crack Stored passwords Add malicious site to No Script. DEMO
  • 16. Interesting Finds In Course of this presentation I found some interesting finds some have been previously discussed but here they are again !
  • 17.
  • 18. XCS injections occur from untrusted to trusted zone.
  • 19.
  • 20. DOM Nodes when Dragged and Dropped move the properties attributes and behavior
  • 21. A extension that trusts copied DOM content be can be subverted by sending malicious content
  • 22. CreateEvent() DOM function can be used to send malicious content to the extensionDEMO
  • 23.
  • 24. wrappedJSObject can be used to strip the wrapper protection.DEMO
  • 25.
  • 26. When an extension makes use of bindings, elements within the bindings are attached to the invoking page.
  • 27. CSS plays a role in exploiting XBLDEMO
  • 28. What Should a END User Mind Suspicious single file(s) in extension folder. XPI are Archives can be un-Zipped and checked for any packaged Executables Check the install.rdf for common pitfalls mainly <em:hidden> Verify chrome.manifest does not point to other extension folders as it can overwrite functionality.
  • 29. What Should a Developer Do. That’s a whole Presentation By itself Don’t Bypass Wrappers Don’t Trust content From the Un-Trusted Domain. Don’t use eval() Follow this link : https://developer.mozilla.org/en/Security_best_practices_in_extensions
  • 30. Tools Firebug XULWebDeveloper XPComViewer Venkman Console2 Burp
  • 31. Last Words We discussed Some Ways subverting the Mozilla Platform This list is not by any means exhaustive There are some strategies like Sandboxes which can be bypassed New features like themes open new avenues ! HTML 5 would definitely be a point to consider (LavaKumar Speech) Last Mozilla is a secure platform but can easily be exploited …. So some care should be considered.
  • 33. Thank You prasanna@deadpixel.org

Notas do Editor

  1. Xp Connect is the scripting front end to underlying Xpcom interfaces
  2. Introduction to extensions
  3. Xp Connect is the scripting front end to underlying Xpcom interfaces
  4. Discuss about Z:\\
  5. Xp Connect is the scripting front end to underlying Xpcom interfaces