>plutil
Plutil checks and transforms property list (.plist) files. Attackers use plutil -insert to inject payload paths into LaunchAgent or LaunchDaemon plists for persistence.
Default Executable Paths
/usr/bin/plutilIntegrity & Metadata
Modifying existing legitimate LaunchDaemons with plutil avoids dropping new suspicious plist filenames.
Look for plutil executions with "-insert" targeting files in /Library/LaunchAgents or /Library/LaunchDaemons.
Executive Summary & AI Quick Reference
plutil is a native utility pre-installed on macOS systems. Threat actors and red teams abuse plutil as a Living-off-the-Land Binary (LOLBin) to achieve Persistence without triggering traditional antivirus file-hash alerts. Legitimate system administrators use it for routine administration, making behavioral command-line telemetry essential for differentiation.
Weaponized Parameters & Proof-of-Concepts
Documented attack commands, parameter flags, and privilege prerequisites.
Injects an executable argument into a LaunchAgent plist to trigger payload execution on user login.
plutil -insert ProgramArguments.0 -string "/bin/sh" ~/Library/LaunchAgents/com.apple.updater.plistSIEM & EDR Detection Rules
Production telemetry rules configured for Microsoft Defender, Sigma, and Splunk.
Telemetry & SIEM Detection Suite (plutil)
Validated against MITRE T1543.001, T1543.0041DeviceProcessEvents | where FileName =~ "plutil" | where ProcessCommandLine has "-insert" and ProcessCommandLine has_any ("LaunchAgents", "LaunchDaemons") | project Timestamp, DeviceName, AccountName, ProcessCommandLineMitigation, Hardening & Prevention
Recommended defensive controls to block or constrain plutil abuse.
Enforce strict Endpoint Security Framework (ESF) policies and mobile device management (MDM) profile restrictions blocking unsigned scripts.
Configure Apple Gatekeeper and restrict Terminal / osascript execution through strict Transparency, Consent, and Control (TCC) profiles.
Deploy the KQL, Sigma, and Splunk detection queries below. Alert on anomalous child processes, web requests to unrated external IPs, or encoded payload strings.
Frequently Asked Questions (FAQ) • plutil
Key operational questions and defensive answers about plutil LOLBin tradecraft.
What is plutil and why is it classified as a LOLBin?
plutil is a legitimate, pre-installed or trusted utility on macOS. It is classified as a Living-off-the-Land Binary (LOLBin) because adversaries abuse its built-in functionality to perform malicious operations—such as Persistence—without dropping custom malware binaries on disk.
How do threat actors abuse plutil in cyber intrusions?
Adversaries leverage plutil to execute stealthy actions while evading signature-based security controls. For example, attackers execute commands like "plutil -insert ProgramArguments.0 -string "/bin/sh" ~/Library/LaunchAgents/com.apple.updater.plist" to achieve Persistence, masquerading behind legitimate system process lineage.
How can SOC analysts detect suspicious plutil activity?
Detection engineers monitor process creation events (Windows Event ID 4688 or Sysmon Event ID 1; Linux auditd EXECVE; macOS Endpoint Security) inspecting anomalous command line arguments, unusual parent-child process relationships (e.g. Office apps or web servers spawning plutil), and unexpected network connections.
What MITRE ATT&CK techniques does plutil map to?
plutil maps to MITRE ATT&CK technique(s): T1543.001, T1543.004. These techniques cover adversary actions across tactics such as Defense Evasion, Execution, Persistence, and Command and Control.
How can organizations mitigate and restrict plutil?
Mitigation strategies include implementing Application Control policies (AppLocker or Windows Defender Application Control - WDAC), enforcing Attack Surface Reduction (ASR) rules, configuring strict privilege separation (disallowing standard users from running sensitive switches), and alerting on execution from non-standard directories.
Other High-Traffic MACOS LOLBins
Osascript executes Open Scripting Architecture (OSA) scripts such as AppleScript and JavaScript for Automation (JXA). Widely used in macOS malware to display convincing phishing dialogs, harvest credentials, control System Events, and execute shell commands.
The open command opens files, directories, URLs, and applications as if you double-clicked them in Finder. Used to launch unsigned or quarantined applications and evade Gatekeeper or security software inspection.
Curl is standard on macOS and frequently invoked in bash/zsh shell scripts by macOS stealers (e.g. Atomic macOS Stealer / AMOS) to fetch stage 2 Mach-O executables or exfiltrate keychain data.
Directory Service command-line utility (dscl) allows reading and writing Directory Service databases. Attackers use dscl for local user discovery, creating hidden administrator accounts, or extracting password hashes.