Nothing Special   »   [go: up one dir, main page]

Scanning

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 43

Configuración Servicios de Seguridad

Tema 3: Scanning o Exploración

1
Configuración Servicios de Seguridad

Índice Tema 3: Scanning


• Exploración
– Descubrimiento de host
– Escaneo de puertos
– Fingerprinting

2
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• Su objetivo es descubrir las máquinas que hay en una red (PCs, impresoras, routers,
firewalls, dispositivos de almacenamiento, etc.).
• La exploración es el siguiente paso al rastreo o footprinting.
• Desde el punto de vista del test de intrusión mejor si es silencioso.
• También se conoce como escaneo ping o descubrimiento de sistemas.

• La herramienta por excelencia para realizar las exploraciones en una red es Nmap , que
permite realizar descubrimiento de hosts, escaneo de puertos y fingerprinting.
• Nmap puede incluso averiguar las aplicaciones concretas (nombre y número de versión)
que se están ejecutando en un puerto haciendo uso de la característica NSE (Nmap
Scripting Engine).
• Dispone de una versión GUI llamada Zenmap.

3
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• En las distribuciones basadas en Debian Nmap no viene instalado por defecto. Para
instalarla simplemente:
– root@security# apt-get install nmap
• Cuando se ejecuta apuntando simplemente a una IP o nombre realiza las siguientes tareas
por defecto:
– Escaneo de puertos (port scanning).
– Descubrimiento de hosts.
• Si se ejecuta el comando, nmap 192.168.1.*:
– Realizará host discovery sobre cada máquina y determinará si está “viva” o no.
– Sobre cada host "vivo" encontrado, realizará port scanning.
• En muchas ocasiones, interesa ejecutar sólo host discovery en las primeras etapas de la
exploración.

4
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• Para poder aprovechar toda la funcionalidad de nmap, es necesario ejecutarlo con
privilegios de administrador, dado que proporciona:
– Capacidad para "fabricar" raw packets (sin decodificar en Hex.)
– Si se ejecuta sin privilegios, nmap delegará en llamadas al SO. Algunas
funcionalidades no estarán soportadas.
• Se comporta de forma distinta si detecta que el escaneo se está efectuando en una red
local o se está efectuando sobre una red remota.
– root@security# nmap -sn IP-GW usc.es --packet-trace
• La opción --packet-trace permite ver los paquetes que envía nmap, resulta útil para
comprender cómo funciona.
• Nota: -sn, evita el escaneo de puertos.

5
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -sL (Sondeo de lista)
– El sondeo de lista es un tipo de descubrimiento de sistemas que tan solo lista cada
equipo de la/s red/es especificada/s,
– No envía paquetes de ningún tipo a los objetivos.
– Por defecto, Nmap va a realizar una resolución inversa DNS en los equipos, para
obtener sus nombres.
– No es posible combinar esta técnica con otras como escaneo de puertos o
fingerprinting.
• Ejemplos:
– root@security:~# nmap -sL xxx.xxx.xxx.xxx
– root@security:~# nmap -sL --packet-trace xxx.xxx.xxx.xxx/yy

6
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -sn (Sondeo ping/Ping Sweep o No Port Scan)
– Esta opción le indica a Nmap que únicamente realice descubrimiento de sistemas
mediante un sondeo ping y que luego emita un listado de los equipos que
respondieron al mismo.
– A diferencia del sondeo de lista, el análisis ping es ligeramente intrusivo, ya que
envía paquetes a los objetivos, pero es usualmente utilizado con el mismo propósito
que el de lista.
– Permite un reconocimiento liviano de la red objetivo sin llamar mucho la atención.
– Si se ejecuta sin privilegios, Nmap utiliza las llamadas al sistema connect para
conectarse a los puertos 80 y 443 de los objetivos.
– Si el usuario tiene permisos administrativos, o el objetivo está en la WAN, envía por
defecto un paquete TCP ACK al puerto 80 (-PA), un TCP SYN (-PS) al 443 además de
un paquete ICMP Echo Request y un ICMP Timestamp Request, salvo cuando el
usuario especifica otros parámetros.
– Si el objetivo es local, se utilizarán únicamente paquetes ARP (-PR).
• Ejemplo:
7
– root@security:~# nmap -sn --packet-trace IP-GW www.udc.es
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -Pn (skip ping):
– No realiza la etapa de descubrimiento de host.
– Considera que todos los hosts están "vivos". No se envían mensajes ICMP.
– Si se omite la etapa de descubrimiento, el escaneo se realizará sobre todas las
direcciones IP especificadas, hay que tener especial cuidado con el rango que se
especifica.
– De este forma se fuerza el análisis de máquinas, que de otra forma no se realizaría.
– Se intenta una resolución DNS inversa.
– Se envía una petición ARP si el objetivo está en el mismo dominio de broadcast.
– Se hace un escaneo TCP si no se indica ninguna opción adicional.
• Ejemplo:
– root@security:~# nmap -Pn --packet-trace xxx.xxx.xxx.xxx

8
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PS [lista de puertos] (Ping TCP SYN)
– Esta opción envía un paquete TCP vacío con la bandera SYN activada. El puerto
destino por defecto es el 80, pero se puede añadir un puerto alternativo como
parámetro.
– La bandera SYN indica al sistema remoto que quiere establecer una conexión.
• Si el puerto destino está cerrado se envía un paquete RST.
• Si el puerto está abierto entonces el objetivo responderá en el segundo paso
con un paquete TCP SYN/ACK.
– El sistema donde se ejecuta Nmap romperá la conexión que se está
estableciendo enviando un paquete RST en lugar de enviar el paquete ACK.
• Si el intento de conexión se mantiene y vence temporizador entonces el
sistema se marca como no disponible.
• Ejemplo:
– root@security:~# nmap -sn -PS --packet-trace www.udc.es

9
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PA [lista de puertos] (Ping TCP ACK)
– La diferencia con Ping TCP SYN es que en este caso se envía un paquete con la
bandera ACK en lugar de la SYN.
– Este paquete indica que datos de una conexión TCP establecida, pero se envían
sabiendo que la conexión no existe.
– En este caso los sistemas deberían responder con un paquete RST, lo que sirve
para determinar que están vivos.
– Utiliza el mismo puerto por defecto que la sonda SYN (el puerto 80) y también puede
tomar una lista de puertos destino en el mismo formato.
• Muchos administradores configuran los routers y algunos cortafuegos sencillos
(stateless) para que se bloqueen los paquetes SYN salvo para aquellos destinados a
los servicios públicos.
– Esto evita que se realicen otras conexiones entrantes al mismo tiempo que permite a
los usuarios puedan realizar conexiones salientes a Internet.
• Ejemplo:
– root@security:~# nmap -sn -PA postal4.info
10 --packet-trace
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PA [lista de puertos] (Ping TCP ACk)
– El sistema Netfilter/iptables de Linux soporta mediante la opción –state el filtrado con
estado, que hace categorías de paquetes en base a su estado de conexión. En estos
sistemas es más probable que funcione una sonda SYN, dado que los paquetes
ACK no esperados se reconocen como falsos y se descartan.
– Una solución a este dilema es enviar sondas SYN y ACK especificando tanto la
opción -PS como -PA.
• Ejemplo:
– root@security:~# nmap -sn -PS -PA www.usc.es --packet-trace

11
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PU [lista de puertos] (Ping UDP)
– Esta opción envía un paquete UDP vacío a los puertos indicados. Si no se
especifica ningún puerto se utiliza el puerto 40125 por defecto.
– La sonda UDP debería generar un paquete ICMP de puerto no alcanzable si da
contra un puerto cerrado en el equipo objetivo, entonces Nmap puede identificar
ese sistema como vivo y alcanzable.
– Si no llega ninguna respuesta se entiende que el sistema no está disponible.
– Si se alcanza un puerto abierto la mayoría de los servicios simplemente
descartarán el paquete vacío y no devolverán ninguna respuesta.
– La principal ventaja de este tipo de sondeos es que atraviesan cortafuegos y
filtros que sólo analizan TCP, permitiendo las sondas UDP se pueden generar
mensajes de puerto no alcanzable y detectar al dispositivo.
– Si se lleva a cabo sobre un dispositivo de LAN usa mensajes ARP para descubrir
al dispositivo objetivo.
• Ejemplo:
– root@security:~# nmap -sn -PU postal4.info
12 --packet-trace
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PR (Ping ARP)
– Esta técnica se utiliza por defecto cuando Nmap detecta que los equipos a
analizar pertenecen a su misma red local, aunque no se especifique de forma
explicita.
– Si se quiere evitar que se realice esta comprobación, se debe añadir el parámetro
--send-ip.
• Ejemplo:
– root@security:~# nmap -sn -PR xxx.xxx.xxx.xxx → IP Local

13
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• -PE; -PP; -PM (Tipos de ping ICMP)
-PE : solicitud de echo (consulta estándar de ping ICMP)
• Muchos sistemas y FW bloquean esos paquetes -> Escaneos que sólo utilizan
ICMP no son muy fiables
-PP : consulta de marca de tiempo
-PM : consulta de máscara de red
• Útil cuando los administradores bloquean paquetes de "solicitud de echo"
explícitamente y se olvidan de otros tipos de mensajes ICMP.
• Ejemplo:
– root@security:~# nmap -sn -PE -PP -PM xxx.xxx.xxx.xxx

14
Configuración Servicios de Seguridad

Exploración: Descubrimiento de Hosts


• Opciones complementarias de Nmap:
-n (No realizar resolución DNS inversa)
• Las consultas DNS suelen ser lentas. Esto permite ganar un poco de tiempo.
-R (Realizar resolución de nombres con todos los objetivos)
• Normalmente se realiza esto sólo si se descubre que el objetivo se encuentra vivo.
--dns-servers <servidor1[,servidor2],...> (Servidores a utilizar para las consultas
DNS)
• Nmap determina DNS a partir de resolv.conf (UNIX) o registro (Win32) y realiza él
mismo las consultas directamente a los DNS (en paralelo) para mejorar el
rendimiento.
• Esta opción permite especificar otros DNS. Utilizar más de uno suele ser más
rápido.
• Ejemplo:
– root@security:~# nmap -n -sn --packet-trace www.udc.es
15
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


¿Qué es?
• Técnica usada para auditar máquinas y redes con el fin de detectar que puertos están
abiertos, cerrados o protegidos (filtrados).
• Para poder llevar a cabo este tipo de técnicas es necesario conocer como funciona el
protocolo TCP:
– Establecimiento de una Conexión TCP: Finalización de una Conexión TCP:
• “Three Way Handshake”

16
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


¿Por qué escanear puertos?
• Por seguridad
– Principio de seguridad de redes: "reducir el número y complejidad de los servicios
ofrecidos reduce la oportunidad de que los atacantes entren"
– Si un atacante escaneara la red en busca de vulnerabilidades podría localizarlas antes
que el propio administrador y explotarlas.
• ¿Que es un puerto?
• Es un identificador abstracto usado para distinguir distintos canales de
comunicación.
– Es un número de 16bits -> 0...65535
• Direcciones IP identifican máquinas en una red -> Puertos identifican aplicaciones en un
máquina.
• En TCP y UDP, cada conexión se identifica por:
– IP+Puerto Origen / IP+Puerto Destino
17
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


Clasificación de puertos según Internet Assigned Numbers Authority (IANA):
• Puertos bien conocidos (well-known ports).
– Algunos sistemas exigen privilegios especiales para asociar aplicaciones a estos
puertos (Unix).
– Ejemplos: 22, 25 y 80 para SSH, SMTP y HTTP respectivamente.
– Son puertos reservados en el rango 1 a 1023 que han sido registrados con la IANA para
un servicio determinado.
• Puertos registrados (registered ports)
– Rango 1024 a 49151.
– También han sido registrados con IANA
– La diferencia con los anteriores es que no se exigen privilegios especiales.
• Puertos dinámicos y/o privados
– Rango 49152 a 65535
– Se usan dinámicamente o bien por servicios privados de una compañía.
• Nota: Echar un vistazo a /etc/services 18
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Estados de Puerto detectados por Nmap.
– ABIERTO
• Una aplicación acepta conexiones TCP o paquetes UDP en este puerto.
• Es el objetivo primario al realizar un escaneo de puertos.
• Los intrusos intentan aprovechar puertos abiertos, por lo que los administradores
intentan cerrarlos, o protegerlos con cortafuegos, pero sin que los usuarios
legítimos pierdan acceso al servicio.
• También son interesantes en sondeos que no están relacionados con la seguridad
porque indican qué servicios están disponibles para ser utilizados en una red.
– CERRADO
• Un puerto cerrado es accesible, recibe y responde a las sondas de Nmap, pero no
tiene una aplicación escuchando en él.
• Los puertos cerrados son alcanzables, no se encuentran filtrados, puede
merecer la pena analizarlos pasado un tiempo, en caso de que alguno se abra.
• Los administradores pueden querer considerar bloquear estos puertos con un
19
cortafuegos. Si se bloquean aparecerían filtrados.
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Estados de Puerto detectados por Nmap.
• FILTRADO
– Nmap no puede determinar si el puerto se encuentra abierto por que el filtrado de
paquetes impide que se alcance el puerto.
– El filtrado puede provenir de un cortafuegos dedicado, de las reglas de un router,
o de un cortafuegos instalado en el propio equipo.
– Estos puertos suelen frustrar a los atacantes, porque proporcionan muy poca
información.
• NO FILTRADO
– Este estado indica que el puerto es accesible, pero Nmap no puede determinar si
se encuentra abierto o cerrado.
– Solo el sondeo ACK, utilizado para determinar las reglas de un cortafuegos, clasifica a
los puertos según este estado.

20
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Abierto|filtrado
– Nmap marca a los puertos en este estado cuando no puede determinar si el
puerto se encuentra abierto o filtrado.
– La ausencia de respuesta puede también significar que un filtro de paquetes ha
descartado la sonda, o que se elimina cualquier respuesta asociada.
– Los sondeos UDP, protocolo IP, FIN, Null y Xmas clasifican a los puertos de esta
manera.
• Cerrado|filtrado
– Este estado se utiliza cuando Nmap no puede determinar si un puerto se encuentra
cerrado o filtrado, puede aparecer sólo durante un sondeo IP pasivo.

21
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• TCP CONNNECT()
– Esta técnica es quizá la más común en cualquier software de escaneo de puertos.
– La técnica consiste en usar la llamada connect() de TCP para intentar establecer una
conexión con cada uno de los puertos del host a escanear.
• Si la conexión se establece, el puerto está abierto (escuchando conexiones);
• en caso de recibir un aviso de cierre de conexión (RST), el puerto estará
cerrado;
• y en caso de no recibir respuesta, se deduce que el puerto está filtrado.
– Este tipo de escaneo es extremadamente rápido, pues puede realizarse de forma
paralela para distintos puertos mediante el uso de varios sockets.
– Su principal desventaja es que es llamativo en exceso, pues resulta a todas luces
llamativo establecer cientos o miles de conexiones en un margen de pocos
segundos. Además, al realizarse intentos completos de conexión, cualquier sistema
guardará registros.

22
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Se puede invocar un escaneo TCP connect() mediante el comando:
– root@security# nmap -v -Pn -sT xxx.xxx.xxx.xxx

23
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• TCP SYN
– Esta técnica, también conocida como Half-open scan, es parecida a la anterior con la
importante salvedad de no establecer completamente las conexiones.
– En primer lugar, se envía un paquete SYN que finge intentar establecer una conexión y
se espera la respuesta.
• Si llega un paquete SYN/ACK significa que el puerto está abierto;
• si llega un paquete RST, el puerto está cerrado;
• y si no se recibe respuesta se asume que está filtrado.
– En el caso de que el puerto esté abierto y se reciba el paquete SYN/ACK (es decir,
están completos dos de los tres pasos del saludo de tres vías), no se responderá con
un paquete ACK como sería lo esperado, sino que se enviará un paquete RST. ¿Para
qué? Pues precisamente para evitar que se complete el inicio de conexión y, por tanto,
evitar que el sistema registre el suceso como un intento de conexión.
• Nota: En sistemas sin protección específica de cortafuegos o IDS, este
escaneo suele pasar desapercibido.
24
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• TCP SYN
– Una característica importante de este escaneo es que requiere elevados privilegios en
el sistema para poder lanzarlo, debido a que este tipo de paquetes usan sockets TCP
raw. Por tanto, solo “root” puede lanzar escaneos TCP SYN.
– La principal ventaja de este tipo de escaneo es que suele ser bastante discreto y
ofrece unos resultados bastante buenos.
– Entre sus desventajas encontramos el que es algo lento de realizar, y que un
sistema con un firewall o un IDS avanzados (aunque algunos muy básicos no) lo
detectará e identificará como escaneo de puertos sin ninguna duda.

