TraderTraitor Backdoors Target Victims Outside the Cryptocurrency Sector
Detection stack
- AIDR
- Alert
- ETL
- Query
Summary
DPRK-aligned threat actor TraderTraitor is running social engineering campaigns that target DevOps and FinTech engineers through fake job interviews. The operation uses weaponized GitHub repositories containing malicious Terraform lock files to deploy macOS backdoors tracked as FLATROOF and ROOFDECK. Attackers abuse custom Terraform provider registries to execute malware on developer workstations.
Investigation
SentinelOne identified a new victim in India’s IT services sector, separate from the previously reported LayerZero Labs compromise. The investigation showed that the macOS backdoors remained dormant for several weeks before beaconing after a developer opened a malicious workspace in the Cursor IDE. Analysis also revealed capabilities for credential harvesting, Gatekeeper bypass, and persistence through LaunchAgents.
Mitigation
Organizations should establish policies restricting the use of corporate workstations for external job interviews, particularly for engineers with privileged cloud access. Developers should verify Terraform provider domains and confirm they match trusted registries such as registry.terraform.io. Security teams should also monitor unsigned binaries running from home directories and unusual child processes launched by IDEs.
Response
If TraderTraitor activity is detected, affected developer endpoints should be isolated immediately and associated cloud credentials, including AWS and GCP credentials, revoked. Responders should search for unauthorized LaunchAgents and suspicious macOS binaries within user Library directories. GitHub activity and repository clones should also be reviewed to identify initial access and potential lateral movement through supply chain compromise.
Attack Flow
We are still updating this part.
Detections
Possible IP Lookup Domain Communications Attempted (via dns)
Suspicious Command and Control by Unusual Top Level Domain (TLD) DNS Request (via dns)
Possible Execution by Use of Nohup (via cmdline)
Possible Defense Evasion by Bypassing MacOS Gatekeeper (via cmdline)
IOCs (HashSha256) to detect: Don’t Call Us, We’ll Call Your APIs | TraderTraitor Backdoors Resurface on Victim With No Crypto Ties
IOCs (HashSha1) to detect: Don’t Call Us, We’ll Call Your APIs | TraderTraitor Backdoors Resurface on Victim With No Crypto Ties
IOCs (HashMd5) to detect: Don’t Call Us, We’ll Call Your APIs | TraderTraitor Backdoors Resurface on Victim With No Crypto Ties
IOCs (SourceIP) to detect: Don’t Call Us, We’ll Call Your APIs | TraderTraitor Backdoors Resurface on Victim With No Crypto Ties
IOCs (DestinationIP) to detect: Don’t Call Us, We’ll Call Your APIs | TraderTraitor Backdoors Resurface on Victim With No Crypto Ties
Detection of FLATROOF and ROOFDECK macOS Backdoors Communication [Windows Network Connection]
Detection of TraderTraitor macOS Backdoor Execution [Linux Process Creation]
Simulation Execution
-
Attack Narrative & Commands: An adversary has gained initial access to a macOS workstation. To establish a persistent and stealthy backdoor, they deploy a payload disguised as a legitimate system utility. They utilize
nohupto ensure the process survives the session logout and attempt to masquerade asSystemUpdate. The attacker specifically uses the--type=rendererargument to blend into a landscape of many legitimate web-renderer processes. Simultaneously, they attempt to hijack a shell session by injecting a custom initialization script to capture credentials. -
Regression Test Script:
#!/bin/bash # TraderTraitor Simulation Script # This script mimics the command-line patterns defined in the detection rule. echo "[+] Starting TraderTraitor Simulation..." # 1. Simulate Masquerading SystemUpdate via nohup # Note: Using a dummy path to mimic the '...' in the detection rule echo "[+] Executing masqueraded SystemUpdate..." nohup /tmp/SystemUpdate --type=renderer > /dev/null 2>&1 & # 2. Simulate Masquerading iSync via nohup echo "[+] Executing masqueraded iSync..." nohup /tmp/iSync --type=renderer > /dev/null 2>&1 & # 3. Simulate Suspicious Shell Integration echo "[+] Executing suspicious shell initialization..." touch /tmp/shellIntegration-bash.sh bash --init-file /tmp/shellIntegration-bash.sh -c "echo 'Shell Injected'" & # 4. Simulate suspicious zsh login echo "[+] Executing suspicious zsh login..." zsh -l -c "echo 'Suspicious Shell'" echo "[+] Simulation commands dispatched." -
Cleanup Commands:
#!/bin/bash # Cleanup TraderTraitor Simulation echo "[+] Cleaning up simulation artifacts..." pkill -f "SystemUpdate" pkill -f "iSync" pkill -f "shellIntegration-bash.sh" pkill -f "zsh -l" rm /tmp/SystemUpdate rm /tmp/iSync rm /tmp/shellIntegration-bash.sh echo "[+] Cleanup complete."