En este aparatado hemos realizado un análisis de vulnerabilidades similar al descrito en el apartado 7.2. La diferencia es que, en este caso, aunque el concepto y el objetivo del análisis es el mismo, hemos utilizado una herramienta desarrollada específicamente para el análisis de aplicaciones web.
El funcionamiento y los modos de trabajo de esta herramienta lo hemos explicado en el apartado brevemente en el apartado 7.3.1 para después aplicar estos conceptos en una prueba real de análisis de vulnerabilidades sobre el servidor web apache que hemos instalado.
7.3.1
VEGA: Definición y modos de trabajo
Vega es un software de código abierto compatible con diferentes sistemas operativos (Windows, Linux, MacOs…) utilizada en el análisis de vulnerabilidades web. Dispone de un entorno visual muy intuitivo además de una gran flexibilidad a la hora de lanzar escaneos.
Según la información detallada en el sitio web del fabricante [12], existen dos modos de trabajo a la hora de utilizar este software, el modo proxy, que consiste en interceptar las comunicaciones entrantes y salientes de un servidor web y el modo escaneo, el cual utilizaremos para obtener información acerca de las vulnerabilidades de nuestro servidor web Apache.
MODO ESCANEO
Hemos basado nuestro estudio de seguridad en el modo escaneo. En este modo, el programa descarga y rastrea la página web que deseemos, con el objetivo de encontrar posibles puntos de fallo.
Para encontrar estos puntos de fallo utiliza módulos ampliamente conocidos como por ejemplo Cross Site Scripting(XSS), SQL Injection, Directorio transversal, URL Injection, Detección de errores, etc.
Dentro de este modo, existen diferentes parámetros configurables explicados en [12]: • Número total de paths descendentes.
• Número total de paths hijos de un nodo concreto: Limita el número máximo de hijos escaneados en un nodo determinado.
• Número máximo de subpaths escaneados: Limita el número de paths escaneados en la jerarquía de la página.
• Número máximo de escaneos a paths repetidos.
• Longitud máxima de los resultados generados: El usuario puede configurar el nivel de detalle en los resultados obtenidos.
• Número máximo de escaneos por segundo.
7.3.2
Análisis de un servidor web
Para este caso práctico hemos utilizado la versión instalada por defecto en la VM Kali Linux. En esta prueba tenemos dos escenarios posibles, uno sin ningún tipo de configuración de seguridad, y otro después de aplicar una serie de contramedidas de seguridad.
Capítulo 7: Casos prácticos: Técnicas de Fingerprint
61
Figura 7.22 Escenario de análisis de vulnerabilidades web sin seguridad.
Figura 7.23 Escenario de análisis de vulnerabilidades web con seguridad.
Para lanzar un escaneo por defecto simplemente debemos pinchar en el icono de “New Scan”.
Capítulo 7: Casos prácticos: Técnicas de Fingerprint
62
Figura 7.24 Inicio de escaneo con Vega
Posteriormente fijaremos el “target” del escaneo.
Figura 7.25 Fijación de target en Vega
El resto de opciones las dejamos por defecto y finalmente hacemos clic en “Finish”. Una vez que lanzamos el escaneo, automáticamente comenzará el escaneo. Una vez finalice el proceso de escaneo, obtendremos un report con los resultados de la prueba. En la pantalla principal de la aplicación podemos ver un resumen de las vulnerabilidades obtenidas. En la ventana llamada “Scan Alerts” podemos encontrar un análisis detallado de las vulnerabilidades.
Capítulo 7: Casos prácticos: Técnicas de Fingerprint
63
Figura 7.26 Resumen de resultados Vega.
Resultado sin seguridad
En este apartado vamos a analizar los datos resultantes del escaneo por defecto lanzado contra el servidor Apache. Para ello iremos a la ventana auxiliar “Scan Alerts” y podemos comprobar como la herramienta ha descubierto una vulnerabilidad de riesgo Medium y otra simplemente informativa.
Figura 7.27 Resultados sin seguridad Vega.
Para obtener información más detallada bastará con hacer clic en las vulnerabilidades detectadas.
1) Vulnerabilidad de riesgo medio
Vemos que la primera vulnerabilidad la ha calificado como “Client Ciphersuite Preference”. Esta vulnerabilidad nos indica que los algoritmos de cifrado utilizados, son antiguos lo que quiere decir que serán más vulnerables y más fáciles de desencriptar. Esto ocurre ya que, por defecto, los navegadores web escogen en la fase de negociación, el algoritmo más sencillo.
2) Vulnerabilidad informativa
En este caso la vulnerabilidad es meramente informativa. Nos indica que el certificado recibido desde el servidor se trata de un certificado auto firmado.
Capítulo 7: Casos prácticos: Técnicas de Fingerprint
64 Contramedidas
Como hemos comentado en el apartado de entorno de trabajo, la vulnerabilidad informativa arrojada por VEGA no es fácilmente corregible ya que la única opción sería adquirir un certificado auto firmado cuyo coste económico queda totalmente fuera del alcance de este proyecto. Por lo tanto, la única vulnerabilidad corregible es la de prioridad media. Para ello debemos configurar el sitio web SSL para que utilice o de prioridad a los algoritmos de encriptación más modernos.
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM: DH+AESGCM: ECDH+AES256: DH+AES256: ECDH+AES128: DH+AES: RSA+AESGCM: RSA+AES: aNULL:MD5: DSS
Tabla 7.2 Contramedidas Vega.
PARÁMETRO USO
SSLHonorCipherOrder Fuerza el orden de preferencia de cifrados del servidor. Solo para protocolos SSL v3 t TLS v1.
SSLCipherSuite Indica los algoritmos de cifrado permitidos.