Home Page Home Page Home Page Contactenos Anunciece en WiseDataSecurity.com Suscribase a nuestro email Videos Seguridad Avanzada Proteja a sus Hijos Protejase Usted Proteja su Computadora



Network Scanning

Después del Footprinting viene el Scanning (escaneo) la cual es una de las fases más importantes. En el escaneo el atacante utiliza toda la información que obtuvo en la Fase de Reconocimiento o Footprinting (Fase 1) para identificar vulnerabilidades específicas. Por ejemplo, si en la Fase 1 el atacante descubrió que su objetivo o su víctima usa el sistema operativo Windows XP entonces el buscara vulnerabilidades especificas que tenga ese sistema operativo para saber por dónde atacarlo.

Objetivos primarios del Scanning:

1. Detectar sistemas “vivos” o activos que están corriendo en la red.
2. Descubrir cuales puertos están activos o abiertos para saber por dónde entrar.
3. Descubrir el OS y su versión para buscar vulnerabilidades especificas.
4. Descubrir qué tipo de servicios o aplicaciones está corriendo en el sistema para buscar vulnerabilidades específicas de esa aplicación y poder tener acceso al sistema.
5. Descubrir direcciones IP del sistema objetivo (target).

Existen 3 tipos de escaneos, escaneo de puertos, escaneo de red y escaneo de vulnerabilidades.

Escaneo de Puertos – es verificar los servicios o aplicaciones que están corriendo en el sistema objetivo o victima por el envió de una secuencia de mensajes para intentar penetrar en los puertos. El escaneo de puertos implica el conectarse a los puertos de los protocolos TCP (Transfer Control Protocol) y UDP (User Datagram Protocol) en el sistema objetivo para determinar si los servicios están corriendo en estado de escucha (abiertos). Si los puertos están en estado de escucha te pueden dar una idea del OS y la aplicación en uso.

Escaneo de red (network) – es el procedimiento de identificar hosts (computadoras) activos en una red para atacarlos (en el caso de un Hacker o Cracker) o para realizar tareas de seguridad (en el caso de un administrador de redes). Los Host son identificados por su direccion IP individual.

Escaneo de Vulnerabilidades – es el método usado para detectar vulnerabilidades en los sistemas y redes, es usado para saber si un sistema puede ser “explotado”. Los escáner de vulnerabilidades usan un motor de escaneo con un catalogo que contiene un archivo con una lista de vulnerabilidades conocidas y exploits comunes.

Banderas (flags) de comunicación de TCP

La comunicación estándar del protocolo de control de transmisión (TCP) es controlada por banderas en la cabecera de los paquetes TCP (TCP Packet Header). Estas banderas gobiernan la conexión entre hosts o computadoras, dándoles instrucciones al sistema.

Las banderas son las siguientes:

1. Synchronize – alias “SYN”, se usa para iniciar una conexión entre hosts o computadoras.
2. Acknowledgement – alias “ACK”, se usa para establecer una conexión entre hosts.
3. Push – alias “PSH”, le indica al sistema recibidor a enviar toda la data almacenada inmediatamente.
4. Urgent – alias “URG”, le indica al sistema que la data contenida en el encabezado (header) se procese de inmediato.
5. Finish – alias “FIN”, le indica al sistema remoto que no hay mas transmisiones.
6. Reset – alias “RST”, se usa para reajustar (reset) la conexión.

El apretón de manos de 3 vías (Three Way Handshake)

TCP es un protocolo orientado a conexión, el cual implica el establecimiento de una conexión, esto se hace antes de que se pueda transferir data entre aplicaciones. Esta conexión es posible a través del proceso de Three Way Handshake. La implementación del Three Way Handshake es establecer una conexión entre protocolos.

Ejemplo de Three Way Handshake:

Supongamos que usted, la computadora A se quiere conectar con la computadora B.

Three Way Handshake

