PLAYBOOKS NET HOST ATTRIB DETECT
← all playbooks
THREAT ACTOR · RUSSIA
APT28 / Fancy Bear
GRU Unit 26165. Russia's noisiest and most prolific cyber espionage unit. Credential phishing, Exchange exploitation, custom privilege escalation tooling, and the first documented UEFI rootkit in the wild. Favors speed and aggression over stealth.
MITRE G0007 · GRU 85th GTsSS · active 2004-present · 2024-2025: logistics and tech companies supporting Ukraine
Also known as
Forest Blizzard Sofacy Sednit Pawn Storm STRONTIUM BlueDelta FROZENLAKE GruesomeLarch Fighting Ursa ITG05 IRON TWILIGHT Tsar Team UAC-0028 TA422
Current operations (2024-2025)

Since February 2022, APT28 has focused heavily on Western logistics and technology companies coordinating aid to Ukraine. A May 2025 joint advisory from CISA and 12 allied agencies confirmed a two-year campaign targeting rail operators, air traffic control, maritime logistics, and ICS component manufacturers across NATO nations. Their objective is intelligence on supply routes and infrastructure supporting Ukrainian defense.

They continue to operate a dual-track approach: mass credential harvesting campaigns (password spraying, OAuth phishing) alongside targeted exploitation of specific vulnerabilities. In 2024, Microsoft disclosed that APT28 had been using a custom privilege escalation tool called GooseEgg since at least 2020, undetected for four years. In mid-2025, CERT-UA reported the LAMEHUG malware, the first documented APT28 tool integrating LLM capabilities for command generation.

Known initial access vectors

APT28 is opportunistic and uses multiple simultaneous entry methods. They favor speed over sophistication at the initial access stage.

Custom tooling

Unlike Volt Typhoon (zero custom tools), APT28 maintains a deep custom arsenal. Identifying these tools on a host is near-certain attribution.

