Tengo la capacidad de ejecutar código Python arbitrario en el usuario 'apache'. ¿Qué daño puedo hacer?

46

Entonces, debido a una mala programación por parte de uno de mis colegas anteriores, una de nuestras aplicaciones web internas le permite al usuario cargar y ejecutar un archivo Python arbitrario. Esto salió a la luz recientemente a través de un consejo anónimo. Hasta ahora no he hecho nada demasiado loco, solo uso la biblioteca del sistema operativo para explorar un poco la estructura del directorio. Aunque no estoy seguro de cuánto daño podría hacer. Hay una aplicación web de Python y una base de datos MySQL que se ejecuta en el servidor.

¿Podría darme acceso a SSH de alguna manera? No puedo averiguar exactamente cómo me gustaría hacer eso. Tampoco creo que pueda acceder a la base de datos, ya que no tengo ninguna información del usuario.

Entonces, ¿cuál es el límite práctico del peor daño que podría hacer aquí?

    
pregunta ian93 07.06.2016 - 18:47
fuente

1 respuesta

89

Podría escribir algún código Python para cargar un binario del servidor SSH y luego ejecutarlo, esto le dará acceso total a SSH bajo los privilegios del usuario Apache.

Desde allí puede leer fácilmente los archivos de configuración de la aplicación Python y conectarse a la base de datos usando las credenciales desde allí, lo que le permitirá capturar datos confidenciales (no se necesitan vulnerabilidades aquí ya que la aplicación ya tiene acceso a la base de datos). / p>

Además, como @Aroth señaló en los comentarios, también puede comprometer otras aplicaciones que se ejecutan bajo el mismo cuenta de usuario.

Finalmente, puedes echar un vistazo a la versión del kernel / bibliotecas en ejecución y, finalmente, utilizar un exploit para obtener privilegios de root.

    
respondido por el André Borie 07.06.2016 - 20:13
fuente

Lea otras preguntas en las etiquetas