Software Extensions T1176
- Tactic
- Persistence
- Platforms
- Linux, macOS, Windows
- Version
- 2.0
- Created
- 16 January 2018
- Last modified
- 24 October 2025
- Contributors
- Chris Ross @xorrior; Justin Warner, ICEBRG; Manikantan Srinivasan, NEC Corporation India
Adversaries may abuse software extensions to establish persistent access to victim systems. Software extensions are modular components that enhance or customize the functionality of software applications, including web browsers, Integrated Development Environments (IDEs), and other platforms.[1][2] Extensions are typically installed via official marketplaces, app stores, or manually loaded by users, and they often inherit the permissions and access levels of the host application.
Offense vs defense T1176
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Software Extensions detection strategy DET0092
MITRE names one behaviour worth catching for this technique and breaks it into 3 analytics, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detection of Malicious or Unauthorized Software Extensions
AN0251 · Windows
Installation or execution of a malicious browser or IDE extension, followed by abnormal registry entries or outbound network connections from the host application
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | WinEventLog:Security | EventCode=4688 |
| File CreationDC0039 | WinEventLog:Sysmon | EventCode=11 |
| Windows Registry Key ModificationDC0063 | WinEventLog:Sysmon | EventCode=13, 14 |
| Network Connection CreationDC0082 | WinEventLog:Sysmon | EventCode=3, 22 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| Image | Path of browser or IDE launching subprocesses—may vary depending on installed applications |
| ParentImage | Legitimate parent-child process relationships for known safe extensions |
| RegistryPath | Expected registry keys under HKCU/HKLM for installed extensions |
| TimeWindow | Tunable interval to correlate extension install with follow-on C2 traffic |
AN0252 · macOS
Installation of configuration profiles or plist entries associated with malicious or unauthorized browser extensions
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| File CreationDC0039 | macos:unifiedlog | Creation of .plist under /Library/Managed Preferences/ |
| Command ExecutionDC0064 | macos:unifiedlog | Execution of 'profiles install -type=configuration' |
| Network Traffic FlowDC0078 | macos:unifiedlog | Suspicious outbound traffic from browser binary to non-standard domains |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| PlistPath | Directory path for user-specific extension configuration files |
| CommandLine | Usage of profiles CLI tool—can be modified by legitimate tools or MDMs |
| TimeWindow | Correlation window between configuration install and observable extension behavior |
AN0253 · Linux
Manual or script-based installation of extension-like modules into browser config directories or IDE plugin paths, followed by suspicious network activity
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Process CreationDC0032 | auditd:SYSCALL | execve |
| File CreationDC0039 | fs:fileevents | creat |
| Network Traffic FlowDC0078 | NSM:Flow | Abnormal browser traffic volume or destination |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| DirectoryPath | Common plugin or extension directories may vary by distro or browser (e.g., ~/.config/google-chrome/Default/Extensions) |
| ExecPath | Path to scripting tools used in installation (e.g., bash, curl, unzip) |
| TimeWindow | Tunable interval between install and first network beacon |
Ensure extensions that are installed are the intended ones, as many malicious extensions may masquerade as legitimate ones.
Set an extension allow or deny list as appropriate for your security policy.
Only install extensions from trusted sources that can be verified.
Ensure operating systems and software are using the most current version.
Train users to minimize extension use, and to only install trusted extensions.
Tests from Atomic Red Team (MIT licence) · technique definition