25
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Se puede invocar un escaneo TCP SYN mediante el comando:
– root@security# nmap -v -Pn -sS xxx.xxx.xxx.xxx

26
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• UDP SCAN
– Está orientada al protocolo UDP y sus puertos.
– Aunque a priori parezca que los puertos UDP no son muy interesantes, servicios
como el rpcbind de Solaris, DHCP, TFTP, SNMP, NFS... usan todos ellos UDP como
protocolo de transferencia.
– El sistema de escaneo consiste en mandar un paquete UDP vacío (0 bytes de
datos) al puerto que deseamos escanear.
• Si el puerto está cerrado, el sistema responderá con un paquete ICMP de tipo
3 (destino inalcanzable).
• En caso de no responder, el puerto puede estar abierto o filtrado.
• Nota: Este sistema puede presentar un grave problema de carencia de velocidad según
en qué sistemas, y es que en el RFC #1812-”Requirements for IP version 4 routers” se
recomienda limitar la capacidad de generación de mensajes ICMP de error. Pero hay un
sistema que, para variar, no hace mucho caso a los estándares, por lo que no tiene ninguna
limitación prefijada... sí: Windows. Un escaneo UDP a un sistema Windows resulta
extremadamente rápido como consecuencia de ello.
27
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• UDP SCAN
– En nmap podemos invocar un escaneo UDP mediante el comando:
• root@security# nmap -v -Pn -sU -p 65-70 xxx.xxx.xxx.xxx

• Comportamiento del escaneo:

28
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• TCP FIN, NULL y Xmas (-sF, -sN, -sX)
– Estos tipos de escaneo tienen por objetivo atravesar FW que no hagan inspección de
estado o routers que hagan filtrado de paquetes.
– -sN → No se fija ningún flag TCP
– -sF → Se fija el flag TCP FIN
– -sX → Se fijan los flags FIN, PSH, y URG
• Si un puerto está cerrado y recibe un paquete como los anteriores, debe responder
con un RST.
• Si los puertos no reciben respuesta pueden estar abiertos o filtrados.

29
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Se puede invocar un escaneo TCP FIN mediante el comando:
– root@security# nmap -v -Pn -sF -p 21,80,443 xxx.xxx.xxx.xxx

30
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• ACK SCAN
– La mayoría de las técnicas de escaneo nos permiten identificar con exactitud los
puertos abiertos o cerrados, pero generalmente los puertos filtrados no se pueden
identificar con claridad.
– El escaneo ACK está destinado a identificar de forma precisa cuándo un puerto
se encuentra en estado filtrado.
– El paquete de prueba tiene sólo el flag ACK activo.
– Esta técnica es usada también para poder escanear hosts que estén detrás de un
firewall que bloquee los intentos de conexión (paquetes SYN).
– Su funcionamiento se basa en el envío de paquetes ACK con números de
secuencia y confirmación aleatorios.
• Cuando reciba el paquete, si el puerto se encuentra abierto, responderá con un
paquete RST, pues no identificará la conexión como suya; → Unfiltered
• si el puerto está cerrado responderá con un paquete RST; → Unfiltered
• pero si no se obtiene respuesta podemos identificar claramente el puerto como
filtrado (puerto silencioso). → Filtered
31
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• ACK SCAN
– En nmap podemos invocar un escaneo ACK mediante el comando:
• root@security# nmap -v -Pn -sA -p 21,80,443 www.udc.es
• root@security# nmap -v -Pn -sA -p 21,80,443 postal4.info

32
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• IDLE SCAN (-sI)
– Esta técnica avanzada explota una “vulnerabilidad” de muchas implementaciones de la
pila TCP/IP, consistente en la posibilidad de predecir (simple incremento en
peticiones consecutivas) el identificador de fragmento de los paquetes IP (IP ID).
– Características:
• Muy sigiloso
• Necesita un equipo "Zombie"
• Permite averiguar relaciones de confianza entre las máquinas
– Obtiene lista de puertos desde punto de vista del "zombie"
• Muy lento
– 15 seg SYN scan -> 15 min Idle scan