La Comp. A (fuente) envía un paquete con una bandera SYN a la Comp. B (destino) para establecer una conexión TCP.

Luego la Comp. B recibe el paquete SYN que envió la Comp. A para comenzar una sesión TCP enviando un paquete SYN/ACK de regreso a la Comp. A (si la Comp. B envía un SYN/ACK significa que el puerto está abierto).

Luego la Comp. A envía un paquete ACK a la Comp. B para indicarle que la comunicación se ha establecido y están listas para recibir data.

Esto también se conoce como una conexión TCP abierta completa (Full-open TCP connection). El problema con las conexiones Full-open es que son detectadas por los IDS (Intrusion Detection Systems) y por los Firewalls.

Tipos de escaneos

Existen varios tipos de escaneos como Stealth Scan, Xmas Scan (funciona solo en UNIX), FIN Scan (funciona solo en UNIX), Null Scan (funciona solo en UNIX), ICMP Echo Scan, FTP Bounce Scan, UDP Scan, Reverse Ident Scan, RPC Scan, Window Scan, Blaster Scan, pero no las vamos a discutir en este articulo, en este articulo vamos a discutir las 2 más usadas que son Half-Open e IDLE Scan.

Escaneo Half-Open (media abierta) Muchos Hackers, para evitar ser detectados usan esta una técnica de escaneo, se le llama así porque el atacante no abre o establece una conexión TCP completa o Full-Open. Esta técnica es parecida a la Full-Open, con la diferencia de que al final en vez de enviar un paquete con una bandera ACK se envía un paquete con un RST para terminar la conexión. Esta técnica es registrada por muy pocos sitios, pero los IDS y Firewalls sofisticados son capaces de detectar esta técnica. Además necesitas tener privilegios de “root” para poder usar esta técnica de escaneo.

Escaneo IDLE (inerte, inactivo) El escaneo Idle es el favorito de los Hackers y Crackers, también conocido como escaneo “invisible” o “zombie”. Esta técnica relativamente nueva fue inventada hace aproximadamente 4 años por el investigador de seguridad Antirez. Esta técnica permite un escaneo a los puertos completamente invisible, el atacante puede escanear a su objetivo sin enviar un solo paquete que pueda revelar la dirección IP del atacante.

Para hacer un escaneo IDLE no necesitas ser un experto en seguridad o protocolos TCP/IP, pero necesitas entender varias cosas, que son las siguientes:

La mayoría de los servidores de red escuchan en los puertos TCP, como los web servers que escuchan en el puerto 80 y los servidores de email que escuchan en el puerto 25. Un puerto se considera abierto si una aplicación está escuchando en el puerto.

Para determinar si puerto está abierto o no se envía un establecimiento de sesión (paquete SYN) al puerto, la maquina que recibe el paquete SYN responde con un paquete SYN/ACK si el puerto está abierto y con un paquete RST si el puerto está cerrado.

Una maquina que recibe un paquete SYN/ACK no solicitado responde con un RST y los RST no solicitados son ignorados.

Cada paquete de IP en Internet tiene un número de "identificación de fragmento". Varios sistemas operativos simplemente incrementan este número por cada paquete que envían. Por lo tanto la observación de este número puede decirle al atacante cuántos paquetes han sido enviados desde la última observación.

Pasos para un escaneo IDLE con Nmap (Nmap es la mejor herramienta de escaneo de redes que existe)

Los siguientes 3 párrafos fueron obtenidos de www.insecure.org/nmap/

El primer paso es encontrar un host zombie apropiado. El host no debería tener mucho tráfico, (de ahí el nombre Idle, inerte, inactivo) y debería ofrecer valores de IPID predecibles. Impresoras, máquinas con Windows, hosts con versiones de Linux viejas, FreeBSD, y Mac OS son generalmente útiles. Las últimas versiones de Linux, SOlaris Y OpenBSD son inmunes a ser tratadas como zombies, pero cualquier host puede ser objeto del escaneo. Una manera de determinar la vulnerabilidad de un host es simplemente probar un Idlescan de Nmap. Nmap comprobará el zombie y reportará si es confiable.

