Compromise Host Software Binary

Adversaries may modify host software binaries to establish persistent access to systems. Software binaries/executables provide a wide range of system commands or services, programs, and libraries. Common software binaries are SSH clients, FTP clients, email clients, web browsers, and many other user or server applications.

Adversaries may establish persistence though modifications to host software binaries. For example, an adversary may replace or otherwise infect a legitimate application binary (or support files) with a backdoor. Since these binaries may be routinely executed by applications or the user, the adversary can leverage this for persistent access to the host. An adversary may also modify a software binary such as an SSH client in order to persistently collect credentials during logins (i.e., Modify Authentication Process).[1]

An adversary may also modify an existing binary by patching in malicious functionality (e.g., IAT Hooking/Entry point patching)[2] prior to the binary’s legitimate execution. For example, an adversary may modify the entry point of a binary to point to malicious code patched in by the adversary before resuming normal execution flow.[3]

After modifying a binary, an adversary may attempt to Impair Defenses by preventing it from updating (e.g., via the yum-versionlock command or versionlock.list file in Linux systems that use the yum package manager).[1]

ID: T1554
Sub-techniques:  No sub-techniques
Tactic: Persistence
Platforms: Linux, Windows, macOS
Contributors: CrowdStrike Falcon OverWatch; Jamie Williams (U ω U), PANW Unit 42; Liran Ravich, CardinalOps
Version: 2.1
Created: 11 February 2020
Last Modified: 12 October 2024

Procedure Examples

ID Name Description
C0025 2016 Ukraine Electric Power Attack

During the 2016 Ukraine Electric Power Attack, Sandworm Team used a trojanized version of Windows Notepad to add a layer of persistence for Industroyer.[4]

G1023 APT5

APT5 has modified legitimate binaries and scripts for Pulse Secure VPNs including the legitimate DSUpgrade.pm file to install the ATRIUM webshell for persistence.[5][6]

S1136 BFG Agonizer

BFG Agonizer uses DLL unhooking to remove user mode inline hooks that security solutions often implement. BFG Agonizer also uses IAT unhooking to remove user-mode IAT hooks that security solutions also use.[7]

S0486 Bonadan

Bonadan has maliciously altered the OpenSSH binary on targeted systems to create a backdoor.[8]

S1118 BUSHWALK

BUSHWALK can embed into the legitimate querymanifest.cgi file on compromised Ivanti Connect Secure VPNs.[9][10]

C0029 Cutting Edge

During Cutting Edge, threat actors trojanized legitimate files in Ivanti Connect Secure appliances with malicious code.[11][12][9]

S0377 Ebury

Ebury modifies the keyutils library to add malicious behavior to the OpenSSH client and the curl library.[13][14]

S1120 FRAMESTING

FRAMESTING can embed itself in the CAV Python package of an Ivanti Connect Secure VPN located in /home/venv3/lib/python3.6/site-packages/cav-0.1-py3.6.egg/cav/api/resources/category.py.[9]

S0604 Industroyer

Industroyer has used a Trojanized version of the Windows Notepad application for an additional backdoor persistence mechanism.[4]

S0487 Kessel

Kessel has maliciously altered the OpenSSH binary on targeted systems to create a backdoor.[8]

S0641 Kobalos

Kobalos replaced the SSH client with a trojanized SSH client to steal credentials on compromised systems.[15]

S1119 LIGHTWIRE

LIGHTWIRE can imbed itself into the legitimate compcheckresult.cgi component of Ivanti Connect Secure VPNs to enable command execution.[11][9]

S1121 LITTLELAMB.WOOLTEA

LITTLELAMB.WOOLTEA can append malicious components to the tmp/tmpmnt/bin/samba_upgrade.tar archive inside the factory reset partition in attempt to persist post reset.[10]

S1104 SLOWPULSE

SLOWPULSE is applied in compromised environments through modifications to legitimate Pulse Secure files.[6]

S0595 ThiefQuest

ThiefQuest searches through the /Users/ folder looking for executable files. For each executable, ThiefQuest prepends a copy of itself to the beginning of the file. When the file is executed, the ThiefQuest code is executed first. ThiefQuest creates a hidden file, copies the original target executable to the file, then executes the new hidden file to maintain the appearance of normal behavior. [16][17]

S1116 WARPWIRE

WARPWIRE can embed itself into a legitimate file on compromised Ivanti Connect Secure VPNs.[11]

S1115 WIREFIRE

WIREFIRE can modify the visits.py component of Ivanti Connect Secure VPNs for file download and arbitrary command execution.[11][12]

S0658 XCSSET

XCSSET uses a malicious browser application to replace the legitimate browser in order to continuously capture credentials, monitor web traffic, and download additional modules.[18]

Mitigations

ID Mitigation Description
M1045 Code Signing

Ensure all application component binaries are signed by the correct application developers.

Detection

ID Data Source Data Component Detects
DS0022 File File Creation

Monitor for newly constructed files that may modify client software binaries to establish persistent access to systems.

File Deletion

Monitor for unexpected deletion of client software binaries to establish persistent access to systems.

File Metadata

Collect and analyze signing certificate metadata and check signature validity on software that executes within the environment

File Modification

Monitor changes to client software that do not correlate with known software or patch cycles.

References