Adversaries may interact with the Windows Registry to gather information about the system, configuration, and installed software.
The Registry contains a significant amount of information about the operating system, configuration, software, and security.[1] Information can easily be queried using the Reg utility, though other means to access the Registry exist. Some of the information may help adversaries to further their operation within a network. Adversaries may use the information from Query Registry during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.
ID | Name | Description |
---|---|---|
S0045 | ADVSTORESHELL |
ADVSTORESHELL can enumerate registry keys.[2][3] |
G0050 | APT32 |
APT32's backdoor can query the Windows Registry to gather system information. [4] |
G0087 | APT39 |
APT39 has used various strains of malware to query the Registry.[5] |
G0096 | APT41 |
APT41 queried registry values to determine items such as configured RDP ports and network configurations.[6] |
S0438 | Attor |
Attor has opened the registry and performed query searches.[7] |
S0344 | Azorult |
Azorult can check for installed software on the system under the Registry key |
S0414 | BabyShark |
BabyShark has executed the |
S0031 | BACKSPACE |
BACKSPACE is capable of enumerating and making modifications to an infected system's Registry.[10] |
S0239 | Bankshot |
Bankshot searches for certain Registry keys to be configured before executing the payload.[11] |
S0534 | Bazar |
Bazar can query |
S0574 | BendyBear |
BendyBear can query the host's Registry key at |
S0268 | Bisonal |
Bisonal has used the RegQueryValueExA function to retrieve proxy information in the Registry.[15] |
S0570 | BitPaymer |
BitPaymer can use the RegEnumKeyW to iterate through Registry keys.[16] |
S0252 | Brave Prince |
Brave Prince gathers information about the Registry.[17] |
S1039 | Bumblebee | |
S0030 | Carbanak |
Carbanak checks the Registry key |
S0484 | Carberp |
Carberp has searched the Image File Execution Options registry key for "Debugger" within every subkey.[20] |
S0335 | Carbon | |
S0348 | Cardinal RAT |
Cardinal RAT contains watchdog functionality that periodically ensures |
S0674 | CharmPower |
CharmPower has the ability to enumerate |
G0114 | Chimera |
Chimera has queried Registry keys using |
S0023 | CHOPSTICK |
CHOPSTICK provides access to the Windows Registry, which can be used to gather information.[25] |
S0660 | Clambling |
Clambling has the ability to enumerate Registry keys, including |
S0154 | Cobalt Strike |
Cobalt Strike can query |
S0126 | ComRAT |
ComRAT can check the default browser by querying |
S0115 | Crimson |
Crimson can check the Registry for the presence of |
G1034 | Daggerfly |
Daggerfly used Reg to dump the Security Account Manager (SAM), System, and Security Windows registry hives from victim machines.[32] |
S0673 | DarkWatchman |
DarkWatchman can query the Registry to determine if it has already been installed on the system.[33] |
S0354 | Denis | |
S0021 | Derusbi |
Derusbi is capable of enumerating Registry keys and values.[35] |
S0186 | DownPaper |
DownPaper searches and reads the value of the Windows Update Registry Run key.[36] |
G0035 | Dragonfly |
Dragonfly has queried the Registry to identify victim information.[37] |
S0567 | Dtrack |
Dtrack can collect the RegisteredOwner, RegisteredOrganization, and InstallDate registry values.[38] |
S1159 | DUSTTRAP | |
S0091 | Epic |
Epic uses the |
S0512 | FatDuke |
FatDuke can get user agent strings for the default browser from |
S0267 | FELIXROOT |
FELIXROOT queries the Registry for specific keys for potential privilege escalation and proxy information. FELIXROOT has also used WMI to query the Windows Registry.[42][43] |
S0182 | FinFisher |
FinFisher queries Registry values as part of its anti-sandbox checks.[44][45] |
G0117 | Fox Kitten |
Fox Kitten has accessed Registry hives ntuser.dat and UserClass.dat.[46] |
S1044 | FunnyDream |
FunnyDream can check |
S0666 | Gelsemium |
Gelsemium can open random files and Registry keys to obscure malware behavior from sandbox analysis.[48] |
S0032 | gh0st RAT |
gh0st RAT has checked for the existence of a Service key to determine if it has already been installed on the system.[49] |
S0249 | Gold Dragon |
Gold Dragon enumerates registry keys with the command |
S0376 | HOPLIGHT |
A variant of HOPLIGHT hooks lsass.exe, and lsass.exe then checks the Registry for the data value 'rdpproto' under the key |
S0203 | Hydraq |
Hydraq creates a backdoor through which remote attackers can retrieve system information, such as CPU speed, from Registry keys.[51][52] |
G0119 | Indrik Spider |
Indrik Spider has used a service account to extract copies of the |
S0604 | Industroyer |
Industroyer has a data wiper component that enumerates keys in the Registry |
S0260 | InvisiMole |
InvisiMole can enumerate Registry values, keys, and data.[55] |
S0201 | JPIN | |
G0094 | Kimsuky |
Kimsuky has obtained specific Registry keys and values on a compromised host.[57] |
G0032 | Lazarus Group |
Lazarus Group malware IndiaIndia checks Registry keys within HKCU and HKLM to determine if certain applications are present, including SecureCRT, Terminal Services, RealVNC, TightVNC, UltraVNC, Radmin, mRemote, TeamViewer, FileZilla, pcAnyware, and Remote Desktop. Another Lazarus Group malware sample checks for the presence of the following Registry key: |
S0513 | LiteDuke |
LiteDuke can query the Registry to check for the presence of |
S0680 | LitePower |
LitePower can query the Registry for keys added to execute COM hijacking.[61] |
S0532 | Lucifer |
Lucifer can check for existing stratum cryptomining information in |
S1060 | Mafalda |
Mafalda can enumerate Registry keys with all subkeys and values.[63] |
S1015 | Milan |
Milan can query |
S1047 | Mori |
Mori can read data from the Registry including from |
S0385 | njRAT | |
G0049 | OilRig |
OilRig has used |
C0014 | Operation Wocao |
During Operation Wocao, the threat actors executed |
S0165 | OSInfo |
OSInfo queries the registry to look for information about Terminal Services.[69] |
S1050 | PcShare |
PcShare can search the registry files of a compromised host.[47] |
S0517 | Pillowmint |
Pillowmint has used shellcode which reads code stored in the registry keys |
S0013 | PlugX |
PlugX can enumerate and query for information contained within the Windows Registry.[71][72] |
S0145 | POWERSOURCE |
POWERSOURCE queries Registry keys in preparation for setting Run keys to achieve persistence.[73] |
S0194 | PowerSploit |
PowerSploit contains a collection of Privesc-PowerUp modules that can query Registry keys for potential opportunities.[74][75] |
S0184 | POWRUNER |
POWRUNER may query the Registry by running |
S0238 | Proxysvc |
Proxysvc gathers product names from the Registry key: |
S0269 | QUADAGENT |
QUADAGENT checks if a value exists within a Registry key in the HKCU hive whose name is the same as the scheduled task it has created.[78] |
S1076 | QUIETCANARY |
QUIETCANARY has the ability to retrieve information from the Registry.[79] |
S1148 | Raccoon Stealer |
Raccoon Stealer queries the Windows Registry to fingerprint the infected host via the |
S0241 | RATANKBA |
RATANKBA uses the command |
S0172 | Reaver |
Reaver queries the Registry to determine the correct Startup path to use for persistence.[83] |
S0075 | Reg |
Reg may be used to gather details from the Windows Registry of a local or remote system at the command-line interface.[84] |
S0496 | REvil |
REvil can query the Registry to get random file extensions to append to encrypted files.[85] |
S0448 | Rising Sun |
Rising Sun has identified the OS product name from a compromised host by searching the registry for |
S0240 | ROKRAT |
ROKRAT can access the |
S1018 | Saint Bot |
Saint Bot has used |
S1099 | Samurai |
Samurai can query |
S0140 | Shamoon |
Shamoon queries several Registry keys to identify hard disk partitions to overwrite.[90] |
S1019 | Shark |
Shark can query |
S0589 | Sibot |
Sibot has queried the registry for proxy server information.[91] |
S0692 | SILENTTRINITY |
SILENTTRINITY can use the |
S0627 | SodaMaster |
SodaMaster has the ability to query the Registry to detect a key specific to VMware.[93] |
G0038 | Stealth Falcon |
Stealth Falcon malware attempts to determine the installed version of .NET by querying the Registry.[94] |
S0380 | StoneDrill |
StoneDrill has looked in the registry to find the default browser path.[95] |
S0603 | Stuxnet |
Stuxnet searches the Registry for indicators of security programs.[96] |
S0559 | SUNBURST |
SUNBURST collected the registry value |
S1064 | SVCReady |
SVCReady can search for the |
S0242 | SynAck |
SynAck enumerates Registry keys associated with event logs.[99] |
S0011 | Taidoor |
Taidoor can query the Registry on compromised hosts using |
S0560 | TEARDROP |
TEARDROP checked that |
G0027 | Threat Group-3390 |
A Threat Group-3390 tool can read and decrypt stored Registry values.[102] |
S0668 | TinyTurla |
TinyTurla can query the Registry for its configuration information.[103] |
G0010 | Turla |
Turla surveys a system upon check-in to discover information in the Windows Registry with the |
S0022 | Uroburos |
Uroburos can query the Registry, typically |
S0386 | Ursnif |
Ursnif has used Reg to query the Registry for installed programs.[106][107] |
S0476 | Valak |
Valak can use the Registry for code updates and to collect credentials.[108] |
S0180 | Volgmer | |
G1017 | Volt Typhoon |
Volt Typhoon has queried the Registry on compromised systems, |
S0612 | WastedLocker |
WastedLocker checks for specific registry keys related to the |
S0579 | Waterbear |
Waterbear can query the Registry key |
S0155 | WINDSHIELD |
WINDSHIELD can gather Registry values.[114] |
S1065 | Woody RAT |
Woody RAT can search registry keys to identify antivirus programs on an compromised host.[115] |
S0251 | Zebrocy |
Zebrocy executes the |
S0330 | Zeus Panda |
Zeus Panda checks for the existence of a Registry key and if it contains certain values.[117] |
G0128 | ZIRCONIUM |
ZIRCONIUM has used a tool to query the Registry for proxy settings.[118] |
S0412 | ZxShell |
ZxShell can query the netsvc group value data located in the svchost group Registry key.[119] |
S1013 | ZxxZ |
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
ID | Data Source | Data Component | Detects |
---|---|---|---|
DS0017 | Command | Command Execution |
Monitor executed commands and arguments for actions that may interact with the Windows Registry to gather information about the system, configuration, and installed software. Note: For PowerShell Module logging event id 4103, enable logging for module Microsoft.PowerShell.Management. The New-PSDrive PowerShell cmdlet creates temporary and persistent drives that are mapped to or associated with a location in a data store, such a registry key (PSProvider "Registry"). The the Get-ChildItem gets the items in one or more specified locations. By using both, you can enumerate COM objects in one or more specified locations. Analytic 1 - Suspicious Commands
|
DS0009 | Process | OS API Execution |
Monitor for API calls (such as Note: Most EDR tools do not support direct monitoring of API calls due to the sheer volume of calls produced by an endpoint but may have alerts or events that are based on abstractions of OS API calls. |
Process Creation |
Monitor for newly executed processes that may interact with the Windows Registry to gather information about the system, configuration, and installed software. Note: The New-PSDrive PowerShell cmdlet creates temporary and persistent drives that are mapped to or associated with a location in a data store, such a registry key (PSProvider "Registry"). The Get-ChildItem gets the items in one or more specified locations. By using both, you can enumerate COM objects in one or more specified locations. Note for Analytic 3: Replace FilePathToLolbasProcessXX.exe with lolBAS process names that are used by your organization. The number_standard_deviations parameter should be tuned accordingly. Identifying outliers by comparing distance from a data point to the average value against a certain number of standard deviations is recommended for data values that are symmetrical distributed. If your data is not distributed, try a different algorithm such as the Interquartile Range (IQR). Analytic 1 - Suspicious Processes with Registry keys
Analytic 2 - reg.exe spawned from suspicious cmd.exe
Analytic 3 - Rare LolBAS command lines
|
||
DS0024 | Windows Registry | Windows Registry Key Access |
Monitor for unexpected process interactions with the Windows Registry (i.e. reads) that may be related to gathering information. Note: For Security Auditing event ids 4656 and 4663, a System Access Control List (SACL) that controls the use of specific access rights such as Enumerate sub-keys and Query key value is required for event generation. Depending on the Registry key you are monitoring, the implementation of a new System Access Control List (SACL) might be required. Depending of Registry key used for the creation of a System Access Control List (SACL), the generation of event ids 4656 and 4663 might be noisy. Analytic 1 - Suspicious Registry
|