T1195 - Supply Chain Compromise
Description from ATT&CK (opens in a new tab)
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
Supply chain compromise can take place at any stage of the supply chain including:
- Manipulation of development tools
- Manipulation of a development environment
- Manipulation of source code repositories (public or private)
- Manipulation of source code in open-source dependencies
- Manipulation of software update/distribution mechanisms
- Compromised/infected system images (multiple cases of removable media infected at the factory)(Citation: IBM Storwize)(Citation: Schneider Electric USB Malware)
- Replacement of legitimate software with modified versions
- Sales of modified/counterfeit products to legitimate distributors
- Shipment interdiction
While supply chain compromise can impact any component of hardware or software, adversaries looking to gain execution have often focused on malicious additions to legitimate software in software distribution or update channels.(Citation: Avast CCleaner3 2018)(Citation: Microsoft Dofoil 2018)(Citation: Command Five SK 2011) Targeting may be specific to a desired victim set or malicious software may be distributed to a broad set of consumers but only move on to additional tactics on specific victims.(Citation: Symantec Elderwood Sept 2012)(Citation: Avast CCleaner3 2018)(Citation: Command Five SK 2011) Popular open source projects that are used as dependencies in many applications may also be targeted as a means to add malicious code to users of the dependency.(Citation: Trendmicro NPM Compromise)
Atomic Tests
Atomic Test #1 - Octopus Scanner Malware Open Source Supply Chain
This test simulates an adversary Octopus drop the RAT dropper ExplorerSync.db octopus-scanner-malware-open-source-supply-chain (opens in a new tab) the-supreme-backdoor-factory (opens in a new tab)
Supported Platforms: Windows
auto_generated_guid: 82a9f001-94c5-495e-9ed5-f530dbded5e2
Inputs:
Name | Description | Type | Default Value |
---|---|---|---|
rat_payload | RAT dropper ExplorerSync.db | path | $env:TEMP\ExplorerSync.db |
Attack Commands: Run with command_prompt
!
copy %temp%\ExplorerSync.db %temp%\..\Microsoft\ExplorerSync.db
schtasks /create /tn ExplorerSync /tr "javaw -jar %temp%\..\Microsoft\ExplorerSync.db" /sc MINUTE /f
Cleanup Commands:
schtasks /delete /tn ExplorerSync /F 2>null
del %temp%\..\Microsoft\ExplorerSync.db 2>null
del %temp%\ExplorerSync.db 2>null
Dependencies: Run with powershell
!
Description: ExplorerSync.db must exist on disk at specified location (#{rat_payload})
Check Prereq Commands:
if (Test-Path #{rat_payload}) {exit 0} else {exit 1}
Get Prereq Commands:
Out-File -FilePath "#{rat_payload}"