Obtener Información de la Huella de un Sistema GNU/Linux

  • Posted on: 26 May 2016
  • By: ReYDeS

Más allá de las técnicas ordinarias para la captura del banner en sistemas GNU/Linux, los atacantes maliciosos pueden utilizar la manera en la cual el sistema o sus aplicaciones se comunican por defecto, como un medio para identificar el respectivo sistema operativo, sin considerar los baners configurados.

Estas características, o huellas, pueden consistir de mensajes de error, puertos abiertos, valores TTL (Time To Live), propiedades de la pila TCP/IP, o cualquier otro detalle el cual pueda ser detectado a través del tráfico de la red o análisis de datos. Algunas de las herramientas utilizadas para obtener información sobre la huella del sistema operativo son nmap, p0f y ettercap.

Para la siguiente demostración se utilizará Kali Linux 2.0 y una máquina virtual basada en GNU/Linux De-Ice 1.100.

Para la primera demostración se utiliza la herramienta nmap con su opción “-O”.

Una de las funcionalidades mejor conocida de Nmap es la detección remota del sistema operativo utilizando la huella de la pila TCP/IP. Nmap envía una serie de paquetes TCP y UDP hacia el host remoto y examina prácticamente cada bit en las respuestas. Después de realizar una docena de pruebas como muestreo ISN TCP, soporte u ordenamiento de opciones TCP, muestreo ID IP, y verificación del tamaño inicial de ventana, Nmap compara los resultados con su base de datos “nmap-os-db” de mas de 2,600 huellas conocidas de sistemas operativos, e imprime los detalles del sistema operativo si encuentra una coincidencia. Cada huella incluye una descripción textual de forma libre del sistema operativo, y una clasificación la cual proporciona el nombre del proveedor, sistema operativo subyacente, generación del sistema operativo y tipo de dispositivo.

# nmap -n -Pn -p- -sV -O 192.168. 0.X

Los resultados exponen un Sistema Operativo Linux 2.6.X. Y entre los detalles del sistema operativo se incluye un rango desde 2.6.13 hasta 2.6.32. Lo cual es correcto, si verificamos esto cuando se obtenga acceso local hacia el sistema objetivo, por ejemplo.

A la técnica utilizada por Nmap u otra herramienta la cual envía paquetes hacia el objetivo de evaluación para luego analizar las respuestas, se le denomina un reconocimiento activo de la huella del sistema operativo.

P0f es una herramienta la cual realiza un reconocimiento pasivo de la huella del sistema operativo.

Para la segunda demostración se utiliza P0f. P0f utiliza un arreglo de mecanismos puramente pasivos sobre la huella para identificar a los jugadores detrás de cualquier comunicación TCP/IP incidental (frecuentemente algo tan pequeño como un SYN normal) sin interferir de ninguna manera. P0f puede operar en segundo plano como un demonio, y ofrece un API sencillo en tiempo real para componentes de terceros quienes deseen obtener información adicional sobre los actores en comunicación.

Se ejecuta p0f. La opción “-p” coloca en modo promiscuo a la interfaz de red.

# p0f -i eth0 -p

Para propósito de la demostración se visita el sitio web del objetivo utilizando un navegador web.

La información obtenida por p0f indica un sistema operativo Linux con Kernel 2.6.X. Lo cual corrobora la información obtenida utilizando la herramienta Nmap.

Otra herramienta la cual realiza un reconocimiento pasivo de la huella del sistema operativo es Ettercap. La principal idea en esto es analizar la información pasiva proviniendo desde el host cuando este hace o recibe peticiones con otros hosts. Esta información es suficiente para detectar el sistema operativo y los servicios en funcionamiento del host. En este escenario se mira en paquetes SYN y SYN+ACK, además de recolectar alguna información interesante, como tamaño de ventana, MSS, TTL, escala de ventana, SACK, NOP, DF, marcas de tiempo y paquetes SYN o SYN+ACK.

Definir la iniciación de un “Unified Sniffing” o “Bridged Sniffing”, para luego iniciar el Sniffing. Con un navegador web se visita el sitio web del objetivo en evaluación.

Visualizar la información obtenida en “Profiles” o Perfiles, para luego hacer doble clic en la dirección IP correspondiente al host objetivo.

La información expuesta por Ettercap indica el sistema operativo más cercano es un Linux con un Kernel desde 2.6.9 hasta 2.6.11.

En este caso la información obtenida por Ettercap no es correcta, pues es objetivo de evaluación es un Linux con Kernel 2.6.16.

Existen herramientas como IPTables incluidos por defecto en la mayoría de distribuciones Linux, las cuales pueden mezclar la huella de un sistema operativo GNU/Linux, y de esta manera pelear contra las técnicas tratando de identificar esta información.

Fuentes:

https://www.kali.org/
https://www.vulnhub.com/entry/de-ice-s1100,8/
https://nmap.org/book/man-os-detection.html
http://lcamtuf.coredump.cx/p0f3/
https://github.com/Ettercap/ettercap

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Webinar Informática Forense