33
Configuración Servicios de Seguridad

Exploración: Escaneo de puertos


• Control del Tiempo de Escaneo:
– Nmap incluye varias plantillas con las que intenta dar cobertura al mayor número
posible de situaciones en lo que a análisis de equipos se refiere. Estas plantillas se
pueden fijar mediante el parámetro -T, seguidas del número de plantilla sin espacios.
– Los posibles modo son:
• paranoid (0): Evasión IDS. Más lento
• sneaky (1): Evasión IDS. Lento
• polite (2): Consume menos ancho de banda
• normal (3): Modo por defecto
• aggressive (4): Acelera escaneo, asumiendo red rápida y fiable.
• insane (5): Red muy rápida y fiable o velocidad frente a precisión.
– Ejemplos:
• root@security# nmap -Pn -T4 xxx.xxx.xxx.xxx
• root@security# nmap -Pn -T Aggressive xxx.xxx.xxx.xxx
34
Configuración Servicios de Seguridad

Exploración: Fingerprinting
• ¿Qué es?
– Son un serie de técnicas usadas por Nmap para determinar de forma remota las
aplicaciones y versiones de dichas aplicaciones que hay en una máquina remota:
• Sistema Operativo (OS fingerprinting)
• Servicios
– Averiguar que esta información puede ser útil para:
• Localizar vulnerabilidades.
• Crear un inventario de los sistemas de una determinada red.
• Buscar exploits.
• ...

35
Configuración Servicios de Seguridad

Exploración: Fingerprinting
• Fingerprinting de S.O
– Se basa en el principio de que la pila de protocolos de cada SO tiene sus propias
características distintivas.
• Cada SO responde de forma diferente a una variedad de paquetes.
• Será necesario por lo tanto una BD donde esté almacenado información de como
los diversos SOs responden a diferentes paquetes.
• Toda la información relativa a los parámetros de la pila TCP/IP de cada S.O.
se recoge en una firma (fingerprint) para identificar al S.O.
– En los ejemplos más básicos haciendo un simple “ping” a una máquina remota
podemos averiguar a través del TTL su versión de S.O.:
• TTL para Windows suele ser 128
• TTL para Linux suele ser 64
• TTL para Cisco suele ser 255
– En Linux, se puede consultar en el fichero:
• root@security# cat /proc/sys/net/ipv4/ip_default_ttl
36
Configuración Servicios de Seguridad

Exploración: Fingerprinting
• Fingerprinting de S.O
– La opción -O de Nmap es la que permite la detección de versión de la plataforma:
• root@security# nmap -O -v xxx.xxx.xxx.xxx
– El resultado nos permite identificar:
• El tipo de dispositivo.
• El tipo o familia del S.O que está corriendo.
• El versión del S.O que está corriendo.
• La distancia de red al sistema analizado.

37
Configuración Servicios de Seguridad

Exploración: Fingerprinting
• Fingerprinting de Aplicaciones:
– Se basa en el análisis de las aplicaciones que está detrás de un puerto.
• Un servicio puede ejecutarse en un puerto diferente al que le correspondería.
• Incluso muchas veces se eligen puertos en base a los que tiene abiertos el FW.
• Para poder analizar las versiones e información detallada de aplicaciones se pueden
usar:
– Técnicas no automáticas de fingerprinting
• Uso de telnet a la IP y puerto destino
– root@security# telnet IP puerto
– Técnicas automatizadas basadas en Nmap.
• Ejemplos:
– root@security# nmap -sV -T4 xxx.xxx.xxx.xxx
– root@security# nmap -A -T4 xxx.xxx.xxx.xxx

38
Configuración Servicios de Seguridad

Exploración: Fingerprinting
• Fingerprinting de Aplicaciones:
– La opción -A activa los escaneos -sV y -O
– Hay casos, como por ejemplo, con una redirección NAT donde el tráfico se esté
reenviando a una aplicación en otro host, las respuestas pueden diferir
• TCP/IP fingerprinting identificará al dispositivo que reenvía.
• Escaneo de versión generalmente detectará el dispositivo que está ejecutando la
aplicación NAT.
– Incluso cuando no hay proxy o reenvío de puertos, usar ambas técnicas es beneficioso
• Si devuelven el mismo valor eso hace los resultados más creíbles.
• Si devuelven resultados muy diferentes investigar para determinar qué está
pasando antes de confiar en cualquiera de los dos.

