viernes, 26 de abril de 2013

HTTP-Screenshot.nse Looking for some Banner Pictures...

Imaginemos una auditoría en la que tenemos numerosos equipos, corriendo varias aplicaciones web´s. No solo los servidores de las empresas ejecutan dichos servicios. Puede ser que aplicaciones, periféricos etc funcionen mediante la world wide web xD.

Imaginamos el escenario de 1000 ordenadores, en el que tenemos que identificar ciertos servicios webs para profundizar sobre ellos, o simplemente queremos identificar rápidamente cuales de ellos merecen ser objeto de un ataque exhaustivo o por qué no decirlo, fácil. Tambien para la verificación de falsos positivos en la enumeración de las típicas herramientas ( ahorrarte hacer el netcat ).

La amable gente de Spiders labs publicó un script NSE, los que ejecutamos con la herramienta NMAP que genera una imagen, un PNG, con la web que nos muestra el servicio, es decir, un html to image. Para mi es mucho más cómodo buscar los servicios, las páginas de una manera gráfica que leyendo o parseando ficheros de logs.

Después de varias pruebas he usado el script mejorado de aquí, ya que hay problemas en el script original y la versión de un componente (wkhtmltoimage) entre arquitecturas i386/amd64 aunque he tenido que borrar alguna línea molesta de código que petaba el script ( guiño guiño).

Bajamos el toolkit wkhtmltopdf , descomprimos y copiamos el fichero.cp wkhtmltoimage-i386 /usr/local/bin/

Copiamos el script NSE en la carpeta correspondiente de NMAP.
cp http-screenshot.nse /usr/local/share/nmap/scripts/
nmap --script-updatedb

Ahora vamos a lanzar un port scan a un rango de ip´s hacia el puerto 80 ( solo para esta prueba) y que no haga ping.

nmap -Pn -p80 --script=http-screenshot x.x.x.x/xx

Por cada servicio web que encuentre, creará un fichero PNG con la imagen del HTML.
Crea los nombres de archivos con una estructura...
local filename = host.ip .. "_" .. port.number .. ".png"

Por ejemplo Google.es

Como siempre, gracias por leerme y espero que os haya gustado el post.