Adversaries may establish persistence by executing malicious content triggered by the execution of tainted binaries. Mach-O binaries have a series of headers that are used to perform certain operations when a binary is loaded. The LC_LOAD_DYLIB header in a Mach-O binary tells macOS and OS X which dynamic libraries (dylibs) to load during execution time. These can be added ad-hoc to the compiled binary as long as adjustments are made to the rest of the fields and dependencies.(Citation: Writing Bad Malware for OSX) There are tools available to perform these changes. Adversaries may modify Mach-O binary headers to load and execute malicious dylibs every time the binary is executed. Although any changes will invalidate digital signatures on binaries because the binary is being modified, this can be remediated by simply removing the LC_CODE_SIGNATURE command from the binary so that the signature isn’t checked at load time.(Citation: Malware Persistence on OS X)

Linked Issues

Issuelinks
Linktyp Issue
is related to Techniques
is blocked by Detection Strategy for LC_LOAD_DYLIB Modification in Mach-O Binaries on macOS
is blocked by Audit
is blocked by Execution Prevention
is blocked by Code Signing
is blocked by Asset Inventories
is blocked by Provenance
is blocked by Secure Baseline Configurations
is blocked by Least Functionality
is blocked by Continuous Monitoring
is blocked by Malicious Code Protection (Anti-Malware)
is blocked by Endpoint File Integrity Monitoring (FIM)
is blocked by Identification & Authentication for Third-Party Technology Assets, Applications and/or Services (TAAS)
is blocked by Product Tampering and Counterfeiting (PTC)
is blocked by Input Data Validation
is blocked by Acquisition Strategies, Tools & Methods
is blocked by Software & Firmware Patching
Impressum Deutsch Englisch