T1556.003
Pluggable Authentication Modules
Adversaries may modify Pluggable Authentication Modules (PAM) to access user credentials or create backdoors. PAM is a modular authentication framework used by Linux and macOS services. The primary module pam_unix.so handles authentication against /etc/passwd and /etc/shadow. Adversaries patch pam_unix.so to accept a hardcoded backdoor password for any account, or harvest plaintext credentials during authentication. Skidmap malware replaced pam_unix.so with a malicious version accepting a specific backdoor password.
Microsoft Sentinel / Defender
kusto
let PAMFilePaths = dynamic([
"/lib/security/pam_unix.so", "/lib64/security/pam_unix.so",
"/usr/lib/security/pam_unix.so", "/usr/lib64/security/pam_unix.so",
"/lib/x86_64-linux-gnu/security/pam_unix.so",
"/lib/aarch64-linux-gnu/security/pam_unix.so",
"/etc/pam.d/", "/etc/pam.conf"
]);
DeviceFileEvents
| where Timestamp > ago(24h)
| where FolderPath has_any ("/lib/security", "/lib64/security", "/usr/lib/security",
"/lib/x86_64-linux-gnu/security", "/etc/pam.d", "/etc/pam.conf")
| where ActionType in ("FileCreated", "FileModified", "FileRenamed")
| where InitiatingProcessFileName !in~ ("apt", "apt-get", "dpkg", "rpm", "yum", "dnf", "zypper", "pacman", "pip", "pip3")
| project Timestamp, DeviceName, FolderPath, FileName, ActionType,
InitiatingProcessFileName, InitiatingProcessCommandLine,
InitiatingProcessAccountName, SHA256
| sort by Timestamp desc critical severity
high confidence
Data Sources
File: File Modification File: File Creation Microsoft Defender for Endpoint (Linux)
Required Tables
DeviceFileEvents
False Positives
- Package manager updates (apt, yum, rpm, dnf) replacing PAM modules during OS or software upgrades
- Configuration management tools (Ansible, Chef, Puppet, Salt) deploying updated PAM configurations via authorized playbooks
- Security hardening scripts legitimately modifying /etc/pam.d/ to enforce password policies or MFA
- System administrators manually patching PAM modules after a vulnerability disclosure
Last updated: 2026-04-13 Research depth: deep
References (6)
- https://attack.mitre.org/techniques/T1556/003/
- https://github.com/zephrax/linux-pam-backdoor
- https://web.archive.org/web/20240303094335/https://x-c3ll.github.io/posts/PAM-backdoor-DNS/
- https://linux.die.net/man/8/pam_unix
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1556.003/T1556.003.md
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/managing_smart_cards/pluggable_authentication_modules
Unlock Pro Content
Get the full detection package for T1556.003 including response playbook, investigation guide, and atomic red team tests.
Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance