Adversaries may exploit remote services to gain unauthorized access to internal systems once inside of a network. Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. A common goal for post-compromise exploitation of remote services is for lateral movement to enable access to a remote system.
An adversary may need to determine if the remote system is in a vulnerable state, which may be done through Network Service Scanning or other Discovery methods looking for common, vulnerable software that may be deployed in the network, the lack of certain patches that may indicate vulnerabilities, or security software that may be used to detect or contain remote exploitation. Servers are likely a high value target for lateral movement exploitation, but endpoint systems may also be at risk if they provide an advantage or access to additional resources.
There are several well-known vulnerabilities that exist in common services such as SMB [1] and RDP [2] as well as applications that may be used within internal networks such as MySQL [3] and web server services. [4]
Depending on the permissions level of the vulnerable remote service an adversary may achieve Exploitation for Privilege Escalation as a result of lateral movement exploitation as well.
ID | Name | Description |
---|---|---|
G0007 | APT28 |
APT28 exploited a Windows SMB Remote Code Execution Vulnerability to conduct lateral movement.[5][6][7] |
S0606 | Bad Rabbit |
Bad Rabbit used the EternalRomance SMB exploit to spread through victim networks.[8] |
S0608 | Conficker |
Conficker exploited the MS08-067 Windows vulnerability for remote code execution through a crafted RPC request.[9] |
S0367 | Emotet |
Emotet has been seen exploiting SMB via a vulnerability exploit like EternalBlue (MS17-010) to achieve lateral movement and propagation. [10][11][12][13] |
S0363 | Empire |
Empire has a limited number of built-in modules for exploiting remote SMB, JBoss, and Jenkins servers.[14] |
G0046 | FIN7 |
FIN7 has exploited ZeroLogon (CVE-2020-1472) against vulnerable domain controllers.[15] |
S0143 | Flame |
Flame can use MS10-061 to exploit a print spooler vulnerability in a remote system with a shared printer in order to move laterally.[16][17] |
G0117 | Fox Kitten |
Fox Kitten has exploited known vulnerabilities in remote services including RDP.[18][19][20] |
S0260 | InvisiMole |
InvisiMole can spread within a network via the BlueKeep (CVE-2019-0708) and EternalBlue (CVE-2017-0144) vulnerabilities in RDP and SMB respectively.[21] |
S0532 | Lucifer |
Lucifer can exploit multiple vulnerabilities including EternalBlue (CVE-2017-0144) and EternalRomance (CVE-2017-0144).[22] |
G0045 | menuPass |
menuPass has used tools to exploit the ZeroLogon vulnerability (CVE-2020-1472).[23] |
S0368 | NotPetya |
NotPetya can use two exploits in SMBv1, EternalBlue and EternalRomance, to spread itself to other remote systems on the network.[24][25][26] |
S0378 | PoshC2 |
PoshC2 contains a module for exploiting SMB via EternalBlue.[27] |
S0650 | QakBot |
QakBot can move laterally using worm-like functionality through exploitation of SMB.[28] |
S0603 | Stuxnet |
Stuxnet propagates using the MS10-061 Print Spooler and MS08-067 Windows Server Service vulnerabilities.[29] |
G0027 | Threat Group-3390 |
Threat Group-3390 has exploited MS17-010 to move laterally to other systems on the network.[30] |
G0131 | Tonto Team |
Tonto Team has used EternalBlue exploits for lateral movement.[31] |
S0266 | TrickBot |
TrickBot utilizes EternalBlue and EternalRomance exploits for lateral movement in the modules wormwinDll, wormDll, mwormDll, nwormDll, tabDll.[32] |
S0366 | WannaCry |
WannaCry uses an exploit in SMBv1 to spread itself to other remote systems on a network.[33][34][35] |
G0102 | Wizard Spider |
Wizard Spider has exploited or attempted to exploit Zerologon (CVE-2020-1472) and EternalBlue (MS17-010) vulnerabilities.[36][37][38] |
ID | Mitigation | Description |
---|---|---|
M1048 | Application Isolation and Sandboxing |
Make it difficult for adversaries to advance their operation through exploitation of undiscovered or unpatched vulnerabilities by using sandboxing. Other types of virtualization and application microsegmentation may also mitigate the impact of some types of exploitation. Risks of additional exploits and weaknesses in these systems may still exist. [39] |
M1042 | Disable or Remove Feature or Program |
Minimize available services to only those that are necessary. |
M1050 | Exploit Protection |
Security applications that look for behavior used during exploitation such as Windows Defender Exploit Guard (WDEG) and the Enhanced Mitigation Experience Toolkit (EMET) can be used to mitigate some exploitation behavior. [40] Control flow integrity checking is another way to potentially identify and stop a software exploit from occurring. [41] Many of these protections depend on the architecture and target application binary for compatibility and may not work for all software or services targeted. |
M1030 | Network Segmentation |
Segment networks and systems appropriately to reduce access to critical systems and services to controlled methods. |
M1026 | Privileged Account Management |
Minimize permissions and access for service accounts to limit impact of exploitation. |
M1019 | Threat Intelligence Program |
Develop a robust cyber threat intelligence capability to determine what types and levels of threat may use software exploits and 0-days against a particular organization. |
M1051 | Update Software |
Update software regularly by employing patch management for internal enterprise endpoints and servers. |
M1016 | Vulnerability Scanning |
Regularly scan the internal network for available services to identify new and potentially vulnerable services. |
ID | Data Source | Data Component |
---|---|---|
DS0015 | Application Log | Application Log Content |
DS0029 | Network Traffic | Network Traffic Content |
Detecting software exploitation may be difficult depending on the tools available. Software exploits may not always succeed or may cause the exploited process to become unstable or crash. Also look for behavior on the endpoint system that might indicate successful compromise, such as abnormal behavior of the processes. This could include suspicious files written to disk, evidence of Process Injection for attempts to hide execution, evidence of Discovery, or other unusual network traffic that may indicate additional tools transferred to the system.