digital_fingerpint1La parte de fingerprint es la primera fase de un proceso de pentesting, es por eso que es bueno contar con un arsenal de herramientas para obtener información sobre el target que auditaremos.

Aquí en DragonJAR se han presentado varias herramientas para realizar un proceso de fingerprinting, hoy os traigo otra que me ha parecido bastante útil.

La herramienta está desarrollada en Ruby y nos puede servir para obtener un primer vistazo del target que queremos auditar. Ponemos un caso en el que estamos lanzando un crawler para distintas URL’s y algunas de estas URL el path del dominio es www otros sin www por lo que algunos crawler fallan porque el servidor le arroja un 301 y no siguen las redirecciones. Si ya tenemos ese resultado extraído es mas fácil enfocar los escaneos posteriores. Esta y otras funcionalidades

 

 

 

[email protected]:~/Downloads/http_traceroute$ ruby http_traceroute.rb http://dragonjar.org
http_traceroute 1.0 Robin Wood ([email protected]) (http://digi.ninja)

************************************************************
Starting at: http://dragonjar.org
************************************************************
Requesting: http://dragonjar.org
Response code: 301

=======
Headers
=======
date: Mon, 03 Nov 2014 14:58:26 GMT
content-type: text/html; charset=UTF-8
transfer-encoding: chunked
connection: close
set-cookie: __cfduid=d2a960f9f0279784f8e5ec548504161311415026706383; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.dragonjar.org; HttpOnly
x-powered-by: PHP/5.2.17
x-cf-powered-by: WP 1.3.14
x-pingback: http://www.dragonjar.org/xmlrpc.php
location: http://www.dragonjar.org/
vary: Accept-Encoding,User-Agent
server: cloudflare-nginx
cf-ray: 18396e12e73a0bff-AMS

=======
Cookies
=======
__cfduid ; d2a960f9f0279784f8e5ec548504161311415026706383 ; .dragonjar.org ; / ;  ; httpOnly ; 2019-12-24 00:50:00 +0100

===========
Redirecting
===========
Location: http://www.dragonjar.org/
Redirecting to: http://www.dragonjar.org/

************************************************************
Requesting: http://www.dragonjar.org/
Sending cookies: __cfduid=d2a960f9f0279784f8e5ec548504161311415026706383
Response code: 200

=======
Headers
=======
date: Mon, 03 Nov 2014 14:58:28 GMT
content-type: text/html; charset=UTF-8
transfer-encoding: chunked
connection: close
x-powered-by: PHP/5.2.17
x-cf-powered-by: WP 1.3.14
x-pingback: http://www.dragonjar.org/xmlrpc.php
vary: Accept-Encoding,User-Agent
server: cloudflare-nginx
cf-ray: 18396e16b4780bff-AMS

=======
Cookies
=======

===============
End of the line
===============

Podemos ver cosas interesantes como que vemos si la página tiene una redirección:

===========
Redirecting
===========
Location: http://www.dragonjar.org/
Redirecting to: http://www.dragonjar.org

Tenemos toda la parte de headers del servidor, con eso podemos saber si se trata de un Apache ISS etc..
Otra de la información que puede ser de utilidad para la gente de sistemas es por ejemplo cuando haces implementaciones de incorporar HTTPOnly

 

=======
Headers
=======
pragma: no-cache
x-frame-options: DENY
cache-control: private, no-cache, no-store, must-revalidate
expires: Sat, 01 Jan 2000 00:00:00 GMT
x-xss-protection: 0
x-content-type-options: nosniff
p3p: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
set-cookie: datr=4ZhXVO5DaHn37mMZ2vMLkTjt; expires=Wed, 02-Nov-2016 15:01:53 GMT; Max-Age=63072000; path=/; domain=.facebook.com; httponly
set-cookie: reg_ext_ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.facebook.com
set-cookie: reg_fb_ref=https%3A%2F%2Fwww.facebook.com%2F; path=/; domain=.facebook.com
set-cookie: reg_fb_gate=https%3A%2F%2Fwww.facebook.com%2F; path=/; domain=.facebook.com
content-type: text/html; charset=utf-8
x-fb-debug: UgolsD+XVFe4c1lBIEm3QxznoMDth6sg5e6Gub7QqS81V2eDFLZNl/mSAmUv1wgl3hNMwyJFXNTtjavz4mNqhQ==
date: Mon, 03 Nov 2014 15:01:53 GMT
connection: close

Podemos ver como Facebook establece que no usa P3P y tiene marcado aspectos como HttpOnly

Otro de los aspectos que se pueden comprobar si la web tiene autenticación,

=======
Headers
=======
date: Mon, 03 Nov 2014 15:09:51 GMT
www-authenticate: Negotiate
content-type: text/html;charset=ISO-8859-1
content-length: 164
vary: Accept-Encoding
connection: close

Todos estos aspectos son interesantes en procesos de auditoría.

Si se accede a un sitio HTTPS el certificado se comprueba y se da un aviso si no es válido. Una advertencia también se dará si la página haciendo la redirección es más de un determinado tamaño, por defecto está ajustado a 500 bytes, pero se puede ajustar si es necesario. Esto es útil para encontrar donde se sirven accidentalmente cuerpos junto con las cabeceras de redirección.

Por defecto, el script sólo funcionará durante un máximo de 10 redirecciones y entonces darse por vencido, este está diseñado para evitar problemas con los bucles de redireccionamiento.

Otra de las utilidades es obtener el destino de los acortadores URL

<pre>[email protected]:~/Downloads/http_traceroute$ ruby http_traceroute.rb http://goo.gl/8m0Qtq -c dump.json
http_traceroute 1.0 Robin Wood ([email protected]) (http://digi.ninja)

************************************************************
Starting at: http://goo.gl/8m0Qtq
************************************************************
Requesting: http://goo.gl/8m0Qtq
Response code: 301

=======
Headers
=======
content-type: text/html; charset=UTF-8
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: Fri, 01 Jan 1990 00:00:00 GMT
date: Mon, 03 Nov 2014 15:16:16 GMT
location: https://www.dragonjar.org/
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
server: GSE
alternate-protocol: 80:quic,p=0.002
connection: close

=======
Cookies
=======

===========
Redirecting
===========
Location: https://www.dragonjar.org/
Redirecting to: https://www.dragonjar.org/

************************************************************
Requesting: https://www.dragonjar.org/
Response code: 200

=======
Headers
=======
server: cloudflare-nginx
date: Mon, 03 Nov 2014 15:16:20 GMT
content-type: text/html; charset=UTF-8
transfer-encoding: chunked
connection: close
set-cookie: __cfduid=d28e98f75d79685637b130e54c7120d171415027779031; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.dragonjar.org; HttpOnly
x-powered-by: PHP/5.2.17
x-cf-powered-by: WP 1.3.14
x-pingback: http://www.dragonjar.org/xmlrpc.php
vary: Accept-Encoding,User-Agent
cf-ray: 18398842f2280761-AMS

=======
Cookies
=======
__cfduid ; d28e98f75d79685637b130e54c7120d171415027779031 ; .dragonjar.org ; / ;  ; httpOnly ; 2019-12-24 00:50:00 +0100

===============
End of the line
===============

==========================
Cookies saved to dump.json
==========================

Sin duda una herramienta para incluir con otros procesos para la parte de pentesting

[+]http://digi.ninja/projects/http_traceroute.php