Efectuar estos escaneos es bastante fácil. Simplemente hay que proveer de el nombre del host zombie a la opción -SI y Nmap hace el resto. Este es un ejemplo rápido:

# nmap -P0 -p- -sI kiosk.adobe.com www.riaa.com
Starting nmap V. 3.10ALPHA3 ( insecure.org/nmap/ )
Idlescan using zombie kiosk.adobe.com (192.150.13.111:80); Class: Incremental
Interesting ports on 208.225.90.120:
(The 65522 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
25/tcp open smtp
80/tcp open http
111/tcp open sunrpc
135/tcp open loc-srv
443/tcp open https
1027/tcp open IIS
1030/tcp open iad1
2306/tcp open unknown
5631/tcp open pcanywheredata
7937/tcp open unknown
7938/tcp open unknown
36890/tcp open unknown
Nmap run completed -- 1 IP address (1 host up) scanned in 2594.472 seconds

De este escaneo, aprendemos que la RiAA no es muy consciente de la seguridad (se pueden notar abiertos los puertos de "PC Anywhere", "portmapper, Y "Legato nsrexec"). Ya que aparentemente no tienen un firewall, es poco probable que sí tenga un IDS. Pero si lo tienen, mostrará a 'kiosk.adobe.com' como el culpable del escaneo. La opción -P0 previene que Nmap envíe un ping inicial a la Máquina de RIAA. Esto disminuye la velocidad del escaneo (hay menos información disponible sobre los tiempos), pero asegura que ningún paquete sea enviado al destino desde nuestra verdadera dirección de IP. El escaneo tardó un largo tiempo porque se escanearon los 65535 puertos -- hay que saltear la opción "-p-" si sólo se quieren escanear los puertos bastante conocidos ("well know ports") además de los puertos 1-1024 --. Uno tiene que asegurarse de encontrar zombies propios -- Kiosk no es muy confiable y es probable que desaparezca o sea monitoreado de cerca --.

Herramientas para Network Scanning

Nmap (Network mapper) Nmap es una utilidad gratis de código abierto para la exploración y escaneo de redes, es la favorita de los Hackers, profesionales de seguridad y de nosotros también, es tan famosa y poderosa en la comunidad de seguridad que fue usada en películas como Matrix Reloaded, Bourne Ultimatum, Die Hard 4, entre otras, Nmap pude escanear puertos, descubrir puertos abiertos y las aplicaciones que están corriendo en ellos. Soporta más de 12 maneras de escanear una red como: TCP connect, TCP SYN, UDP, FTP Bounce, Reverse-ident, ICMP, FIN, ACK sweep, Xmas Tree, SYN sweep, IP Protocol, Stealth Scan, RPC scan y Null Scan. Tambien puede detectar OS vía TCP/IP fingerprinting, hacer dynamic delay, calculaciones de retrasmisiones, escaneo paralelo, Pings, entre otras muchas  cosas.

Para descargar Nmap vaya a http://nmap.org/download.html está disponible en línea de comandos e interface grafica, así que puede descargar la que más le guste o ambas. Está disponible para Windows, Linux, Mac, FreeBSD, OpenBSD, NetBSD, Solaris, Amiga y HP-UX. Para aprender mas y conocer los secretos de Nmap, Compre este libro >

Nmap
Nmap

Si instala el de líneas de comandos, abra el command prompt y escriba nmap y le aparecerán todas las opciones disponibles de nmap. Si tiene problemas con la instalación o cualquier pregunta se puede comunicar con nosotros en la siguiente dirección: administrador@wisedatasecurity.com

Angry IP

http://www.angryziber.com/ Es un excelente escáner de IPs para Windows, puede escanear cualquier rango de IPs y determinar que IPs están “vivas” y “muertas” también provee información sobre NetBIOS como: nombre de la computadora, nombres de grupos y direcciones MAC, entre otras cosas.

Angry IP
Angry IP

HPING2

http://www.hping.org/ Escáner para Linux, Solaris y Mac OS X, sus características son: Firewall testing, escáner avanzado de puertos, Network testing usando diferentes protocolos, trazador de rutas avanzado, detección de OS, remote uptime guessing, audición de TCP/IP stacks, entre otras cosas.

WUPS UDP Scanner

http://ntsecurity.nu/toolbox/wups/ Es un simple pero efectivo escáner del protocolo UDP, es para Windows y viene con interface grafica. Está disponible para todas las versiones de Windows excepto Vista.

Herramientas para escanear vulnerabilidades

Bidiblah Escáner Automatizado

http://www.sensepost.com/ Bidiblah te permite hacer de manera automatizada footprinting, enumeración de DNS, detectar OS, escanear puertos y detectar vulnerabilidades, todo en un mismo programa.

SAINT (Security Administrator’s Integrated Network Tool)

http://www.saintcorporation.com/products/vulnerability_scan/saint/saint_scanner.html SAINT es usado para la detección de vulnerabilidades de manera no intrusiva en un objetivo remoto, incluyendo servidores, estaciones de trabajo, dispositivos de red y otros tipos de nodos, también detecta OS y puertos abiertos. Está disponible para Linux, Solaris y Mac OS X

Nessus

http://www.nessus.org/ Es escáner de vulnerabilidades que busca por errores (bugs) en el software. Un atacante puede usar esta herramienta para violar la seguridad de un software en particular. Nessus puede escanear un número ilimitado de host al mismo tiempo, usa plug-ins inteligentes y su base de datos de vulnerabilidades siempre esta actualizada.

GFI LANGuard

http://www.gfihispana.com/es/lannetscan/?adv=687&loc=5 Es usado sado para analizar el sistema operativo y las aplicaciones que están corriendo en la red, identifica problemas potenciales de seguridad, escanea la red completa para buscar parches de seguridad perdidos, open shares, puertos abiertos, aplicaciones activas en el sistema, entre otras cosas.

Retina Network Security Scanner

http://www.eeye.com/ Es un escáner de vulnerabilidades que te permite escanear cada máquina en una red, incluyendo una variedad de sistemas operativos, dispositivos de red, bases de datos, software de terceros o software personalizado y genera un reporte detallado sobre las vulnerabilidades una vez completado el escaneo. Es reconocido como el escáner de vulnerabilidades estándar de la industria.

NIKTO

http://cirt.net/nikto2 Escáner de código abierto para webserver, realiza pruebas comprensivas a través de los webserver para múltiples artículos, prueba los webserver en el tiempo menos posible, soporte para SSL, soporte para plug-in, entre otras cosas. Funciona en Windows, UNIX y Mac OSX, requiere la instalación de la librería LibWhisker.

Contramedidas

Su Firewall debe ser lo suficientemente bueno como para detectar pruebas de escaneo de un atacante. Su Firewall debe realizar inspecciones confiables teniendo un conjunto especifico de reglas (rule set)

Se deben usar NIDS (Network Intrusion Detection System) para evitar el método de detección de sistemas operativos de herramientas como Nmap.

Solo los puertos necesarios deben permanecer abiertos, el resto deben ser filtrados.

Toda la información sensitiva que no debe ser divulgada al público sobre internet no puede ser mostrada.

Haga uso de un escáner de vulnerabilidades como los antes mencionados para encontrar fallas en su red, dispositivos y software antes que sean encontrados por los atacantes.

Muchas veces los servicios o aplicaciones activas que están en estado de escucha pueden permitir el acceso no autorizado a los sistemas que no están configurados adecuadamente y más aun si estos servicios o aplicaciones contienen vulnerabilidades.