lunes, 24 de noviembre de 2014

HTTP fingerprint- HTTP anti- fingerprinting.

Una de las tareas mas importantes para un administrador de sistemas, relacionado o comprometido con la seguridad, es la de implementar medidas anti-fingerprinting en sus servidores.


Ocultar la versión concreta de un servicio, o incluso ocultar el nombre del propio servicio es algo básico para dificultar a los atacantes maliciosos la obtención de información, que sin duda, usarán para intentar comprometer el sistema buscando un exploit publicado.

En esta ocasión vamos a comentar algunas cositas sobre el reconocimiento o fingerprinting de un web server.

Una de las acciones básicas es cambiar el banner del servidor mediante Mod Security,

SecServerSignature "Nginx"

Podemos cambiar otro tag en Httaccess tan sencillo como esto:

Header unset X-Powered-By

Vamos a ver que opinan las herramientas.
Wappalyzer
Openvas.
Nikto 

Ahora voy a bajar una herramienta clásica en la obtención de información, Httprint de Net-square. Ejecutamos el reconocimiento...


Ups, parece que no se traga el banner de Nginx, y detecta a la perfección la versión de Apache.

Voy a probar con una herramienta on-line para los mismos menesteres, HTTPRECON.


Recordar que podemos bajar un cliente Windows de Httprecon desde aquí.

Al parecer las herramientas generalistas que usamos para el pentesting no reconocen bien la versión del webserver, por lo que tenemos que acudir a herramientas específicas de reconocimiento HTTP.

Una de las medidas extras que vamos a realizar es borrar los Etags de Apache.

Header unset ETag
FileETag None


Ahora parece que tenemos algo más de información anti-fingerprint.


Espero que os sirvan estas medidas de seguridad básicas para vuestros servidores web, y las herramientas mencionadas para fingerprint vuestros ( o ajenos) servidores.

Gracias por leerme.