39
Configuración Servicios de Seguridad

Exploración: Otras opciones de Nmap


• Nmap Scripting Engine (NSE):
– Es una característica recientemente añadida a las funcionalidades de Nmap, y una de
las más potentes.
– Permite al usuario ejecutar tareas automáticas por medio de scripts.
– Estos scripts amplían las funcionales originales, pudiendo utilizarse para detección
y explotación de vulnerabilidades, detector avanzado de versión de servicios,
ataques por fuerza bruta, o denegación de servicio, entre otros muchos.
– Ejemplos:
• root@security# nmap -sC -T4 xxx.xxx.xxx.xxx
• root@security# nmap -T4 -p 80 -script http-headers xxx.xxx.xxx.xxx

40
Configuración Servicios de Seguridad

Exploración: Otras opciones de Nmap


• Parámetro ‘-F’ es utilizado para explorar solo los puertos enumerados en el nmap-services:
• root@security# nmap -F xxx.xxx.xxx.xxx
• Guardar los resultados de los escaneos:
– Nmap permite guardar los resultados de un scan, en varios tipos de formato de archivo:
Normal, XML, Grepable, All, y en formato "S", también conocido como formato Script
Kiddie!. Las opciones son respectivamente ‘oN,-oX,-oG, -oA, -oS’.
– Un ejemplo podría ser localizar todos los servidores con samba en una LAN y guardar
los resultados en fichero de texto:
• root@security# nmap -A -p 445 -oG 10.0.0-samba.nmap 10.0.0.0/24

41
Configuración Servicios de Seguridad

Exploración: Otras opciones de Nmap


• Despistar con un Decoy Scan (-D):
– Esta opción se utiliza para tratar de engañar al host escaneado,haciendo que los
escaneos generados se hagan desde otros hosts, que se especifican en la opción -D.
– En el siguiente ejemplo, realizamos un Stealth Xmas Tree scan (-sX) hacia el host
xxx.xxx.xxx.xxx, en los puertos 25(SMTP), 53(DNS), le indicamos a nmap que no
genere pings hacia el host, y tratamos de engañar al host (-D, Decoy), haciéndole creer
que los scans se están generando desde los hosts 1.2.3.4 y 5.6.7.8.
• root@security# nmap -p 25,53 -sX -Pn -D 1.2.3.4,5.6.7.8 xxx.xxx.xxx.xxx
• Despistar a un Firewall (-f)
– Ahora si se desea realizar un scan muy suave para no ser detectado por algún firewall
se utiliza la opción -f (fragmentar paquetes), sin embargo otros firewall poseen
métodos para detectar este tipo de scan.
• root@security# nmap -sC -f -p 21,23,110,143 xxx.xxx.xxx.xxx

42
Configuración Servicios de Seguridad

Exploración: Otras opciones de Nmap


• El siguiente ejemplo es un excelente caso de uso de la potencia y versatilidad de Nmap,
extendiendo su funcionalidad de escáner de puertos a un verdadero identificador de
vulnerabilidades. El script a utilizar será “smb-check-vulns”.
• Este comprueba si el servicio samba de un equipo es vulnerable, realizando varias pruebas
sobre el puerto de servicio. El script devolverá los resultados obtenidos, en función de si las
pruebas realizadas han dado positivo o negativo. Es conveniente remarcar que algunas de las
pruebas que realiza el script se consideran peligrosas, y pueden probar la inestabilidad del
equipo auditado, puesto que intenta aprovechar alguna de las vulnerabilidades conocidas del
servicio samba, por lo que el script permite restringir las pruebas realizadas a únicamente las
que son seguras. Para ello hay que añadir el parámetro “safe=1” .
– root# nmap -sS -T4 -p445,139 --script=smb-check-vulns --script-args safe=1 IP
• El script comprueba que el equipo escaneado no está infectado con el malware Conficker. Las
otras comprobaciones no han sido lanzadas puesto que se consideran inseguras.

43

También podría gustarte