mvc export to excel and pdf : Convert pdf picture to jpg application software utility azure winforms windows visual studio firefox_and_malware0-part1430

Security Response
Contents
Abstract ..............................................................1
Introduction .......................................................1
Possible issues ...................................................4
Potential damage ...............................................6
Mitigation strategies..........................................6
Firefox risks examples .......................................7
Conclusion........................................................11
Acknowledgement ...........................................12
Appendix ..........................................................13
References .......................................................14
Abstract
Mozilla Firefox is a very popular browser and its open-de-
sign framework makes it easy to extend the functional-
ity by either changing the core code directly or creating ex-
tension plug-ins that work on multiple operating systems.
As with browser helper objects for Microsoft Internet Explorer, Fire-
fox extensions can also be misused to carry out malicious actions on 
the user’s computer without the user’s consent. Any installed exten-
sion has the same full rights as the browser itself and therefore can 
do a lot more than just display fancy Web pages. This includes access-
ing the file system in read and write mode, opening new network sock-
ets and even creating new processes. This leads to a variety of secu-
rity problems that can introduce or hide malicious code on a system. 
There have already been a number of cases where malware dropped 
malicious extensions or harmless extensions downloaded malicious 
code and the numbers are increasing, even full backdoor Trojans are 
possible this way. Furthermore, badly written extensions can be ex-
ploited through Web pages and therefore open new attack vectors.
This paper will highlight the security concerns with Firefox exten-
sions and will show the methods that Firefox malware uses today.
Introduction
Web browsers have long ago changed from pure HTML rendering 
to versatile instruments for displaying media-rich and interactive 
Web content. To keep up with the fast changing demands of features 
that a browser should support, the idea of extending it with plug-ins 
Candid Wüest & Elia Florio
Firefox and Malware:
When Browsers Attack
Convert pdf picture to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf page to jpg; convert pdf file into jpg format
Convert pdf picture to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
change pdf to jpg file; .net convert pdf to jpg
Firefox and Malware: When Browsers Attack
Page 2
Security Response
or add-ons was developed. This is not a new idea. Microsoft’s Internet Explorer has supported so-called browser 
helper objects (BHO) for many years and even Netscape’s Navigator supported plug-ins. A study from Market 
Share shows Firefox had a total market share of 22.48% in the middle of 2009, with more than 90% being Fire-
fox version 3.0 and higher.
1
With the growing popularity of the Mozilla Firefox browser; the community develop-
ing Firefox extensions has also grown. According to the Mozilla foundation, there are more than 12,000 exten-
sions available and they counted more than 1 billion extension downloads so far.
2
Quite an irresistible target for 
a malware author, don’t you think?
Scope of this paper
The focus of this paper lies with Mozilla Firefox extensions and not with plug-ins or themes; although similar 
security concerns apply to plug-ins and themes. Third party plug-ins; like the PDF reader, have been shown to be 
susceptible to vulnerabilities as well.
3
All tests were conducted with Firefox 3.0.10, if not noted differently.
There are also other Mozilla software packages besides Firefox, like Thunderbird, that can make use of exten-
sions in similar ways, but this is outside the scope of this paper.
What are extensions?
Mozilla based software allows three primary types of add-ons: extensions, plug-ins and themes. Simplified 
browser extensions are small programs that extend the browser’s feature set, for example by adding features for 
displaying multimedia Web content or managing general tasks like storing passwords for Web sites. In contrast 
to browser plug-ins most Firefox extensions are created by private users from the community, and are rarely digi-
tally signed.
Firefox extensions can be written in JavaScript or in programming languages like C/C++ or Python. It is also pos-
sible to include native code binaries, if needed. Extensions can use the XML User Interface Language (XUL) and 
the Cross Platform Component Object Model (XPCOM) API in order to access some lower level system functional-
ity. JavaScript can use the XPConnect interface to access XPCOM objects. The code files are compressed to an 
XPI file (cross platform install).
4
This abstraction layer allows the extension to be platform independent running 
on any operating system that Firefox is available on.
Mozilla recently released a new toolkit called Jetpack that will help to make it easier to create extensions for 
future versions of Mozilla software.
5
Time will show if this will introduce new attack vectors as well, but it will 
definitely boost the number of available extensions once more.
XPI file layout
Cross platform installer files (XPI) are normal zip compressed archives, typically containing the following files 
and folders: 
install.rdf 
[installer file]
• 
install.js 
[installer file]
• 
chrome.manifest 
[settings file]
• 
chrome 
[code folder]
• 
components  
[plug-in folder]
• 
defaults 
[preferences]
• 
The content inside the chrome folder can sometimes be compressed into a zip file with the JAR extension. The 
browser will then, on the fly, extract the needed files.
XPI extension files can also contain plug-in files with native code like .DLL files for Windows or .so files for 
Linux.
6
In general, they could contain any file the author wanted to include, such as malicious binary files, which 
can then be referenced from the extensions.
How Firefox extensions are installed
There are two main techniques to install Firefox extensions. Either by opening a linked or local XPI file; or by 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Jpg, Png, Gif, Bmp, Tiff and other bitmap images. Powerful .NET PDF image edit control, enable users to insert vector images to PDF file. Import graphic picture
change pdf file to jpg; convert pdf photo to jpg
VB.NET Image: Visual Basic .NET Guide to Draw Text on Image in .
for drawing text on a local picture with Visual Dim LoadImage As New Bitmap("C:\1. jpg") Dim Text As powerful & profession imaging controls, PDF document, image
best pdf to jpg converter online; convert pdf to high quality jpg
Firefox and Malware: When Browsers Attack
Page 3
Security Response
extracting the files directly into the cor-
responding folder by another local running 
program with access rights.
7
If the first 
method is used, a warning message as seen 
in Figure 1 is displayed, reminding the user 
that extensions could contain a malicious 
payload. After the installation, a restart of 
the browser is requested in order to load the 
extension. 
If the files are extracted directly to the 
extension folder the changes will take place 
the next time the browser is restarted, but 
no software installation warning dialog is 
displayed.
There is also the following command line 
switch for Firefox that can be used to install 
new extensions globally: 
-install-global-extension “C:\some_ran-
dom_extension.xpi” 
A global installation will install an extension to the 
application directory rather than within a profile, so 
it will be available to all users. 
Firefox version 3 and above will show an informa-
tional message when a new extension is installed as 
shown in Figure 2. This happens regardless of which 
of the above methods was used for installation.
To check which extensions are installed in Firefox, 
a user can look it up using the Windows menu tools 
under add-ons -> extensions or manually browse 
to one of the following folders on disk. The same 
locations can also be used to manually uninstall an 
extension if needed.
On Windows systems:
%UserProfile%\Application Data\Mozilla\
Firefox\Profiles\[RANDOM].default\exten-
sions
or
%ProgramFiles%\Mozilla Firefox\extensions
On a Mac OS X system:
/Library/Application Support/Mozilla/Extensions
The path might vary slightly depending on the version and installation options of Firefox and depending on if the 
extension was installed globally or only for one user.
On Windows systems, a user can also check for any additional extension folders referenced under one of the fol-
lowing registry keys:
Figure 1
XPI installation warning
Figure 2
“New add-on has been installed” 
information message
VB.NET Image: VB.NET Planet Barcode Generator for Image, Picture &
and a document file (supported files are PDF, Word & barcode image format as you need, including JPG, GIF, BMP Generate Planet Barcode on Picture & Image in VB
convert pdf file to jpg file; changing pdf to jpg file
VB.NET Image: How to Save Image & Print Image Using VB.NET
printing multi-page document files, like PDF and Word VB.NET Method to Save Image / Picture. different image encoders, including tif encoder, jpg encoder, png
c# convert pdf to jpg; change pdf to jpg
Firefox and Malware: When Browsers Attack
Page 4
Security Response
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\Extensions
• 
HKEY_CURRENT_USER\Software\Mozilla\Firefox\Extensions
• 
Once an extension is successfully installed, it can check for updates periodically and install any newer version, 
if requested to do so. This behavior can be disabled under the option tag in the browser, but it is enabled by 
default. An extension can even cancel an impending removal by calling the cancelUninstallItem() function of the 
extension manager object on the notification of an unload event.
Possible issues
This chapter will highlight a couple of security concerns and issues that can occur with Firefox extensions.
Update attack
An innocent looking and clean extension can deliberately place a malicious update at its predefined update URL. 
This will then be downloaded and prompted for installation the next time the browser checks for updates, which 
by default is once a day. Even the average security-conscious person usually checks the extension only before 
installing it the first time, any update with malicious intent might slip through. This could also happen if any of 
the update sites get silently hijacked. Most Firefox extensions now share the updates over the official addons.
mozilla.org domain, making it harder to hijack updates.
In April 2009, the widely used Firefox extension called NoScript, which can block Web scripts on a per domain 
basis, released a rather unusual update.
8
The author decided to make a small patch, after some preceding back 
and forth with another extension named Adblock Plus, which was designed to block advertisements, and did 
exactly this on the NoScript extension’s home page. The modification to the NoScript extension contained, en-
coded in hexadecimal, some slightly obfuscated code that tampered with the other extension. The main goal was 
to show the advertisements on his domain regardless of the filter settings used by Adblock Plus. Without much 
information about the intention of modifying an external extension the user was left on his own. Furthermore, 
as the NoScript extension had a long and good reputation, it was released to the addons.mozilla.org repository 
without manual inspection, thus getting downloaded to many unsuspecting users. So even though the payload 
was not devastating, it should be taken as an example that even well known extensions could potentially at some 
point include malicious code in an update.
Browser versions prior to Firefox 3 were susceptible to man in the middle attacks during the update process 
itself as it was possible to have an update URL that was not an HTTPS URL. Therefore a man in the middle attack 
on the network could redirect the update request to a malicious update file and install a malicious extension. 
Many popular extensions were vulnerable to this attack. This has since been changed and the update URL must 
now either be HTTPS or contain a public key of the signed update information file in order to ensure integrity. 
The update.rdf file then contains hash values of the files to download.
Unintentional infections
In February 2008, the Vietnamese language pack add-on for Mozilla got infected by an HTML file infector.
9
The 
author’s network or one of his computers was infected by this worm, which then modified the HTML help files 
to include a malicious script link. This modification was not noticed at Mozilla as at the time it got uploaded, the 
ClamAV scanner used did not detect this worm. There was no re-scanning of uploaded files afterwards and so it 
took two months before a user noticed and reported the infected language pack. Mozilla then quickly removed 
the offending add-on and cleaned it up. The offending version got blacklisted and all users were requested to 
upgrade. Mozilla has since changed their procedure of re-scanning for malicious code in uploaded code.
This shows that it is possible for malicious code to sneak into existing extensions and get potentially distributed 
to thousands of unknowing users.
Hide extensions
It is not always possible to view all installed extensions with the built-in functions. Extensions can use the tag 
VB.NET PDF insert image library: insert images into PDF in vb.net
Support various image formats, like Jpeg or Jpg, Png, Gif, Bmp, Tiff and Import graphic picture, digital photo, signature and logo into PDF document.
batch pdf to jpg online; convert pdf to jpg file
C# PDF remove image library: remove, delete images from PDF in C#.
VB.NET delete PDF pages, VB.NET convert PDF to SVG. Support removing vector image, graphic picture, digital photo remove multiple or all images from PDF document.
convert multi page pdf to single jpg; reader pdf to jpeg
Firefox and Malware: When Browsers Attack
Page 5
Security Response
word “hidden” in the install file in order to hide a global installed extension from the extension manager. Once 
installed, an extension can iterate through all the items listed in the Firefox extension manager object (@mozilla.
org/extensions/manager) and simply remove itself from this list or use a cascading style sheet property to hide 
itself. Another method is to modify the extension.rdf file in the profile folder and remove itself from it or set the 
type to 0, in order to be invisible in the extension manager.
Of course as Firefox is an open source application, it is possible for a malicious extension to place a code hook 
at any suitable place in Firefox and there are many of them. For instance, an extra manifest file located in the 
%ProgramFiles%\Mozilla Firefox\chrome  folder can start an XUL file which then runs like an exten-
sion, but is not listed anywhere. This will go unnoticed as there are no integrity checks on the code files. There 
are many root files for Firefox that could similarly be infected. They may even be used as obfuscated loading 
points for malware to execute normal binary files placed somewhere on the system.
These obfuscation tricks make it much harder to trace infections as these loading points are not listed under the 
tools->add-ons menu page and are not monitored for by many security software programs. If files of the core 
code base are modified, the malicious extension will run even if Firefox is started in safe mode.
Obfuscation
As we have seen from many JavaScript attack toolkits, a certain level of obfuscation can be achieved in 
JavaScript, allowing even some level of polymorphism. Encoding and splitting of keywords can make it difficult 
to analyze the code. The same techniques can obviously be applied to Firefox extensions coded in JavaScript in 
order to make it harder to analyze or to avoid detection by signatures.
Hijacking other extensions
XUL and XPCOM code can be directly injected into other Firefox extensions as a kind of parasitic extension 
infector, either by replacing the whole code file, adding a new malicious snippet or by changing the update URL 
to a location controlled by the attacker. New code can be added as self-contained files and be referenced in the 
chrome.manifest file or hidden and buried deep in the extension’s code. 
This even works on signed extensions as the integrity of an extension is only checked on the first installation. 
Any later modification of the installed extension files is not checked against the digital signature. This technique 
was, for example, used by BrowserSpy which was able to infect the Google toolbar extension.
10
Such cross infec-
tions make it hard to trace and remediate infections. It would be imaginable that even double infections from 
multiple viruses could occur, which could result in mutations like we have seen with office macro viruses in the 
past. Fortunately installed Firefox extensions are not exchanged as frequently as office macro files were, so the 
chance of spreading through human distribution is probably marginal. 
A minor case of extension hijacking is possible with extensions that rely on external scripts. The Greasemonkey 
extension is a good example of this. The extension allows user to create scripts that can be applied and executed 
to specific domains. This allows the script to locally modify the appearance of Web sites. If users do not carefully 
check scripts that they download, they might end up with malicious scripts running in Greasemonkey. There are 
several reports that malicious user scripts for popular sites have been distributed on the Internet
11
or used to 
carry on advanced phishing attack against social networking sites.
12
Browser overlay
Extensions can make use of so called overlays to extend or modify the appearance of the browser. Unfortunately, 
this also means that security relevant dialogs or setting forms can be changed. For example, it would be easy 
for a malicious extension to remove any phishing warning or SSL certificate mismatch prompt that the browser 
generates.
Vulnerable extensions
In April 2007, multiple vulnerabilities were found in the popular Firefox extension called Firebug.
13
If an attacker 
placed specially crafted code on a Web page that was viewed by a user with Firebug enabled, he could execute 
VB.NET PDF remove image library: remove, delete images from PDF in
C#.NET convert PDF to text, C#.NET convert PDF to images Support removing vector image, graphic picture, digital photo or all image objects from PDF document in
pdf to jpeg converter; bulk pdf to jpg
VB.NET Word: Word to JPEG Image Converter in .NET Application
NET example below on how to convert a local been converted into an individual Jpeg image / picture. powerful & profession imaging controls, PDF document, image
convert pdf to jpg; change from pdf to jpg on
Firefox and Malware: When Browsers Attack
Page 6
Security Response
script code under the chrome context. Chrome refers to the set of user interface elements of the browser that 
are outside of a window’s content area. This includes toolbars, menu bars and progress bars. Running arbitrary 
code with chrome privileges allows many powerful operations as highlighted below in “Potential Damage”. This 
includes silently downloading files and executing local binaries. Mozilla explains chrome privileges as follows: 
“The code running with chrome privileges is allowed to do everything, unlike the web content, which is restricted 
in several ways.“
14
Similar vulnerabilities could be deliberately planted into a popular extension by a mischievous author. Such 
planted bugs can be very hard to spot. This would allow an attacker to place exploit code in common Web pages. 
For example they could put a special tag with a URL that advises the extension to download and install the binary 
behind the URL. On the other hand, an extension would need to be quite popular in order for the attack to scale, 
unless of course it is a targeted attack for a small group.
Potential damage
Once an extension is installed, it is granted the same privileges as Firefox is running. Through XPCOM, the exten-
sion can access the local file system, write to files and create network sockets. Regardless of the type of operat-
ing system it is on.
15
Needless to say, it has full control over the browser and can change any appearance or the rendering of Web 
sites. An extension can read out stored passwords, access the clipboard, check memory usage, or browser his-
tory. When running on Windows systems, it can even access and modify the Windows registry. This makes it a 
favored candidate for Adware and Spyware risks or Infostealer threats.
16
Through the nsILocalFile interface and the launch() function or the nsIProcess interface and the run() function, 
local binaries can be executed, spawning new processes. There are other APIs available to control processes 
even further, like the nsIProcess2 interface. This could be used as a hidden loading point for malware that is 
present on the computer or to start binary files that were hidden in the XPI extension archive.
There are various events available that can be used as triggers; for example, the loading of the browser, the ren-
dering of a new Web site or the closing of a tab.
With more than 12,000 extensions freely available, there exist examples for nearly all common computer tasks.
17
For instance, there are password managers and local Web servers which potentially could be modified to run 
invisibly and steal information from the user.
As a result, it is next to nothing for an attacker to create a malicious extension with full control over the system 
and access to Web traffic before it gets encrypted by SSL.
18
Mitigation strategies
This chapter will illustrate some of the processes in place to minimize the discussed risks. Obviously there are 
many possible ways to increase security and this list is by no means meant to be exhaustive.
AMO Publishing guidelines
There exists a Mozilla reviewer’s guide which highlights some basic security checks that should be performed 
before new extensions are added to the Mozilla repository.
19
This includes checking for any obfuscated code, 
loading of remote components or heavy use of binary files.
New and freshly added extensions on addons.mozilla.org (AMO) are placed in a so-called sandbox. The term 
sandbox might be misleading here as it is more like a beta tester program. The extensions in the sandbox are 
not visible for normal visitors by default, but any user can explicitly browse them and install any of them. They 
are simply less tested. Over time an extension can get reviewed by administrators and moved from the sandbox 
into the public realm. Once an extension has established a trust level, new updates will become public without 
an immediate review. As we have elaborated in the Update Attack section, this is not a foolproof mechanism and 
could potentially be misused. It should further be noted that the above-mentioned guidelines are only applied if 
VB.NET Image: How to Create Visual Basic .NET Windows Image Viewer
including png, jpeg, gif, tiff, bmp, PDF, and Word What's more, you can even convert an image to ofd.Title = "Open Picture" ofd.Filter = "Picture File |*.bmp
convert multiple pdf to jpg; convert multipage pdf to jpg
VB.NET PDF copy, paste image library: copy, paste, cut PDF images
copying, pasting and cutting from adobe PDF file in Supported image formats, including Jpeg or Jpg, Png, Gif and cut vector image, graphic picture, digital photo
convert .pdf to .jpg online; batch pdf to jpg converter
Firefox and Malware: When Browsers Attack
Page 7
Security Response
the extension is hosted on addons.mozilla.org. If the author decides to host the extension on his own Web site, 
no guarantee is given for any checks.
Security mechanisms
Mozilla incorporated a local revocation list or blacklist of bad add-ons. The local file blocklist.xml contains IDs 
and version numbers of known bad extensions which are blocked from installing. Currently the list contains 7 
items including the infected language pack mentioned in the Unintentional Infections section. As this list works 
by matching names or GUIDs, it should be clear that a 
malicious extension could simply randomize the name to 
get past this blacklist. But the list is helpful in preventing 
legitimate extensions which have been found to be unsafe 
or buggy from being installed by an unaware user.
There exists a project from the University of Illinois at Chi-
cago which introduces the concept of validating extension 
integrity by user signing and enforcing behavior policy to 
limit the potential damage.
20
These or similar approaches 
could massively improve the security around Firefox ex-
tensions as they would limit their power over the system 
or restrict their behaviour.
Firefox risks examples
This chapter analyzes a selection of the current Firefox extensions and malware that we have seen in the wild 
and compares their feature set. There are many other examples like the “eBay captcha populator” or “office pol-
tergeist”, that could be mentioned here as well.
JS.FFsniFF
One of the earliest malicious extensions for Firefox, which was widely distributed in the wild in 2006, is the FFs-
niFF extension.
21
This is a simple extension which must be installed manually by the user or dropped by a Trojan. 
Once installed, it can hide itself from the extension manager by setting its install attribute to hidden and remov-
ing itself from the visible item list in the extension manager object. 
It then starts monitoring all form submissions in the browser and if any of them contains a password field, it logs 
all data and sends an email with the gathered data to a predefined account. This is a very simple but still effec-
tive way of stealing static logon credentials for many Web sites. 
During the infection, the following files are created in the user’s Firefox profile folder under the GUID folder of 
FFsniFF.
Figure 3
Blacklisted extension warning
Firefox and Malware: When Browsers Attack
Page 8
Security Response
Trojan.Brojack
Trojan.Brojack drops a Firefox extension into the global extension folder. 
%ProgramFiles%\Mozilla Firefox\extensions\sotfone-tracker@sotfone.ru
The extension hides from the browser by setting <em:hidden>true</em:hidden> in the install.rdf file, so that it 
will not be listed. It also creates a DLL that is then used as a BHO in Internet Explorer. 
Once installed, the Trojan captures all URLs visited by the user in Internet Explorer and Mozilla Firefox and sub-
mits the data back to a remote server.
22
Infostealer.Snifula
Infostealer.Snifula masquerades as the legitimate extension “NumberedLinks v0.9”. The threat comes with a 
dropper that installs the extension into the Firefox profile folder, but also drops Windows binaries and registers 
them through the usual registry run key load point. 
The extension does not need to hide from the extension manager as it impersonates a legitimate extension. 
The payload of this threat is to log entered passwords and confidential information and send them to a remote 
server.
23
Adware.MyCentria
A component of Adware.MyCentria is a Firefox extension installer called InstallerFF.exe, which drops a Firefox 
extension named AdCentria Infobar into the user’s profile folder.
24
This extension will then register three event 
listeners in Firefox. One event listener registered on DOMContentLoaded is able to check any new loaded page. 
Further event listeners registered on the select event and on the click event are able to hijack control when 
needed. With these triggers set, it monitors for a predefined list of Web sites and when visited can display its 
own ads that it downloaded with standard XMLHttpRequest() calls. It has also been reported that MyCentria was 
targeting popular search engines in order to modify on-the-fly the results from search queries.
The following snippet is used by the extension to add an additional user agent to the browser which can be used 
to identify if the requests are coming from an installed Infobar or not.
modify_ua : function() 
adcentria.set_str(“general.useragent.extra. 
adcentriaim”,”AdCentriaIM/”+adcentria.ver) 
adcentria.main() 
}
MyWebSearch Toolbar
Some variants of the MyWebSearch toolbar install a component directly 
into the Firefox core code base by dropping the following two files:
[FIREFOX PATH]/chrome/m3ffxtbr.jar
• 
[FIREFOX PATH]/chrome/m3ffxtbr.manifest
• 
The manifest file contains the following two lines that will install and run 
the toolbar:
content m3ffxtbr jar:m3ffxtbr.jar!/ 
xpcnativewrappers=yes 
overlay chrome://browser/content/browser.xul chrome://
m3ffxtbr/content/menu.xul
This makes the installment invisible for normal users as it will not show up 
in the extension manager and cannot be disabled by starting Firefox in safe 
Figure 4
Grey status error bar
Firefox and Malware: When Browsers Attack
Page 9
Security Response
mode. There is also no warning of “new extension being installed”; as technically it is not installed as an exten-
sion, it just modifies the browser directly.  
Since there was a coding error in a previous version of this toolbar application many people saw a broken Firefox 
toolbar and wondered where it came from. This issue was even so widespread that Mozilla had to mention it 
on their support forum and made a patch to remove these modification manifest files on the next Firefox code 
update.
25
Trojan.Hanambot
This Trojan drops the malicious extension file amba.jar into the [FIREFOX PATH]/chrome/ folder and then 
adds the following two lines to the browser.manifest which is located in the same folder: 
content amba jar:amba.jar!/
• 
overlay chrome://browser/content/browser.xul chrome://amba/content/amba.xul
• 
This references the file amba.xul that is compressed in the amba.jar file. The .xul file then starts executing the 
JavaScript file, through the following call: 
<?xml version=”1.0”?> 
<overlay id=”pamba-overlay” xmlns = “http://www.mozilla.org/keymaster/gatekeeper/there.
is.only.xul”> 
<script type=”application/x-javascript” src=”amba.js”/> 
</overlay>
Next, the malware deletes all saved cookies to provoke new logins. Then it monitors any new loaded page and 
checks with regular expressions if they match any of the predefined financial sites. If a site of interest is found, 
the Trojan logs the submitted credentials and cookies and also grabs the current balance and last login. The 
harvested data is then sent back to a remote server.
26
The following snipped shows an example of an URL it monitors and the regular expressions to match the current 
balance and last log-in data.
[‘www.pay***.com/us/cgi-bin/webscr’, /U.S.Dollar[\d\D]{1,64}(\$[\d\,\.]+)/gmi, /Last log 
in (.*?)<\/span>/gmi,’pay***’, true]
The Trojan stores configuration settings in the Windows registry and synchronizes them from the JavaScript. 
Besides the malicious extension, Trojan.Hanambot also installs a rootkit and registers a binary file in the current 
user run key. This enables the Trojan to receive bot commands outside of Firefox.
Adware.Purityscan
Adware.Purityscan installs a Firefox extension component into 
the following non-standard folder:
%ProgramFiles%\Outerinfo\FF\
In there it creates an empty chrome.manifest file; empty 
because it does not make use of any XUL overlays. Next it cre-
ates an install.rdf file with the basic information about it and 
the folder components containing the FF.dll and OuterinfoAds.
xpt. The XPT file is an interface description file generated by 
the XPIDL compiler. This allows the FF.dll to be loaded.
The extension component is registered through a link in the 
Windows registry:
HKEY_CURRENT_USER\Software\Mozilla\Fire-
fox\Extensions\“{59A40AC9-E67D-4155-B31D-
4B7330FCD2D6}” = “%ProgramFiles%\Outerinfo\FF\”
Figure 5
Greyed-out uninstall button
Firefox and Malware: When Browsers Attack
Page 10
Security Response
Registering an extension through the afore-mentioned registry key does gray-out the uninstall button in the 
extension manager GUI. Consequently, a user can only disable it but not remove it in the GUI. The user has to 
remove it manually, outside of Firefox.
The same trick was used by a Microsoft update of the .NET components in 2009 that installed a Firefox exten-
sion called “Microsoft .NET Framework Assistant 1.0”. As many users got upset that they were not able to nor-
mally uninstall this extension, Microsoft decided to provide a new update which installed the extension per user 
so that it can be uninstalled from within the browser.
27
As reference, here are the extension files created during the installation.
Besides the extension, Adware.Purityscan also installs a BHO for Internet Explorer and performs other system 
changes not related to Firefox.
28
The adware can download and display advertisements in the browser.
Trojan.Chromeinject.A
Chromeinject is a family of Trojans discovered during the end of 2008. This family shows a big variety of samples 
in the wild after a short period of life and this fact probably makes this malware the most common banking Tro-
jan targeting the Firefox browser today. Trojan.Chromeinject is installed by a binary executable below 30 KB in 
size which commonly drops the following files:
%ProgramFiles%\Mozilla Firefox\chrome\chrome\content\browser.js
• 
%ProgramFiles%\Mozilla Firefox\chrome\chrome\content\browser.xul
• 
%ProgramFiles%\Mozilla Firefox\plugins\npbasic.dll
• 
%ProgramFiles%\Mozilla Firefox\plugins\npbasic.dll1
• 
The Trojan is composed of a malicious code written in JavaScript which works in combination with a DLL plug-in; 
both components are silently installed into Firefox by writing directly into the Firefox folders. The extension reg-
isters two event listeners in Firefox. Again, one event listener registered on DOMContentLoaded is able to check 
any new loaded page.
function init() 
window.addEventListener(“load”,chromeLoad,false); 
function chromeLoad() 
var appContent = document.getElementById(“appcontent”); 
appContent.addEventListener(“DOMContentLoaded”,contentLoad,false); 
}
When the load event gets triggered, the listener callback routine installed by the Trojan will enumerate all the 
available IFRAMEs in the web page. For each of them it will inject an EMBED tag which forces the browser to load 
the malicious DLL plug-in. The code injection is performed only for a Web page which matches a specific check 
based on a list of URLs and domain names. The following JavaScript code is responsible for the injection:
function proc_ff(cc) 
var doc=cc.document;
var loc=doc.location.href; 
var doi=0; 
Documents you may be interested
Documents you may be interested