| ID | Name |
|---|---|
| T1049.001 | 合法网络管理工具滥用 |
| T1049.002 | 低频分布式网络拓扑测绘 |
系统网络连接发现是攻击者通过查询本地或远程系统的网络连接信息,获取目标网络拓扑结构的关键技术,通常为后续横向移动、数据渗透或命令控制提供支撑。攻击者可能使用系统内置工具(如netstat、lsof)、云平台管理接口或网络设备CLI命令实施探测。防御方可通过监控异常命令行参数、非标准用户的CLI操作以及Windows管理工具(如WMI、PowerShell)的非常规使用行为进行检测。
为规避传统检测手段对命令行工具调用、进程行为特征及网络流量模式的监控,攻击者发展出深度隐匿的网络连接发现技术。通过内存驻留执行、合法工具滥用、加密隧道传输及分布式节点协同等手法,将网络拓扑探测行为融入系统正常运维活动或背景流量中,显著提升攻击行为的隐蔽性和持续性。
当前系统网络连接发现匿迹技术的演进呈现两大特征:系统信任链劫持与攻击节奏自适应。在信任链层面,通过注入可信进程、滥用管理工具接口获取系统级操作权限,使得恶意行为获得合法身份背书;在节奏控制层面,结合目标网络的运维周期设计探测时间窗口,并引入分布式节点间的任务协同算法,使单节点行为始终低于检测阈值。这些技术的共性在于突破传统攻击面定义,通过系统功能逆向利用、合法机制劫持和防御盲区渗透,构建出"行为合法、数据隐蔽、过程不可见"的新型网络侦察范式。
匿迹技术的发展迫使防御方突破传统基于单点日志分析的检测模式,需构建跨主机的行为关联分析能力,实施内存取证与加密流量元数据分析,并加强对云平台元数据服务接口的异常访问监控,建立覆盖全攻击链的动态威胁感知体系。
| 效应类型 | 是否存在 |
|---|---|
| 特征伪装 | ✅ |
| 行为透明 | ✅ |
| 数据遮蔽 | ❌ |
| 时空释痕 | ✅ |
通过模拟合法管理工具的操作特征(如PowerShell参数格式、云API调用频率),将恶意网络连接查询请求伪装成正常运维行为。在协议层面精确复制SNMP、NETCONF等管理协议的交互模式,使得扫描流量与合法网络管理流量具有相同的协议指纹。
攻击者通过执行系统自带的合法命令或网络设备的标准CLI命令,这些命令和工具本身是操作系统和网络设备中广泛使用的管理工具。攻击行为在防御系统中显得与正常的网络管理操作无异,即使防御者监控到这些命令的执行,仍然难以判断它们是否为恶意行为。
分布式探测节点按照强化学习优化的时间序列执行扫描任务,单个节点的低频操作(如每日单次5分钟活跃期)与传统运维周期吻合,全球分布的节点群使得攻击流量在空间维度呈现天然离散性,破坏防御系统的时空关联分析能力。
| ID | Name | Description |
|---|---|---|
| G0018 | admin@338 |
admin@338 actors used the following command following exploitation of a machine with LOWBALL malware to display network connections: |
| G0138 | Andariel |
Andariel has used the |
| G0006 | APT1 |
APT1 used the |
| G0022 | APT3 |
APT3 has a tool that can enumerate current network connections.[4][5][6] |
| G0050 | APT32 |
APT32 used the |
| G0082 | APT38 |
APT38 installed a port monitoring tool, MAPMAKER, to print the active TCP connections on the local system.[8] |
| G0096 | APT41 |
APT41 has enumerated IP addresses of network resources and used the |
| G1023 | APT5 |
APT5 has used the BLOODMINE utility to collect data on web requests from Pulse Secure Connect logs.[11] |
| S0456 | Aria-body |
Aria-body has the ability to gather TCP and UDP table status listings.[12] |
| S0638 | Babuk |
Babuk can use "WNetOpenEnumW" and "WNetEnumResourceW" to enumerate files in network resources for encryption.[13] |
| G0135 | BackdoorDiplomacy |
BackdoorDiplomacy has used NetCat and PortQry to enumerate network connections and display the status of related TCP and UDP ports.[14] |
| S1081 | BADHATCH |
BADHATCH can execute |
| S0089 | BlackEnergy |
BlackEnergy has gathered information about local network connections using netstat.[16][17] |
| S0335 | Carbon | |
| S0674 | CharmPower |
CharmPower can use |
| G0114 | Chimera |
Chimera has used |
| S0154 | Cobalt Strike |
Cobalt Strike can produce a sessions report from compromised hosts.[21] |
| S0244 | Comnie | |
| S0575 | Conti |
Conti can enumerate routine network connections from a compromised host.[23] |
| S0488 | CrackMapExec |
CrackMapExec can discover active sessions for a targeted system.[24] |
| S0625 | Cuba |
Cuba can use the function |
| S0567 | Dtrack |
Dtrack can collect network and active connection information.[26] |
| S0038 | Duqu |
The discovery modules used with Duqu can collect information on network connections.[27] |
| G1006 | Earth Lusca |
Earth Lusca employed a PowerShell script called RDPConnectionParser to read and filter the Windows event log "Microsoft-Windows-TerminalServices-RDPClient/Operational"(Event ID 1024) to obtain network information from RDP connections. Earth Lusca has also used netstat from a compromised system to obtain network connection information.[28] |
| S0554 | Egregor | |
| S0363 | Empire |
Empire can enumerate the current network connections of a host.[30] |
| S0091 | Epic |
Epic uses the |
| G1016 | FIN13 |
FIN13 has used |
| S0696 | Flagpro |
Flagpro has been used to execute |
| S1144 | FRP |
FRP can use a dashboard and U/I to display the status of connections from the FRP client and server.[35] |
| C0007 | FunnyDream |
During FunnyDream, the threat actors used netstat to discover network connections on remote systems.[36] |
| G0093 | GALLIUM |
GALLIUM used |
| S0237 | GravityRAT |
GravityRAT uses the |
| G1001 | HEXANE |
HEXANE has used netstat to monitor connections to specific ports.[39] |
| G1032 | INC Ransom |
INC Ransom has used RDP to test network connections.[40] |
| S0283 | jRAT | |
| G0004 | Ke3chang |
Ke3chang performs local network connection discovery using |
| S0356 | KONNI | |
| S1075 | KOPILUWAK |
KOPILUWAK can use netstat, Arp, and Net to discover current TCP connections.[45] |
| S0236 | Kwampirs |
Kwampirs collects a list of active and listening connections by using the command |
| G0032 | Lazarus Group |
Lazarus Group has used |
| S0681 | Lizar |
Lizar has a plugin to retrieve information about all active network sessions on the infected server.[48] |
| S0532 | Lucifer |
Lucifer can identify the IP and port numbers for all remote connections from the compromised host.[49] |
| S1141 | LunarWeb | |
| S0409 | Machete |
Machete uses the |
| S1060 | Mafalda |
Mafalda can use the |
| G0059 | Magic Hound |
Magic Hound has used quser.exe to identify existing RDP connections.[53] |
| S0449 | Maze |
Maze has used the "WNetOpenEnumW", "WNetEnumResourceW", "WNetCloseEnum" and "WNetAddConnection2W" functions to enumerate the network resources on the infected machine.[54] |
| G0045 | menuPass |
menuPass has used |
| S0443 | MESSAGETAP |
After loading the keyword and phone data files, MESSAGETAP begins monitoring all network connections to and from the victim server. [56] |
| G0069 | MuddyWater |
MuddyWater has used a PowerShell backdoor to check for Skype connections on the target machine.[57] |
| G0129 | Mustang Panda |
Mustang Panda has used |
| S0102 | nbtstat |
nbtstat can be used to discover current NetBIOS sessions. |
| S0039 | Net |
Commands such as |
| S0104 | netstat |
netstat can be used to enumerate local network connections, including active TCP connections and other network statistics.[60] |
| S0198 | NETWIRE |
NETWIRE can capture session logon details from a compromised host.[61] |
| G0049 | OilRig |
OilRig has used |
| S0439 | Okrum |
Okrum was seen using NetSess to discover NetBIOS sessions.[63] |
| C0012 | Operation CuckooBees |
During Operation CuckooBees, the threat actors used the |
| C0014 | Operation Wocao |
During Operation Wocao, threat actors collected a list of open connections on the infected system using |
| S0165 | OSInfo |
OSInfo enumerates the current network connections similar to |
| S1091 | Pacu |
Once inside a Virtual Private Cloud, Pacu can attempt to identify DirectConnect, VPN, or VPC Peering.[66] |
| S0013 | PlugX |
PlugX has a module for enumerating TCP and UDP network connections and associated processes using the |
| G0033 | Poseidon Group |
Poseidon Group obtains and saves information about victim network interfaces and addresses.[68] |
| S0378 | PoshC2 |
PoshC2 contains an implementation of netstat to enumerate TCP and UDP connections.[69] |
| S0184 | POWRUNER |
POWRUNER may collect active network connections by running |
| S0192 | Pupy |
Pupy has a built-in utility command for |
| S1032 | PyDCrypt |
PyDCrypt has used netsh to find RPC connections on remote machines.[72] |
| S0650 | QakBot |
QakBot can use |
| S0458 | Ramsay |
Ramsay can use |
| S0241 | RATANKBA |
RATANKBA uses |
| S0153 | RedLeaves |
RedLeaves can enumerate drives and Remote Desktop sessions.[77] |
| S0125 | Remsec |
Remsec can obtain a list of active connections and open ports.[78] |
| G0034 | Sandworm Team |
Sandworm Team had gathered user, IP address, and server data related to RDP sessions on a compromised host. It has also accessed network diagram files useful for understanding how a host's network was configured.[79][80] |
| S1085 | Sardonic |
Sardonic has the ability to execute the |
| S0445 | ShimRatReporter |
ShimRatReporter used the Windows function |
| S0063 | SHOTPUT | |
| S0589 | Sibot |
Sibot has retrieved a GUID associated with a present LAN connection on a compromised machine.[84] |
| S0633 | Sliver | |
| S0533 | SLOTHFULMEDIA |
SLOTHFULMEDIA can enumerate open ports on a victim machine.[86] |
| S0374 | SpeakUp | |
| S0018 | Sykipot |
Sykipot may use |
| G0139 | TeamTNT |
TeamTNT has run |
| G0027 | Threat Group-3390 |
Threat Group-3390 has used |
| G1022 | ToddyCat |
ToddyCat has used |
| S0678 | Torisma |
Torisma can use |
| S0094 | Trojan.Karagany |
Trojan.Karagany can use netstat to collect a list of network connections.[94] |
| G0081 | Tropic Trooper |
Tropic Trooper has tested if the localhost network is available and other connection capability on an infected system using command scripts.[95] |
| G0010 | Turla |
Turla surveys a system upon check-in to discover active local network connections using the |
| S0452 | USBferry |
USBferry can use |
| S0180 | Volgmer |
Volgmer can gather information about TCP connection state.[98] |
| G1017 | Volt Typhoon |
Volt Typhoon has used |
| S0579 | Waterbear |
Waterbear can use API hooks on |
| S0251 | Zebrocy |
Zebrocy uses |
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 that may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network. Information may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell. For network devices, monitor executed commands in AAA logs, especially those run by unexpected or unauthorized users. |
| DS0009 | Process | OS API Execution |
Monitor for API calls that may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network. |
| Process Creation |
Monitor for executed processes that may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network. |