T1176 - Browser Extensions

Description from ATT&CK

Adversaries may abuse Internet browser extensions to establish persistent access to victim systems. Browser extensions or plugins are small programs that can add functionality and customize aspects of Internet browsers. They can be installed directly or through a browser's app store and generally have access and permissions to everything that the browser can access.(Citation: Wikipedia Browser Extension)(Citation: Chrome Extensions Definition) Malicious extensions can be installed into a browser through malicious app store downloads masquerading as legitimate extensions, through social engineering, or by an adversary that has already compromised a system. Security can be limited on browser app stores so it may not be difficult for malicious extensions to defeat automated scanners.(Citation: Malicious Chrome Extension Numbers) Depending on the browser, adversaries may also manipulate an extension's update url to install updates from an adversary controlled server or manipulate the mobile configuration file to silently install additional extensions. Previous to macOS 11, adversaries could silently install browser extensions via the command line using the profiles tool to install malicious .mobileconfig files. In macOS 11+, the use of the profiles tool can no longer install configuration profiles, however .mobileconfig files can be planted and installed with user interaction.(Citation: xorrior chrome extensions macOS) Once the extension is installed, it can browse to websites in the background, steal all information that a user enters into a browser (including credentials), and be used as an installer for a RAT for persistence.(Citation: Chrome Extension Crypto Miner)(Citation: ICEBRG Chrome Extensions)(Citation: Banker Google Chrome Extension Steals Creds)(Citation: Catch All Chrome Extension) There have also been instances of botnets using a persistent backdoor through malicious Chrome extensions for [Command and Control](https://attack.mitre.org/tactics/TA0011).(Citation: Stantinko Botnet)(Citation: Chrome Extension C2 Malware) Adversaries may also use browser extensions to modify browser permissions and components, privacy settings, and other security controls for [Defense Evasion](https://attack.mitre.org/tactics/TA0005).(Citation: Browers FriarFox)(Citation: Browser Adrozek)

Atomic Tests

Atomic Test #1 - Chrome/Chromium (Developer Mode)

Turn on Chrome/Chromium developer mode and Load Extension found in the src directory

Supported Platforms: Linux, Windows, macOS

auto_generated_guid: 3ecd790d-2617-4abf-9a8c-4e8d47da9ee1

Run it with these steps!

  1. Navigate to chrome://extensions and tick ‘Developer Mode’.

  2. Click ‘Load unpacked extension…’ and navigate to Browser_Extension

  3. Click ‘Select’

Atomic Test #2 - Chrome/Chromium (Chrome Web Store)

Install the “Minimum Viable Malicious Extension” Chrome extension

Supported Platforms: Linux, Windows, macOS

auto_generated_guid: 4c83940d-8ca5-4bb2-8100-f46dc914bc3f

Run it with these steps!

  1. Navigate to https://chrome.google.com/webstore/detail/minimum-viable-malicious/odlpfdolehmhciiebahbpnaopneicend in Chrome

  2. Click ‘Add to Chrome’

Atomic Test #3 - Firefox

Create a file called test.wma, with the duration of 30 seconds

Supported Platforms: Linux, Windows, macOS

auto_generated_guid: cb790029-17e6-4c43-b96f-002ce5f10938

Run it with these steps!

  1. Navigate to about:debugging and click “Load Temporary Add-on”

  2. Navigate to manifest.json

  3. Then click ‘Open’

Atomic Test #4 - Edge Chromium Addon - VPN

Adversaries may use VPN extensions in an attempt to hide traffic sent from a compromised host. This will install one (of many) available VPNS in the Edge add-on store.

Supported Platforms: Windows, macOS

auto_generated_guid: 3d456e2b-a7db-4af8-b5b3-720e7c4d9da5

Run it with these steps!

  1. Navigate to https://microsoftedge.microsoft.com/addons/detail/fjnehcbecaggobjholekjijaaekbnlgj in Edge Chromium

  2. Click ‘Get’

Atomic Test #5 - Google Chrome Load Unpacked Extension With Command Line

This test loads an unpacked extension in Google Chrome with the

parameter. This technique was previously used by the Grandoreiro malware to load a malicious extension that would capture the browsing history, steal cookies and other user information. Other malwares also leverage this technique to hijack searches, steal passwords, inject ads, and more.

References: https://attack.mitre.org/techniques/T1176/ https://securityintelligence.com/posts/grandoreiro-malware-now-targeting-banks-in-spain/

Supported Platforms: Windows

auto_generated_guid: 7a714703-9f6b-461c-b06d-e6aeac650f27


| Name | Description | Type | Default Value | |——|————-|——|—————| | working_dir | Working directory where the files will be downloaded and extracted | string | $env:TEMP|

Attack Commands: Run with
! Elevation Required (e.g. root or admin)

# Chromium
$chromium =  "https://commondatastorage.googleapis.com/chromium-browser-snapshots/Win_x64/1153778/chrome-win.zip"

# uBlock Origin Lite to test side-loading
$extension = "https://github.com/gorhill/uBlock/releases/download/uBOLite_0.1.23.6055/uBOLite_0.1.23.6055.chromium.mv3.zip"

Set-Location "#{working_dir}"

Set-Variable ProgressPreference SilentlyContinue
Invoke-WebRequest -URI $chromium -OutFile "#{working_dir}\chrome.zip"
Invoke-WebRequest -URI $extension -OutFile "#{working_dir}\extension.zip"

Expand-Archive chrome.zip -DestinationPath "#{working_dir}" -Force
Expand-Archive extension.zip -Force

Start-Process .\chrome-win\chrome.exe --load-extension="#{working_dir}\extension\" -PassThru

Cleanup Commands:

Set-Location "#{working_dir}"
Stop-Process -Name chrome -Force
Remove-Item .\chrome.zip, .\chrome-win, .\extension, .\extension.zip -Recurse -Force
Set-Variable ProgressPreference Continue