Posteado por: Jose David Baena | julio 17, 2008

Fingerprinting

La detección de un SO de forma remota se está haciendo popular entre las personas dedicadas a la seguridad informática. Es normal que sea así, ya que cuando se quiere encontrar la forma de penetrar en un sistema, primero el atacante tendrá que saber a qué se está enfrentando. Cuando me refiero a atacante, también me estoy refiriendo al administrador de dicho sistema que quiere comprobar como de seguro es el equipo a su cargo y determinar que es lo que quiere mostrar de cara al exterior.

https://i0.wp.com/www.leadermagazine.co.uk/images/uploads/615.jpg

Dicha detección de sistema operativo es llevada a cabo por muchas herramientas y la técnica más usada para obtener dicha información se llama fingerprinting.

Las técnicas de fingerprinting se basan en analizar una serie de patrones que se obtienen de diversas formas de la máquina remota de la cual quieren obtener información. Dichos patrones son contrastados con una “colección” de ejemplos en los que se sabe que para determinadas respuestas, es el sistema operativo X el que está actuando en dicha máquina. Por lo tanto, con un “corpus” de ejemplos elevado, podemos saber que tipo sistema operativo está realizando una determinada maquina con solo hacer unas peticiones concretas. Algunas veces hará falta manipular las peticiones; es decir crear nuestros propios paquetes, para que den unas respuestas las máquinas un poco distintas de lo habitual.

Algunas de las herramientas que realizan dichas técnicas son Nmap y p0f.

A partir de este post y de los siguientes hablaremos de cómo usar p0f y en qué es lo que se basa dicha herramienta.

En primer lugar demos una idea aproximada de lo que es el fingerprinting y sus principales clasificaciones…

2. Idea del fingerprinting

La técnica del fingerprinting de sistema operativo consiste en la suposición de un determinado SO a través del análisis del comportamiento observado cuando se realizan determinadas peticiones a una máquina o análisis de tráfico de un sistema determinado. Dicho análisis se realiza mediante el aprendizaje de distintos patrones observados a lo largo del tiempo y de reportes de usuarios que contribuyen a mejorar la herramienta de análisis, perfeccionándola poco a poco.

Con los datos recogidos de la máquina remota; bien sea por escucha de tráfico o por respuestas a peticiones que nosotros hemos fabricado; se identificará de forma unívoca el sistema operativo que se está utilizando (si está catalogado dicho caso en nuestra base de datos). Junto con la información del sistema operativo, puede venir información como versión del núcleo, parches que se tienen instalados…

Cada SO tiene su propia pila de protocolos TCP/IP, de hecho no existe una implementación común (creo que debería ser así; y que cada sistema operativo tuviera un adaptador para su implementación concreta).

Decir también, que no todo el fingerprinting se tiene que hacer sobre TCP/IP; se puede realizar también sobre otros protocolos en los cuales, también se puede determinar que tipo de sistema operativo esta atendiendo nuestras “llamadas”, como puede ser el protocolo ICMP.

Existen dos tipos de realizar fingerprinting:

· Técnicas activas

· Técnicas pasivas

A continuación podemos ver una manera más detallada de cómo se clasifican este tipo de técnicas:

https://i2.wp.com/www.sans.org/resources/idfaq/amap1.gif

Utilizando la herramienta Nmap (técnica activa) podemos obtener información acerca de un servidor de Internet como la siguiente:

:~# nmap -O servidor.es

Starting Nmap 4.20 ( http://insecure.org ) at 2008-05-30 18:24 CEST

Insufficient responses for TCP sequencing (2), OS detection may be less accurate

Insufficient responses for TCP sequencing (3), OS detection may be less accurate

Interesting ports on servidor.es (150.214.140.135):

Not shown: 1687 filtered ports

PORT STATE SERVICE

21/tcp open ftp

22/tcp open ssh

25/tcp open smtp

80/tcp open http

110/tcp open pop3

113/tcp closed auth

143/tcp open imap

443/tcp open https

5190/tcp open aol

8081/tcp open blackice-icecap

Device type: general purpose

Running: Microsoft Windows NT/2K/XP

OS details: Microsoft Windows XP Pro SP2

Uptime: 7.312 days (since Fri May 23 10:55:48 2008)

OS detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .

Nmap finished: 1 IP address (1 host up) scanned in 27.133 seconds

En los siguientes posts se describirá brevemente en qué se basan estos dos tipos de técnicas, cuya información nos puede ser útil para la mejor comprensión de la futura explicación de la herramienta.
En posts más avanzados, se hablará sobre P0f y su forma de determinar el so de una máquina remota…

Posts relacionados:

  1. Fingerprinting

  2. Fingerprinting activo y pasivo

  3. La herramienta de fingerprinting P0F

  4. Usando P0f (I)- Un ordenador en una LAN cualquiera

  5. Usando P0f (II)- Trabajando con un archivo de capturas.

  6. Usando P0f (III) – P0f para OS Guessing remoto.

  7. Usando P0f (IV) – P0f para OS Guessing de máquinas que rechazan nuestras conexiones.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: