Application Window Discovery

Adversaries may attempt to get a listing of open application windows. Window listings could convey information about how the system is used.[1] For example, information about application windows could be used identify potential data to collect as well as identifying security tooling (Security Software Discovery) to evade.[2]

Adversaries typically abuse system features for this type of enumeration. For example, they may gather information through native system features such as Command and Scripting Interpreter commands and Native API functions.

ID: T1010
Sub-techniques:  No sub-techniques
Tactic: Discovery
Platforms: Linux, Windows, macOS
Version: 1.3
Created: 31 May 2017
Last Modified: 15 April 2023

Procedure Examples

ID Name Description
S0456 Aria-body

Aria-body has the ability to identify the titles of running windows on a compromised host.[3]

S0438 Attor

Attor can obtain application window titles and then determines which windows to perform Screen Capture on.[4]

S0454 Cadelspy

Cadelspy has the ability to identify open windows on the compromised host.[5]

S0261 Catchamas

Catchamas obtains application windows titles and then determines which windows to perform Screen Capture on.[6]

S0673 DarkWatchman

DarkWatchman reports window names along with keylogger information to provide application context.[1]

S0038 Duqu

The discovery modules used with Duqu can collect information on open windows.[7]

S0696 Flagpro

Flagpro can check the name of the window displayed on the system.[8]

S1044 FunnyDream

FunnyDream has the ability to discover application windows via execution of EnumWindows.[9]

S0531 Grandoreiro

Grandoreiro can identify installed security tools based on window names.[2]

G1001 HEXANE

HEXANE has used a PowerShell-based keylogging tool to capture the window title.[10]

S0431 HotCroissant

HotCroissant has the ability to list the names of all open windows on the infected host.[11]

S0260 InvisiMole

InvisiMole can enumerate windows and child windows on a compromised host.[12][13]

S0265 Kazuar

Kazuar gathers information about opened windows.[14]

G0032 Lazarus Group

Lazarus Group malware IndiaIndia obtains and sends to its C2 server the title of the window for each running process. The KilaAlfa keylogger also reports the title of the window in the foreground.[15][16][17]

S0409 Machete

Machete saves the window names.[18]

S0455 Metamorfo

Metamorfo can enumerate all windows on the victim’s machine.[19][20]

S0033 NetTraveler

NetTraveler reports window names along with keylogger information to provide application context.[21]

S0198 NETWIRE

NETWIRE can discover and close windows on controlled systems.[22]

S1090 NightClub

NightClub can use GetForegroundWindow to enumerate the active window.[23]

S0385 njRAT

njRAT gathers information about opened windows during the initial infection.[24]

S0435 PLEAD

PLEAD has the ability to list open windows on the compromised host.[25][25]

S0012 PoisonIvy

PoisonIvy captures window titles.[26]

S0139 PowerDuke

PowerDuke has a command to get text of the current foreground window.[27]

S0650 QakBot

QakBot has the ability to enumerate windows on a compromised host.[28]

S0375 Remexi

Remexi has a command to capture active windows on the machine and retrieve window titles.[29]

S0240 ROKRAT

ROKRAT can use the GetForegroundWindow and GetWindowText APIs to discover where the user is typing.[30]

S0692 SILENTTRINITY

SILENTTRINITY can enumerate the active Window during keylogging through execution of GetActiveWindowTitle.[31]

S0157 SOUNDBITE

SOUNDBITE is capable of enumerating application windows.[32]

S0094 Trojan.Karagany

Trojan.Karagany can monitor the titles of open windows to identify specific keywords.[33]

S0219 WINERACK

WINERACK can enumerate active windows.[34]

Mitigations

This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.

Detection

ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments for actions that could be taken to gather system and network information. Information may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell.

Note: Commands can also be obtained from Payload event field for PowerShell event id 4103. For PowerShell Module logging event id 4103, enable logging for module Microsoft.PowerShell.Management.

Analytic 1 - Suspicious Commands

suspicious_commands = filter commands where event_id == "4103" AND ((command_line LIKE '%Get-Process%' AND command_line_parameter LIKE '%mainWindowTitle%'))

DS0009 Process OS API Execution

Monitor for API calls (such as GetForegroundWindow()) that may attempt to get a listing of open application windows. GetForegroundWindow api returns a handle to the foreground window (the window with which the user is currently working). Other API calls relevant to Local Group discovery include GetProcesses and GetForegroundWindow. GetProcesses api returns an array of type Process that represents all the process resources running on the local computer.

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. Dynamic malware analysis tools (i.e., sandboxes) can be used to trace the execution, including OS API calls, for a single PE binary.

Analytic 1 - Suspicious API Calls

suspicious_apis = filter processes where ApiName LIKE '%GetProcesses%' OR ApiName LIKE '%GetForegroundWindow%'

Process Creation

Monitor for newly executed processes that may attempt to get a listing of open application windows. System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities based on the information obtained.

Note: Event IDs are for Sysmon (Event ID 1 - process create) and Windows Security Log (Event ID 4688 - a new process has been created).

Analytic 1 - Suspicious Processes

