An adversary may gather the system time and/or time zone settings from a local or remote system. The system time is set and stored by services, such as the Windows Time Service on Windows or systemsetup
on macOS.[1][2][3] These time settings may also be synchronized between systems and services in an enterprise network, typically accomplished with a network time server within a domain.[4][5]
System time information may be gathered in a number of ways, such as with Net on Windows by performing net time \hostname
to gather the system time on a remote system. The victim's time zone may also be inferred from the current system time or gathered by using w32tm /tz
.[2] In addition, adversaries can discover device uptime through functions such as GetTickCount()
to determine how long it has been since the system booted up.[6]
On network devices, Network Device CLI commands such as show clock detail
can be used to see the current time configuration.[7]
In addition, system calls – such as time()
– have been used to collect the current time on Linux devices.[8] On macOS systems, adversaries may use commands such as systemsetup -gettimezone
or timeIntervalSinceNow
to gather current time zone information or current date and time.[9][10]
This information could be useful for performing other techniques, such as executing a file with a Scheduled Task/Job[11], or to discover locality information based on time zone to assist in victim targeting (i.e. System Location Discovery). Adversaries may also use knowledge of system time as part of a time bomb, or delaying execution until a specified date/time.[12]
ID | Name | Description |
---|---|---|
S0331 | Agent Tesla |
Agent Tesla can collect the timestamp from the victim’s machine.[13] |
S0622 | AppleSeed |
AppleSeed can pull a timestamp from the victim's machine.[14] |
S0373 | Astaroth |
Astaroth collects the timestamp from the infected machine. [15] |
S1053 | AvosLocker |
AvosLocker has checked the system time before and after encryption.[16] |
S0344 | Azorult |
Azorult can collect the time zone information from the system.[17][18] |
S1081 | BADHATCH |
BADHATCH can obtain the |
S0534 | Bazar | |
S0574 | BendyBear |
BendyBear has the ability to determine local time on a compromised host.[22] |
S0017 | BISCUIT | |
S0268 | Bisonal |
Bisonal can check the system time set on the infected host.[24] |
S0657 | BLUELIGHT |
BLUELIGHT can collect the local time on a compromised host.[25] |
G0060 | BRONZE BUTLER |
BRONZE BUTLER has used |
S0471 | build_downer |
build_downer has the ability to determine the local time to ensure malware installation only happens during the hours that the infected system is active.[27] |
C0015 | C0015 |
During C0015, the threat actors used the command |
S0351 | Cannon |
Cannon can collect the current time zone information from the victim’s machine.[29] |
S0335 | Carbon |
Carbon uses the command |
S1043 | ccf32 |
ccf32 can determine the local time on targeted machines.[31] |
G0114 | Chimera |
Chimera has used |
S0660 | Clambling | |
S0126 | ComRAT |
ComRAT has checked the victim system's date and time to perform tasks during business hours (9 to 5, Monday to Friday).[34] |
S0608 | Conficker |
Conficker uses the current UTC victim system date for domain generation and connects to time servers to determine the current date.[35][36] |
S0115 | Crimson |
Crimson has the ability to determine the date and time on a compromised host.[37] |
G1012 | CURIUM |
CURIUM deployed mechanisms to check system time information following strategic website compromise attacks.[38] |
S1111 | DarkGate |
DarkGate creates a log file for capturing keylogging, clipboard, and related data using the victim host's current date for the filename.[39] DarkGate queries victim system epoch time during execution.[39] DarkGate captures system time information as part of automated profiling on initial installation.[40] |
G0012 | Darkhotel |
Darkhotel malware can obtain system time from a compromised host.[41] |
S0673 | DarkWatchman |
DarkWatchman can collect time zone information and system |
S1033 | DCSrv |
DCSrv can compare the current time on an infected host with a configuration value to determine when to start the encryption process.[43] |
S1134 | DEADWOOD |
DEADWOOD will set a timestamp value to determine when wiping functionality starts. When the timestamp is met on the system, a trigger file is created on the operating system allowing for execution to proceed. If the timestamp is in the past, the wiper will execute immediately.[44] |
S0694 | DRATzarus |
DRATzarus can use the |
S1159 | DUSTTRAP |
DUSTTRAP reads the infected system's current time and writes it to a log file during execution.[46] |
S0554 | Egregor |
Egregor contains functionality to query the local/system time.[47] |
S0091 | Epic |
Epic uses the |
S0396 | EvilBunny |
EvilBunny has used the API calls NtQuerySystemTime, GetSystemTimeAsFileTime, and GetTickCount to gather time metrics as part of its checks to see if the malware is running in a sandbox.[49] |
S0267 | FELIXROOT |
FELIXROOT gathers the time zone information from the victim’s machine.[50] |
S1044 | FunnyDream |
FunnyDream can check system time to help determine when changes were made to specified files.[31] |
S0588 | GoldMax |
GoldMax can check the current date-time value of the compromised system, comparing it to the hardcoded execution trigger and can send the current timestamp to the C2 server.[51][52] |
S0531 | Grandoreiro |
Grandoreiro can determine the time on the victim machine via IPinfo.[53] |
S0237 | GravityRAT |
GravityRAT can obtain the date and time of a system.[54] |
S0690 | Green Lambert |
Green Lambert can collect the date and time from a compromised host.[55][56] |
S0417 | GRIFFON |
GRIFFON has used a reconnaissance module that can be used to retrieve the date and time of the system.[57] |
G0126 | Higaisa | |
S0376 | HOPLIGHT |
HOPLIGHT has been observed collecting system time from victim machines.[59] |
S0260 | InvisiMole |
InvisiMole gathers the local system time from the victim’s machine.[60][61] |
S1051 | KEYPLUG |
KEYPLUG can obtain the current tick count of an infected computer.[62] |
G0032 | Lazarus Group |
A Destover-like implant used by Lazarus Group can obtain the current system time and send it to the C2 server.[63] |
S0455 | Metamorfo | |
S0149 | MoonWind | |
S0039 | Net |
The |
S1147 | Nightdoor |
Nightdoor can identify the system local time information.[67] |
S0353 | NOKKI |
NOKKI can collect the current timestamp of the victim's machine.[68] |
S0439 | Okrum |
Okrum can obtain the date and time of the compromised system.[69] |
S0264 | OopsIE |
OopsIE checks to see if the system is configured with "Daylight" time and checks for a specific region to be set for the timezone.[70] |
C0012 | Operation CuckooBees |
During Operation CuckooBees, the threat actors used the |
C0014 | Operation Wocao |
During Operation Wocao, threat actors used the |
S0501 | PipeMon |
PipeMon can send time zone information from a compromised host to C2.[73] |
S0139 | PowerDuke |
PowerDuke has commands to get the time the machine was built, the time, and the time zone.[74] |
S0238 | Proxysvc |
As part of the data reconnaissance phase, Proxysvc grabs the system time to send back to the control server.[63] |
S0650 | QakBot | |
S1148 | Raccoon Stealer |
Raccoon Stealer gathers victim machine timezone information.[76][77] |
S0148 | RTM | |
S0596 | ShadowPad |
ShadowPad has collected the current date and time of the victim system.[79] |
S0140 | Shamoon |
Shamoon obtains the system time and will only activate if it is greater than a preset date.[80][81] |
S0450 | SHARPSTATS |
SHARPSTATS has the ability to identify the current date and time on the compromised host.[82] |
G0121 | Sidewinder |
Sidewinder has used tools to obtain the current system time.[83] |
S0692 | SILENTTRINITY |
SILENTTRINITY can collect start time information from a compromised host.[84] |
S0615 | SombRAT |
SombRAT can execute |
S0380 | StoneDrill |
StoneDrill can obtain the current date and time of the victim machine.[87] |
S1034 | StrifeWater |
StrifeWater can collect the time zone from the victim's machine.[88] |
S0603 | Stuxnet |
Stuxnet collects the time and date of a system when it is infected.[89] |
S0559 | SUNBURST | |
S1064 | SVCReady | |
S0098 | T9000 |
T9000 gathers and beacons the system time during installation.[93] |
S0011 | Taidoor |
Taidoor can use |
S0586 | TAINTEDSCRIBE |
TAINTEDSCRIBE can execute |
S0467 | TajMahal |
TajMahal has the ability to determine local time on a compromised host.[96] |
G0089 | The White Company |
The White Company has checked the current date on the victim system.[97] |
S0678 | Torisma |
Torisma can collect the current time on a victim machine.[98] |
G0010 | Turla |
Turla surveys a system upon check-in to discover the system time by using the |
S0275 | UPPERCUT |
UPPERCUT has the capability to obtain the time zone information and current timestamp of the victim’s machine.[99] |
G1017 | Volt Typhoon |
Volt Typhoon has obtained the victim's system timezone.[100] |
S0466 | WindTail |
WindTail has the ability to generate the current date and time.[101] |
S0251 | Zebrocy |
Zebrocy gathers the current time zone and date information from the system.[102][103] |
S0330 | Zeus Panda |
Zeus Panda collects the current system time (UTC) and sends it back to the C2 server.[104] |
G0128 | ZIRCONIUM |
ZIRCONIUM has used a tool to capture the time on a compromised host in order to register it with C2.[105] |
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 gather the system time and/or time zone from a local or remote system. |
DS0009 | Process | OS API Execution |
Monitor for API calls that may gather the system time and/or time zone from a local or remote system. Remote access tools with built-in features may interact directly with the Windows API to gather information. |
Process Creation |
Monitor for newly executed processes that may gather the system time and/or time zone from a local or remote system. |