T1010 - 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.(Citation: Prevailion DarkWatchman 2021) 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.(Citation: ESET Grandoreiro April 2020)
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.
Atomic Tests#
Atomic Test #1 - List Process Main Windows - C# .NET#
Compiles and executes C# code to list main window titles associated with each process.
Upon successful execution, powershell will download the .cs from the Atomic Red Team repo, and cmd.exe will compile and execute T1010.exe. Upon T1010.exe execution, expected output will be via stdout.
Supported Platforms: windows
Dependencies: Run with powershell
!#
Description: T1010.cs must exist on disk at specified location (#{input_source_code})#
Check Prereq Commands:#
if (Test-Path "PathToAtomicsFolder\T1010\src\T1010.cs") {exit 0} else {exit 1}
Get Prereq Commands:#
New-Item -Type Directory (split-path "PathToAtomicsFolder\T1010\src\T1010.cs") -ErrorAction ignore | Out-Null
Invoke-WebRequest https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1010/src/T1010.cs -OutFile "PathToAtomicsFolder\T1010\src\T1010.cs"
Invoke-AtomicTest T1010 -TestNumbers 1 -GetPreReqs
Attack Commands: Run with command_prompt
#
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe -out:%TEMP%\T1010.exe "PathToAtomicsFolder\T1010\src\T1010.cs"
%TEMP%\T1010.exe
Invoke-AtomicTest T1010 -TestNumbers 1
Cleanup:#
del /f /q /s %TEMP%\T1010.exe >nul 2>&1
Invoke-AtomicTest T1010 -TestNumbers 1 -Cleanup
Detection#
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.
Monitor processes and command-line arguments for actions that could be taken to gather system and network information. Remote access tools with built-in features may interact directly with the Windows API to gather information. Information may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell.
Shield Active Defense#
Application Diversity#
Present the adversary with a variety of installed applications and services.
Application diversity is presenting multiple software targets to the adversary. On a single target system, defenders can configure multiple different services or user software applications. On a target network, defenders can present systems with a variety of operating systems, operating system versions, applications, and services.
Opportunity#
There is an opportunity to provide a variety of applications to an adversary so they see a full set of information when performing discovery tasks.
Use Case#
During an adversary engagement operation, a defender can open and use any particular subset of applications installed on a system to control what is presented to the adversary at any point in time.
Procedures#
Use a mix of vulnerable and nonvulnerable software on a system to allow you to see what exploits the adversary leverages in their attacks. Install Anti-virus or other end-point detection tools on systems to see if an adversary takes note of them and if so, how they react.