httprint

8

Click here to load reader

description

Hola Muchach@s, bueno ahora les comparto un pequeño documento donde hablamos del fingerprintg a nivel web, hacemos una introduccion algunos metodos mas usuados para esta tecnica y como siempre ;) hacemos un lab (lo bueno este lab es que vamos a analizar el funcionamiento por debajo de la herremienta con wireshark para ver que peticiones y que solicitudes le envia al web server) bueno sin mas aqui se los dejo

Transcript of httprint

Page 1: httprint

[+]-----------------------------------------[+][+]--------fingerprinting a nivel web-------[+][+]-------------Progresive Death------------[+][+]-----------------------------------------[+]

WTF!? Que es fingerprinting?

Es un método utilizado para poder obtener resultados (información) de cierto Host, la traducción seria Huella dactilar a nivel web, pues como todos sabemos cada uno de nosotros nos identificamos diferente (no tenemos la misma huella dactilar) esto mismo pasa en los sistemas informáticos cada sistema tiene su diferente forma de identificarse en ciertas peticiones (apache se identifica de una manera, sus diferentes versiones también lo hacen, cherokee también se identifica diferente.)

Como funciona?

Hay diferentes formas de poder realizar este método, vamos a enumerar algunas de estas formas.

[1] error404 (muchas veces los webmaster dejan por default el recurso error404.php y este archivos nos proporciona cierta información que nos sirve (Versión del server web, versión del php, Sistema operativo)

[2] TTL (Tiempo de Vida o Time To Live este método ya es algo de fingerprinting pasivo por que nos basamos de una respuesta ping para ver el TTL y poder determinar que S.O tiene el server web, no es muy seguro que digamos pero muchas veces se presentan casos que si se aplica)

[3] port/servicies (con un escaneo hacia el puerto 80 podemos determinar que versión de Apache o cherokee o otro servicio , posee el host ya que esta forma ya es algo de fingerprinting activo por que nos conectamos al host por el puerto 80 y esperamos una respuesta del servicio y dependiendo de esa respuesta podremos sacar mucha información)

[4] headers (con los encabezados el server web muchas veces cuando dejan por default el headers.php allí también nos mostrara una información que nos puede sirve)

[5] Firmas digitales (la firmas digitales son utilizadas para cuando se hace una petición a cierto recurso de la web y esta web esta por SSL allí esta firma digital para el para mantener la integrad de los datos osea para que el cliente cuando reciba el recurso vea que si es del host al cual a enviado la solicitud, aquí cada server tiene una configuración de firmas digitales publicas diferentes así que partiendo de estas firmas digitales podremos saber que tipo de aplicativo web se esta ejecutando allí)

Page 2: httprint

Los que nombramos anteriormente son lo que mas me acuerdo ahorita realmente asi que si me falta alguno metodo me disculpan :P.

Que Herramientas hay en la red para realizar fingerprinting a nivel web?

Voy a nombrar las que mas uso:

[1]Nectat o alguna herramienta o script que sirva para establecer solo la conexión por sockets

[2]live HTTP header: estas es un plugin de firefox realmente muy groso, prácticamente se podría decir que es un sniffer que headers de HTTP

[3]ping: Para mirar el TTL de respuesta entre el server web y mi host

[4]nmap: Escaner de puertos

[5]http://127.0.0.1/ */ : de esta forma hago que me redirección al recurso error404.php

[6]auxiliarys del metasploit-scanner/http/http_version -scanner/http/ssl

[7]httprint: Excelente herramienta, si la combinamos con deshabitar para poder ver su funcionamiento realmente es muy potente

Pero no son muchas herramientas?

Claro que son muchas :P pero por que son para rectificar información y poder dar con le información de real.

IMPORTANTE:Creo y estoy seguro que esto es lo mas esencial de todo saber como funciona el protocolo HTTP así uno tenga las herramientas de fingerprinting para nivel web y no sabemos como funcionan o por que nos dan los resultados es lo mismo que nada así que es preferible uno tener buenos conocimientos del protocolo HTTP y a netcat y con eso basta.

Page 3: httprint

Laboratorio con Progresive Death

Bueno este laboratorio va ser algo teorio practico, vamos a tener encuenta de lo que hablamos mas arriba.

Herremientas:

-Httprint-wireshark

Yo trabajare el httprint GUI es algo mas flexible para hacer manuales :P ya que me tocaria explicar argumento por argumento, y en cambio con la GUI lo podremos ver por secciones, estas herramientas ya las trae el bt4 instaladas asi que para no dar tanta vuelva las trabajare de alli (ahora veran mi bt4 que esta algo raro :P le instale fluxbox y toda las ejecuciones me toca por consola)

Escenario:

– opcion 1 localhost (apache2)– opcion 2 server web (indefinido)

yo lo hare con la opcion 2 solamente que no mostrare algunos datos para no dañar la integridad del server web.

Page 4: httprint

Asi como vemos es la interface grafica del httprint la dividi en 8 partes que son:

[1] con parametros definos por default que contiene lo siguiente.

[2] este archivo se ingresan todas las firmas digitales para compara con las del server web.

[3] en esta parte ingresamos varios valores (Host, puerto, SSL, nos muestran el banner reportado, el banner reportido y el porcentaje del host reportado.

Page 5: httprint

[4] aquí nos va a mostrar la firma digital que mas se acerque al valor de la firma del server web.

[5] nos muestra el log de las firmas digitales y peticiones que a estado enviando

[6] nos muestra el log del fingerprinting de SSL.

[7] esta parte nos muestra el log en total del resultado

[8] la ejecucion y las opciones del programa

bueno ahora solo definimos el host y el puerto (“HTTPS”si tiene SSL habilitado pues solo dan click en el espacio en blanco) y lo ejecutamos, pero para no ser tan monotomos en esto abrimos el wireshark para ver que es lo que pasa por debajo del entorno GUI.)yo solo voy a relatar lo que el wireshark

[1]

[*]Envia peticion nslookup para resolver la ip (ya que colocamos el DNS asi que nos resolvera la ip)[*]El server respondio bien a la solicitud-------------------------------------------------------------------------[*]Envia solicitudes ping al host para verificar conectividad[*]El server responde las solicitudes

[2]

[+]este segundo pedazon que vi me parecio bueno en encuanto a los que van mas halla de las “cosas”, apunta de peticiones http (GET, PUT, ETC) podramos obtener cierta informacion muy buena del servidor. Imagenes :D.

Page 6: httprint

Como vemos envia una peticion Get al host:XXXXXXXXX y el host le responde con informacion de el, el GET lo indicamos al recurso “/” asi que nos tiene que mostrar el codigo fuente del recurso

Como vemos aquí el httprint envia una peticion option al server (como sabemos esta peticion es como un help que nos despliega las opciones que tenemos habilitadas para interactuar con el servidor.

Page 7: httprint

Como vemos aquí ya empezo el httprint a enviar peticiones a directorios pero como no tenemos los permisos sufientes para poder acceder a ese recurso nos devuelve un 403 forbidden. Si pueden ver en las peticiones nos da cierta informacion que con el fingerprinting buscamos.

[Resultado]

Bueno el resultado es lo esperado nos mostro varia informacion del server, como podemos ver en la parte selecionada, abajo de esa parte es la firma digital que al principio hablamamos :D, tambien podemos ver los

Page 8: httprint

logs de las firmas que se compararon. Ahora vamos a ver el reporte

Excelente resultado....

Host:XXXXXXXXXXXXXXX.compuerto: 80 (HTTP)Banner repoted: Apache 2,2,3Sistema operativo:CentOSMetodos HTTP habilitados: GET, HEAD, POST, OPTIONS, TRACE

Concluciones:

como tal yo tengo 2 concluciones

1 Cuando tratamos de mirar mas halla del simple hecho de obtener un resultado con una herramienta y mirar por que te da ese resultado te das cuenta que puedes obtener mas informacion mirando que es lo que pasa realmente por debajo de la herramienta.

2 este metodo que hicimos en el lab se puede darle nombre como un fingerprinting pasivo / Activo por que el httprint lo que hace es establecer conexión con el server pero aun asi como son peticiones que las hace cualquies navegador de http no hara tanto ruido

Greetz

ch-umis, Shell Root, sp1b0t, Symphony, messerschmitt

<Progresive Death></charsecurity[dot]blogspot[dot]com>