suspicious_processes = filter process where (event_id == "1" OR event_id == "4688") AND (command_line LIKE '%Get-Process%' AND command_line LIKE '%mainWindowTitle%')

References

  1. Smith, S., Stafford, M. (2021, December 14). DarkWatchman: A new evolution in fileless techniques. Retrieved January 10, 2022.
  2. ESET. (2020, April 28). Grandoreiro: How engorged can an EXE get?. Retrieved November 13, 2020.
  3. CheckPoint. (2020, May 7). Naikon APT: Cyber Espionage Reloaded. Retrieved May 26, 2020.
  4. Hromcova, Z. (2019, October). AT COMMANDS, TOR-BASED COMMUNICATIONS: MEET ATTOR, A FANTASY CREATURE AND ALSO A SPY PLATFORM. Retrieved May 6, 2020.
  5. Symantec Security Response. (2015, December 7). Iran-based attackers use back door threats to spy on Middle Eastern targets. Retrieved April 17, 2019.
  6. Balanza, M. (2018, April 02). Infostealer.Catchamas. Retrieved July 10, 2018.
  7. Symantec Security Response. (2011, November). W32.Duqu: The precursor to the next Stuxnet. Retrieved September 17, 2015.
  8. Hada, H. (2021, December 28). Flagpro The new malware used by BlackTech. Retrieved March 25, 2022.
  9. Vrabie, V. (2020, November). Dissecting a Chinese APT Targeting South Eastern Asian Government Institutions. Retrieved September 19, 2022.
  10. SecureWorks 2019, August 27 LYCEUM Takes Center Stage in Middle East Campaign Retrieved. 2019/11/19
  11. Knight, S.. (2020, April 16). VMware Carbon Black TAU Threat Analysis: The Evolution of Lazarus. Retrieved May 1, 2020.
  12. Hromcová, Z. (2018, June 07). InvisiMole: Surprisingly equipped spyware, undercover since 2013. Retrieved July 10, 2018.
  13. Hromcova, Z. and Cherpanov, A. (2020, June). INVISIMOLE: THE HIDDEN PART OF THE STORY. Retrieved July 16, 2020.
  14. Levene, B, et al. (2017, May 03). Kazuar: Multiplatform Espionage Backdoor with API Access. Retrieved July 17, 2018.
  15. Novetta Threat Research Group. (2016, February 24). Operation Blockbuster: Unraveling the Long Thread of the Sony Attack. Retrieved February 25, 2016.
  16. Novetta Threat Research Group. (2016, February 24). Operation Blockbuster: Loaders, Installers and Uninstallers Report. Retrieved March 2, 2016.
  17. Novetta Threat Research Group. (2016, February 24). Operation Blockbuster: Tools Report. Retrieved March 10, 2016.
  1. ESET. (2019, July). MACHETE JUST GOT SHARPER Venezuelan government institutions under attack. Retrieved September 13, 2019.
  2. Sierra, E., Iglesias, G.. (2018, April 24). Metamorfo Campaigns Targeting Brazilian Users. Retrieved July 30, 2020.
  3. Zhang, X. (2020, February 4). Another Metamorfo Variant Targeting Customers of Financial Institutions in More Countries. Retrieved July 30, 2020.
  4. Kaspersky Lab's Global Research and Analysis Team. (n.d.). The NetTraveler (aka ‘Travnet’). Retrieved November 12, 2014.
  5. Lambert, T. (2020, January 29). Intro to Netwire. Retrieved January 7, 2021.
  6. Faou, M. (2023, August 10). MoustachedBouncer: Espionage against foreign diplomats in Belarus. Retrieved September 25, 2023.
  7. Fidelis Cybersecurity. (2013, June 28). Fidelis Threat Advisory #1009: "njRAT" Uncovered. Retrieved June 4, 2019.
  8. Bermejo, L., et al. (2017, June 22). Following the Trail of BlackTech’s Cyber Espionage Campaigns. Retrieved May 5, 2020.
  9. Hayashi, K. (2005, August 18). Backdoor.Darkmoon. Retrieved February 23, 2018.
  10. Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election Spear Phishing Campaigns Targeting Think Tanks and NGOs. Retrieved January 11, 2017.
  11. Morrow, D. (2021, April 15). The rise of QakBot. Retrieved September 27, 2021.
  12. Legezo, D. (2019, January 30). Chafer used Remexi malware to spy on Iran-based foreign diplomatic entities. Retrieved April 17, 2019.
  13. Mercer, W., Rascagneres, P. (2017, April 03). Introducing ROKRAT. Retrieved May 21, 2018.
  14. Salvati, M. (2019, August 6). SILENTTRINITY Modules. Retrieved March 24, 2022.
  15. Carr, N.. (2017, May 14). Cyber Espionage is Alive and Well: APT32 and the Threat to Global Corporations. Retrieved June 18, 2017.
  16. Secureworks. (2019, July 24). Updated Karagany Malware Targets Energy Sector. Retrieved August 12, 2020.
  17. FireEye. (2018, February 20). APT37 (Reaper): The Overlooked North Korean Actor. Retrieved March 1, 2018.