Ejecute comandos cmd con el ataque transversal del directorio http

1

Resumen de preguntas:

Estoy intentando crear un escenario de laboratorio en el que el "atacante" está destinado a realizar un ataque transversal de directorio desde una página HTML y pasar a los directorios del sistema de Windows. ¿Puedo inyectar comandos en CMD en la víctima usando el navegador web? ¿Se puede hacer esto?

Detalles :

  1. El objetivo es ejecutar el indicador de comando del sistema en la víctima e inyectar comandos usando los interruptores.
    • Ejemplo: cmd / c ping www.google.com ( esta publicación tiene incidencia pero parece que no consigo que funcione)
    • No estoy seguro de que esto sea posible utilizando el conjunto de caracteres disponible en una cadena de URL.
  2. Mi cadena transversal actual aparece como tal:

    • http://192.168.1.119/%5c../%5c../%5c../%5c../%5c/Windows/%5c/System32/%5c/cmd.exe
    • Si sustituyo en http://127.0.0.1/ arriba y luego lo ejecuto desde el sistema host / victim, aparece un mensaje para ejecutar cmd en el navegador.
    • Actualmente, la página html se está ejecutando desde una carpeta dentro de "Mis documentos", aunque lo más probable es que se modifique.
  3. El sistema de destino es Windows 7, 8 o Server 2012. (Actualmente utilizo 8 para las pruebas)

  4. La página web vulnerable está siendo administrada por servidor web simple 1.2
    • Esta aplicación está diseñada para ser explotada por un ataque transversal.
  5. Aquí hay un video de youtube que muestra un ejemplo del ataque realizado contra una máquina con Windows XP que ejecuta el software vulnerable arriba. para acceder al archivo boot.ini.

He pasado bastante tiempo buscando en Google para ver si se puede hacer, pero no puedo encontrar información específica sobre la sintaxis para inyectar comandos en cmd. Parece que si tuviera que alojar mi sitio en un sistema Linux, entonces el atacante podría usar los comandos de bash para realizar el ataque, pero no estoy seguro acerca de Windows.

Soy bastante nuevo en todo esto! He hecho IT / Sys Admin por un tiempo, pero no pruebas de penetración. Me gustaría mantener esto lo más simple posible, ¡pero también estoy aprendiendo! ¡La ayuda es muy apreciada!

    
pregunta Shrout1 05.06.2015 - 17:14
fuente

2 respuestas

1

La respuesta es "no", no se puede hacer, al menos no con un ataque transversal de directorio por sí mismo. Hay varios problemas aquí.

1) Para empezar, el servidor web debe bloquear los ataques transversales de directorios. Por supuesto, desde que configuró un entorno de laboratorio, tiene el control y es posible que haya vencido la protección contra él.

2) Los ataques transversales de directorio como ese ejecutarán un HTTP GET. Lo que significa que solo recuperará datos, no ejecutará algo en el objetivo. Para ejecutar algo en el destino, necesitaría vulnerabilidades adicionales que le permitan ejecutar, por ejemplo, un ejecutable arbitrario como un script CGI.

3) Su prueba con 127.0.0.1 no es válida. En realidad, descargó cmd.exe y luego lo ejecutó en la máquina local, ya que la descarga provino de 127.0.0.1, no se pudo distinguir entre estos dos escenarios. Además, 127.0.0.1 es probablemente confiable; probablemente no podrá descargar cmd.exe desde cualquier otra computadora.

    
respondido por el Kevin Keane 10.06.2015 - 19:41
fuente
1

En MS00-078 fue posible recorrer la ruta y ejecutar un comando arbitrario simplemente emitiendo una solicitud GET con formato incorrecto tal

https://wahh-app.com/scripts/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\

El backend del servidor web analizó los parámetros después de ? como argumentos de la línea de comando.

    
respondido por el Petr Javorik 08.10.2018 - 08:35
fuente

Lea otras preguntas en las etiquetas