Divulgación de ruta sin capacidad para leer archivos

6

Así que soy un pentestro, y he descubierto la "característica" en un servidor que me permite, esencialmente, recorrer ciegamente los archivos de un servidor web (sin ejecutarlos ni leerlos). El problema es que no puedo encontrar una manera de demostrar esto como una vulnerabilidad. La pregunta general es: ¿qué archivos, por su naturaleza de saber su nombre, representan una vulnerabilidad (si existe)?

En mi situación específica, el sistema operativo es Windows y puedo realizar una solicitud como esta.

http://example.com?site=file://C:\Users\Administrator

El servidor devolverá una página que indica que no puede cargar este archivo, mientras que si hago una solicitud como esta:

http://example.com?site=file://C:\Users\namethatwouldneverexist , me dirá que no se puede encontrar el archivo.

Esencialmente, el servidor comprueba si el archivo existe antes de verificar si tengo permisos para leerlo.

Aquí hay algunas cosas que probé:

  • ../../../ (etc.) Esto solo resulta en un directorio válido, lo que significa que me dirá que está prohibido. No es útil.
  • %appdata% Esto produce un tipo de error diferente, a la aplicación no le gustan los signos de porcentaje en la ruta, por lo que no la amplía para mí.
  • C:\Windows\system32\ping.exe 8.8.8.8 Esto dará como resultado un error "no encontrado", ya que no pasa parámetros (o ejecuta el archivo).
  • file://x esto me expondrá el pwd, pero esto no es particularmente interesante en mi escenario.

Pude enumerar qué unidades de red están asignadas, pero esto no es particularmente útil. Básicamente, también puedo escanear puertos en el servidor desde la red local para exponer los puertos privados, pero por el momento estoy más interesado en el sistema de archivos.

Esencialmente, mi pregunta se reduce a: ¿la capacidad de identificar positivamente que un archivo existe en un servidor constituye una vulnerabilidad y, de ser así, cómo? Obviamente, si tienes una idea para convertir esto en RCE, ¡eso también está bien!

pregunta Gray 20.01.2016 - 17:01
fuente

2 respuestas

4

Lo que describe puede denominarse una vulnerabilidad de divulgación de información. Podría usar esta técnica como un método de toma de huellas dactilares (en busca de archivos específicos del sistema operativo, carpetas y archivos comunes del marco web, etc.) y podría ser útil para identificar una versión de algo en el sistema que sea susceptible de una vulnerabilidad separada. Como ha indicado que es un servidor web, podría ayudar a explorar las vulnerabilidades de las aplicaciones web, como la carga de archivos arbitrarios (si existe la funcionalidad) o de otro tipo.

    
respondido por el Jason Higgins 20.01.2016 - 17:51
fuente
1

Puedes agarrar archivos importantes como se sugiere. Por ejemplo, los archivos web.config u otros archivos de configuración de la aplicación pueden contener información confidencial, como contraseñas.

También puedes intentar agarrar los archivos SAM y SYSTEM; el único problema es que estos casi seguramente estarán bloqueados. En ese caso, podría tomar las copias de seguridad de la carpeta repair . Consulte esta respuesta . Luego puedes ejecutar un ataque de craqueo sin conexión contra ellos para obtener las credenciales de la cuenta de Windows.

    
respondido por el SilverlightFox 21.01.2016 - 09:20
fuente

Lea otras preguntas en las etiquetas