GooseEgg
Privilege escalation launcher. Exploits CVE-2022-38028 (Print Spooler) to spawn processes as SYSTEM. Deployed via batch script, persisted as scheduled task. In use since at least 2020.
X-Agent / Sofacy
Modular implant with Windows, Linux, iOS, and Android variants. Keylogging, credential harvesting, file exfil, screenshot capture. APT28's primary C2 platform for over a decade.
Drovorub
Linux rootkit. Kernel module + userland agent. Provides file hiding, process hiding, and port hiding. NSA/FBI joint advisory (August 2020). Name means "woodcutter" in Russian.
LoJax
UEFI rootkit. First documented in-the-wild UEFI implant (ESET, 2018). Survives OS reinstall and hard drive replacement. Modified Computrace LoJack agent for persistence at firmware level.
OCEANMAP
.NET backdoor using IMAP for C2. Stores commands in email drafts. Reported late 2023, targeting Ukrainian entities. Evades network detection by using legitimate email protocol traffic.
MASEPIE / STEELHOOK
Python-based downloader (MASEPIE) and PowerShell credential stealer (STEELHOOK). Deployed together in late 2023 Ukraine campaigns. STEELHOOK harvests browser passwords and Chrome encryption keys.
CredoMap
Credential stealer deployed via CVE-2022-30190 (Follina). Targets stored browser credentials and authentication tokens. Used against Ukraine and allies in 2022.
Zebrocy
Multi-language downloader (Delphi, Go, C#, VB.NET variants). Performs system profiling, screenshot capture, and additional payload delivery. Used from 2015 onward.
Hunt checklist: if you suspect APT28
  1. 1. Check for CVE-2023-23397 exploitation Search for Outlook calendar invites with UNC paths pointing to external IPs (\\<attacker_IP>\share). The exploit leaks NTLM hashes without user interaction. Check SMB traffic logs for outbound NTLM authentication to external IPs. Microsoft released a detection script: CVE-2023-23397 auditing tool. NET: Credential Access · Outlook message audit
  2. 2. Hunt for GooseEgg artifacts Search Sysmon EID 1 for justice.exe, DefragmentSvc.exe, execute.bat, or doit.bat (documented GooseEgg filenames). Check scheduled tasks for entries running these binaries. GooseEgg modifies a JavaScript constraints file in the Print Spooler directory (DRIVERS\x64\3\) to achieve SYSTEM execution. HOST: Privilege Escalation · Sysmon EID 1 + EID 11
  3. 3. Check for Drovorub on Linux hosts Run lsmod vs /sys/module/ discrepancy check (hidden kernel modules). Search for the Drovorub agent process and its configuration file. Drovorub hides files, processes, and network ports from userland tools. Volatile memory analysis (Volatility linux_check_modules) is the most reliable detection. HOST: T1547.006 Kernel Module · NSA/FBI Drovorub advisory
  4. 4. Search for password spraying indicators High-volume failed authentication (Security EID 4625) from distributed source IPs, particularly residential IP ranges (compromised router botnet). Look for spraying patterns: same password attempted against many accounts in sequence, or low-and-slow patterns (1-2 attempts per account per day to avoid lockout). HOST: Credential Access · Security EID 4625 · VPN/Azure AD sign-in logs
  5. 5. Audit Exchange mailbox permissions APT28 modifies mailbox folder permissions to maintain persistent email access without re-authenticating. Check for: FullAccess or Editor permissions added to mailboxes, mail forwarding rules to external addresses, and OAuth app consent grants. Use Get-MailboxFolderPermission and Get-InboxRule across all mailboxes. Compromised Credentials playbook · Exchange audit logs
  6. 6. Check for steganography in downloaded images APT28 conceals shellcode in PNG files using LSB (Least Significant Bit) encoding. Search for: PowerShell scripts that download and process image files, unusual image processing in process command lines, and PNG files in staging directories that are larger than expected for their resolution. HOST: Defense Evasion · Sysmon EID 11 (FileCreate) for .png in temp paths
  7. 7. Hunt for OCEANMAP IMAP C2 OCEANMAP uses IMAP email drafts for command and control. Search for: .NET processes making persistent IMAP connections (port 993) to external mail servers, processes maintaining long-lived connections to mail infrastructure without sending visible email. The draft-based C2 generates no outbound email traffic, only IMAP session activity. NET: C2 · Sysmon EID 3 to port 993
  8. 8. Check for credential harvesting tools STEELHOOK (PowerShell, targets Chrome encryption keys and passwords), CredoMap (browser credential stealer), and standard Mimikatz/LSASS access. APT28 aggressively harvests credentials early in the intrusion. Search for browser credential database access and LSASS process access. HOST: T1555.003 Browser Creds · T1003.001 LSASS
  9. 9. Check persistence: scheduled tasks, startup folders, COM hijacking APT28 uses scheduled tasks (GooseEgg persistence), malicious LNK/BAT files in startup folders, and COM object hijacking for persistence. Check: schtasks /query for unusual entries, Startup folder contents, and registry COM hijack keys (HKCU\Software\Classes\CLSID). HOST: Persistence · Sysmon EID 12/13 registry · Autoruns
  10. 10. Check for data exfiltration via cloud storage or email APT28 exfiltrates via HTTPS uploads to cloud storage, PowerShell-based data preparation (Compress-Archive), and email-based C2 channels (OCEANMAP). Search for: large outbound HTTPS sessions, PowerShell archive creation targeting sensitive directories, and unusual IMAP/SMTP traffic volumes. NET: Exfiltration · C2
What distinguishes APT28 from other Russian actors

APT28 (GRU 26165) vs APT29 (SVR). APT28 is noisier, faster, and more aggressive. They use custom exploitation tools (GooseEgg), mass credential harvesting campaigns, and are willing to burn infrastructure for speed. APT29 is quieter, more patient, favors supply-chain access and cloud-native operations, and maintains longer dwell times. If the intrusion feels rushed and noisy with lots of credential phishing, it's more likely APT28. If it's quiet with no malware and cloud-focused, it's more likely APT29.

APT28 vs Sandworm (GRU 74455). Both are GRU but different units with different missions. APT28 does espionage. Sandworm does destruction (NotPetya, Industroyer, wipers). They occasionally collaborate (2018 WADA/OPCW operations). If the objective appears to be intelligence collection, it's APT28. If the objective is disruption or destruction of infrastructure, it's Sandworm.

Signature APT28 indicators: CVE-2023-23397 exploitation (unique to APT28 at scale), GooseEgg on disk, X-Agent/Sofacy implant, Drovorub on Linux, OCEANMAP IMAP C2, residential-IP password spraying, and steganographic PNG payloads. Any of these are high-confidence APT28.

The "Nearest Neighbor" vector. In February 2022, APT28 compromised an organization's corporate Wi-Fi without being physically present. They first compromised a different organization in an adjacent building, then used that organization's Wi-Fi-connected laptop to reach the target's wireless network. This is a novel vector that bypasses all perimeter controls. If your organization is in a multi-tenant building or near government/defense/diplomatic facilities, your Wi-Fi security posture matters for a different reason.

Key advisories and references

CISA AA25-141A (May 2025): GRU Unit 26165 targeting Western logistics and technology companies.
Microsoft GooseEgg disclosure (April 2024): Custom Print Spooler exploitation tool, in use since 2020.
FBI Operation Dying Ember (January 2024): Disruption of MooBot/Ubiquiti router botnet used for password spraying relay.
NSA/FBI Drovorub advisory (August 2020): Linux rootkit detection and mitigation guidance.
ESET LoJax report (September 2018): First documented in-the-wild UEFI rootkit.

Related playbooks

Compromised Credentials (APT28's primary initial access is credential theft)
C2 Beacon Found (X-Agent, OCEANMAP, and GooseEgg all establish C2 channels)
Living-off-the-Land Activity (APT28's post-GooseEgg lateral movement increasingly uses native tools)
Volt Typhoon (comparison: opposite operational style, same router-botnet relay concept)