APT29 is threat group that has been attributed to Russia's Foreign Intelligence Service (SVR).[1][2] They have operated since at least 2008, often targeting government networks in Europe and NATO member countries, research institutes, and think tanks. APT29 reportedly compromised the Democratic National Committee starting in the summer of 2015.[3][4][5][6]
In April 2021, the US and UK governments attributed the SolarWinds supply chain compromise cyber operation to the SVR; public statements included citations to APT29, Cozy Bear, and The Dukes.[7][8] Victims of this campaign included government, consulting, technology, telecom, and other organizations in North America, Europe, Asia, and the Middle East. Industry reporting referred to the actors involved in this campaign as UNC2452, NOBELIUM, StellarParticle, and Dark Halo.[9][10][11][12][13]
Name | Description |
---|---|
IRON RITUAL | |
IRON HEMLOCK | |
NobleBaron | |
Dark Halo | |
StellarParticle | |
NOBELIUM | |
UNC2452 | |
YTTRIUM | |
The Dukes | |
Cozy Bear | |
CozyDuke |
Domain | ID | Name | Use | |
---|---|---|---|---|
Enterprise | T1548 | .002 | Abuse Elevation Control Mechanism: Bypass User Account Control | |
Enterprise | T1087 | Account Discovery |
APT29 obtained a list of users and their roles from an Exchange server using |
|
.002 | Domain Account |
APT29 has used PowerShell to discover domain accounts by executing |
||
.004 | Cloud Account | |||
Enterprise | T1098 | .001 | Account Manipulation: Additional Cloud Credentials |
APT29 has added credentials to OAuth Applications and Service Principals.[26][17] |
.002 | Account Manipulation: Additional Email Delegate Permissions |
APT29 added their own devices as allowed IDs for active sync using |
||
.003 | Account Manipulation: Additional Cloud Roles |
APT29 has granted |
||
.005 | Account Manipulation: Device Registration |
APT29 registered devices in order to enable mailbox syncing via the |
||
Enterprise | T1583 | .001 | Acquire Infrastructure: Domains |
APT29 has acquired C2 domains, sometimes through resellers.[10][27][18] |
.006 | Acquire Infrastructure: Web Services |
APT29 has registered algorithmically generated Twitter handles that are used for C2 by malware, such as HAMMERTOSS.[28][18] |
||
Enterprise | T1595 | .002 | Active Scanning: Vulnerability Scanning |
APT29 has conducted widespread scanning of target environments to identify vulnerabilities for exploit.[13] |
Enterprise | T1071 | .001 | Application Layer Protocol: Web Protocols | |
Enterprise | T1560 | .001 | Archive Collected Data: Archive via Utility |
APT29 used 7-Zip to compress stolen emails into password-protected archives prior to exfiltration.[12][29][17] |
Enterprise | T1547 | .001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | |
.009 | Boot or Logon Autostart Execution: Shortcut Modification | |||
Enterprise | T1110 | .003 | Brute Force: Password Spraying |
APT29 has conducted brute force password spray attacks.[20][25] |
Enterprise | T1059 | .001 | Command and Scripting Interpreter: PowerShell |
APT29 has used encoded PowerShell scripts uploaded to CozyCar installations to download and install SeaDuke. APT29 also used PowerShell to create new tasks on remote machines, identify configuration settings, evade defenses, exfiltrate data, and to execute other commands.[12][31][32][24][30][17][33][15] |
.003 | Command and Scripting Interpreter: Windows Command Shell |
APT29 used |
||
.005 | Command and Scripting Interpreter: Visual Basic | |||
.006 | Command and Scripting Interpreter: Python | |||
Enterprise | T1586 | .002 | Compromise Accounts: Email Accounts |
APT29 has compromised email accounts to further enable phishing campaigns.[34] |
Enterprise | T1584 | .001 | Compromise Infrastructure: Domains | |
Enterprise | T1136 | .003 | Create Account: Cloud Account | |
Enterprise | T1555 | Credentials from Password Stores |
APT29 used account credentials they obtained to attempt access to Group Managed Service Account (gMSA) passwords.[29] |
|
.003 | Credentials from Web Browsers | |||
Enterprise | T1213 | Data from Information Repositories |
APT29 has accessed victims’ internal knowledge repositories (wikis) to view sensitive corporate information on products, services, and internal business operations.[17] |
|
.003 | Code Repositories |
APT29 has downloaded source code from code repositories.[35] |
||
Enterprise | T1005 | Data from Local System | ||
Enterprise | T1001 | .002 | Data Obfuscation: Steganography |
APT29 has used steganography to hide C2 communications in images.[22] |
Enterprise | T1074 | .002 | Data Staged: Remote Data Staging |
APT29 staged data and files in password-protected archives on a victim's OWA server.[12] |
Enterprise | T1140 | Deobfuscate/Decode Files or Information | ||
Enterprise | T1587 | .001 | Develop Capabilities: Malware |
APT29 has leveraged numerous pieces of malware that appear to be unique to APT29 and were likely developed for or by the group.[9][11][29] |
.003 | Develop Capabilities: Digital Certificates |
APT29 has created self-signed digital certificates to enable mutual TLS authentication for malware.[37][38] |
||
Enterprise | T1484 | .002 | Domain Policy Modification: Domain Trust Modification |
APT29 changed domain federation trust settings using Azure AD administrative permissions to configure the domain to accept authorization tokens signed by their own SAML signing certificate.[39][14] |
Enterprise | T1482 | Domain Trust Discovery |
APT29 used the |
|
Enterprise | T1568 | Dynamic Resolution |
APT29 used dynamic DNS resolution to construct and resolve to randomly-generated subdomains for C2.[12] |
|
Enterprise | T1114 | .002 | Email Collection: Remote Email Collection |
APT29 collected emails from specific individuals, such as executives and IT staff, using |
Enterprise | T1573 | Encrypted Channel |
APT29 has used multiple layers of encryption within malware to protect C2 communication.[15] |
|
Enterprise | T1546 | .003 | Event Triggered Execution: Windows Management Instrumentation Event Subscription |
APT29 has used WMI event subscriptions for persistence.[24][22][39][29] |
.008 | Event Triggered Execution: Accessibility Features |
APT29 used sticky-keys to obtain unauthenticated, privileged console access.[24][40] |
||
Enterprise | T1048 | .002 | Exfiltration Over Alternative Protocol: Exfiltration Over Asymmetric Encrypted Non-C2 Protocol |
APT29 has exfiltrated collected data over a simple HTTPS request to a password-protected archive staged on a victim's OWA servers.[12] |
Enterprise | T1190 | Exploit Public-Facing Application |
APT29 has exploited CVE-2019-19781 for Citrix, CVE-2019-11510 for Pulse Secure VPNs, CVE-2018-13379 for FortiGate VPNs, and CVE-2019-9670 in Zimbra software to gain access. They have also exploited CVE-2020-0688 against the Microsoft Exchange Control Panel to regain access to a network.[23][12][13] |
|
Enterprise | T1203 | Exploitation for Client Execution |
APT29 has used multiple software exploits for common client software, like Microsoft Word, Exchange, and Adobe Reader, to gain code execution.[3][13][18] |
|
Enterprise | T1068 | Exploitation for Privilege Escalation |
APT29 has exploited CVE-2021-36934 to escalate privileges on a compromised host.[33] |
|
Enterprise | T1133 | External Remote Services |
APT29 has used compromised identities to access networks via SSH, VPNs, and other remote access tools.[10][23][17] |
|
Enterprise | T1083 | File and Directory Discovery |
APT29 obtained information about the configured Exchange virtual directory using |
|
Enterprise | T1606 | .001 | Forge Web Credentials: Web Cookies |
APT29 has bypassed MFA set on OWA accounts by generating a cookie value from a previously stolen secret key.[12] |
.002 | Forge Web Credentials: SAML Tokens |
APT29 created tokens using compromised SAML signing certificates.[26][14] |
||
Enterprise | T1589 | .001 | Gather Victim Identity Information: Credentials |
APT29 has conducted credential theft operations to obtain credentials to be used for access to victim environments.[17] |
Enterprise | T1562 | .001 | Impair Defenses: Disable or Modify Tools |
APT29 used the service control manager on a remote system to disable services associated with security monitoring products.[29] |
.002 | Impair Defenses: Disable Windows Event Logging |
APT29 used |
||
.004 | Impair Defenses: Disable or Modify System Firewall |
APT29 used |
||
Enterprise | T1070 | Indicator Removal on Host |
APT29 removed evidence of email export requests using |
|
.004 | File Deletion |
APT29 routinely removed their tools, including custom backdoors, once remote access was achieved. APT29 has also used SDelete to remove artifacts from victims.[9][24] |
||
.006 | Timestomp |
APT29 modified timestamps of backdoors to match legitimate Windows files.[29] |
||
Enterprise | T1105 | Ingress Tool Transfer |
APT29 has downloaded additional tools, such as TEARDROP malware and Cobalt Strike, to a compromised host following initial access.[9] |
|
Enterprise | T1036 | Masquerading |
APT29 has set the hostnames of its C2 infrastructure to match legitimate hostnames in the victim environment. They have also used IP addresses originating from the same country as the victim for their VPN infrastructure.[9] |
|
.004 | Masquerade Task or Service |
APT29 named tasks |
||
.005 | Match Legitimate Name or Location |
APT29 renamed software and DLL's with legitimate names to appear benign.[12][31][16] |
||
Enterprise | T1621 | Multi-Factor Authentication Request Generation |
APT29 has used repeated MFA requests to gain access to victim accounts.[41] |
|
Enterprise | T1095 | Non-Application Layer Protocol | ||
Enterprise | T1027 | Obfuscated Files or Information | ||
.001 | Binary Padding | |||
.002 | Software Packing | |||
.006 | HTML Smuggling |
APT29 has embedded an ISO file within an HTML attachment that contained JavaScript code to initiate malware execution.[33] |
||
Enterprise | T1588 | .002 | Obtain Capabilities: Tool |
APT29 has obtained and used a variety of tools including Mimikatz, SDelete, Tor, meek, and Cobalt Strike.[24][3][30] |
Enterprise | T1003 | .006 | OS Credential Dumping: DCSync |
APT29 leveraged privileged accounts to replicate directory service data with domain controllers.[39][29][17] |
Enterprise | T1069 | Permission Groups Discovery |
APT29 used the |
|
.002 | Domain Groups | |||
Enterprise | T1566 | .001 | Phishing: Spearphishing Attachment |
APT29 has used spearphishing emails with an attachment to deliver files with exploits to initial victims.[3][30][22][18][33][15] |
.002 | Phishing: Spearphishing Link |
APT29 has used spearphishing with a link to trick victims into clicking on a link to a zip file containing malicious files.[24][18][42] |
||
.003 | Phishing: Spearphishing via Service |
APT29 has used the legitimate mailing service Constant Contact to send phishing e-mails.[13] |
||
Enterprise | T1057 | Process Discovery |
APT29 has used multiple command-line utilities to enumerate running processes.[12][29][17] |
|
Enterprise | T1090 | .001 | Proxy: Internal Proxy |
APT29 has used SSH port forwarding capabilities on public-facing systems, and configured at least one instance of Cobalt Strike to use a network pipe over SMB during the 2020 SolarWinds intrusion.[36][17] |
.003 | Proxy: Multi-hop Proxy |
A backdoor used by APT29 created a Tor hidden service to forward traffic from the Tor client to local ports 3389 (RDP), 139 (Netbios), and 445 (SMB) enabling full remote access from outside the network and has also used TOR.[24][25] |
||
.004 | Proxy: Domain Fronting |
APT29 has used the meek domain fronting plugin for Tor to hide the destination of C2 traffic.[24] |
||
Enterprise | T1021 | .001 | Remote Services: Remote Desktop Protocol |
APT29 has used RDP sessions from public-facing systems to internal servers.[17] |
.002 | Remote Services: SMB/Windows Admin Shares |
APT29 has used administrative accounts to connect over SMB to targeted users.[17] |
||
.006 | Remote Services: Windows Remote Management |
APT29 has used WinRM via PowerShell to execute command and payloads on remote hosts.[36] |
||
Enterprise | T1018 | Remote System Discovery | ||
Enterprise | T1053 | .005 | Scheduled Task/Job: Scheduled Task |
APT29 used |
Enterprise | T1505 | .003 | Server Software Component: Web Shell |
APT29 has installed web shells on exploited Microsoft Exchange servers.[13] |
Enterprise | T1558 | .003 | Steal or Forge Kerberos Tickets: Kerberoasting |
APT29 obtained Ticket Granting Service (TGS) tickets for Active Directory Service Principle Names to crack offline.[29] |
Enterprise | T1539 | Steal Web Session Cookie |
APT29 has stolen Chrome browser cookies by copying the Chrome profile directories of targeted users.[17] |
|
Enterprise | T1553 | .002 | Subvert Trust Controls: Code Signing |
APT29 was able to get SUNBURST signed by SolarWinds code signing certificates by injecting the malware into the SolarWinds Orion software lifecycle.[9] |
.005 | Subvert Trust Controls: Mark-of-the-Web Bypass |
APT29 has embedded ISO images and VHDX files in HTML to evade Mark-of-the-Web.[33] |
||
Enterprise | T1195 | .002 | Supply Chain Compromise: Compromise Software Supply Chain |
APT29 gained initial network access to some victims via a trojanized update of SolarWinds Orion software.[9][13][14][25] |
Enterprise | T1218 | .005 | System Binary Proxy Execution: Mshta |
APT29 has use |
.011 | System Binary Proxy Execution: Rundll32 |
APT29 has used |
||
Enterprise | T1082 | System Information Discovery |
APT29 used |
|
Enterprise | T1016 | .001 | System Network Configuration Discovery: Internet Connection Discovery |
APT29 has used GoldFinder to perform HTTP GET requests to check internet connectivity and identify HTTP proxy servers and other redirectors that an HTTP request travels through.[10] |
Enterprise | T1199 | Trusted Relationship |
APT29 has gained access through compromised accounts at cloud solution partners, and used compromised certificates issued by Mimecast to authenticate to Mimecast customer systems.[13][17][25] |
|
Enterprise | T1552 | .004 | Unsecured Credentials: Private Keys |
APT29 obtained PKI keys, certificate files and the private encryption key from an Active Directory Federation Services (AD FS) container to decrypt corresponding SAML signing certificates.[39][13] |
Enterprise | T1550 | Use Alternate Authentication Material |
APT29 used forged SAML tokens that allowed the actors to impersonate users and bypass MFA, enabling APT29 to access enterprise cloud applications and services.[39][14] |
|
.001 | Application Access Token |
APT29 has used compromised service principals to make changes to the Office 365 environment.[17] |
||
.003 | Pass the Ticket |
APT29 used Kerberos ticket attacks for lateral movement.[24] |
||
.004 | Web Session Cookie |
APT29 used stolen cookies to access cloud resources, and a forged |
||
Enterprise | T1204 | .001 | User Execution: Malicious Link |
APT29 has used various forms of spearphishing attempting to get a user to click on a malicous link.[30][22][18][42] |
.002 | User Execution: Malicious File |
APT29 has used various forms of spearphishing attempting to get a user to open attachments, including, but not limited to, malicious Microsoft Word documents, .pdf, and .lnk files. [3] [30][22][33][15] |
||
Enterprise | T1078 | Valid Accounts |
APT29 used different compromised credentials for remote access and to move laterally.[9][10][13] |
|
.002 | Domain Accounts |
APT29 has used valid accounts, including administrator accounts, to help facilitate lateral movement on compromised networks.[22][23][17] |
||
.003 | Local Accounts |
APT29 has used compromised local accounts to access victims' networks.[17] |
||
.004 | Cloud Accounts |
APT29 has used a compromised O365 administrator account to create a new Service Principal.[17] |
||
Enterprise | T1102 | .002 | Web Service: Bidirectional Communication |
APT29 has used social media platforms to hide communications to C2 servers.[22] |
Enterprise | T1047 | Windows Management Instrumentation |
APT29 used WMI to steal credentials and execute backdoors at a future time.[24] They have also used WMI for the remote execution of files for lateral movement.[39][29] |