Skip to content

Latest commit

 

History

History
105 lines (66 loc) · 3.52 KB

T1018.md

File metadata and controls

105 lines (66 loc) · 3.52 KB

T1018 - Remote System Discovery

Adversaries will likely attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system. Functionality could exist within remote access tools to enable this, but utilities available on the operating system could also be used.

===Windows===

Examples of tools and commands that acquire this information include "ping" or "net view" using Net.

===Mac===

Specific to Mac, the bonjour protocol to discover additional Mac-based systems within the same broadcast domain. Utilities such as "ping" and others can be used to gather information about remote systems.

===Linux===

Utilities such as "ping" and others can be used to gather information about remote systems.

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, such as Lateral Movement, based on the information obtained.

Normal, benign system and network events related to legitimate remote system discovery may be uncommon, depending on the environment and how they are used. 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.

Platforms: Linux, macOS, Windows

Data Sources: Network protocol analysis, Process command-line parameters, Process monitoring, Process use of network

Permissions Required: User, Administrator, SYSTEM

Atomic Tests


Atomic Test #1 - Remote System Discovery - net

Identify remote systems with net.exe

Supported Platforms: Windows

Run it with command_prompt!

net view /domain
net view


Atomic Test #2 - Remote System Discover - ping sweep

Identify remote systems via ping sweep

Supported Platforms: Windows

Run it with command_prompt!

for /l %i in (1,1,254) do ping -n 1 -w 100 192.168.1.%i


Atomic Test #3 - Remote System Discover - arp

Identify remote systems via arp

Supported Platforms: Windows

Run it with command_prompt!

arp -a


Atomic Test #4 - Remote System Discovery - arp nix

Identify remote systems via arp

Supported Platforms: Linux, macOS

Run it with sh!

arp -a | grep -v '^?'


Atomic Test #5 - Remote System Discovery - sweep

Identify remote systems via ping sweep

Supported Platforms: Linux, macOS

Run it with sh!

for ip in $(seq 1 254); do ping -c 1 192.168.1.$ip -o; [ $? -eq 0 ] && echo "192.168.1.$ip UP" || : ; done