Introducción:
El escaneo de red se refiere a un conjunto de procedimientos utilizados para identificar el host, los puertos y los servicios en una red.
Objetivos:
Descubrir equipos activos, direcciones IP y puertos abiertos.
Descubrir el sistema operativo, su arquitectura y los servicios que ofrece.
Descubrir vulnerabilidades en los equipos activos.
Tipos de escaneos:Escaneo de puertos: Tiene el objetivo de descubrir puerto abiertos. Además de verificar los servicios que corren dentro de un objetivo enviando una secuencia de mensajes para conectar y analizar los puertos TCP y UDP.
Escaneo de red: Enumera las direcciones IP. Además, es un procedimiento para identificar un host activo en una red, ya sea para atacarlos o para evaluar la seguridad o la red.
Escaneo de vulnerabilidades: Permite realizar un conjunto de pruebas sobre un sistema o red para encontrar debilidades y/o fallos de seguridad de estos.
Antes de iniciar la práctica es recomendable conocer un poco sobre los protocolos de red.
Familia de protocolos TCP/IP
Los protocolos de red normalmente se desarrollan en capas. Por lo cual TCP/IP es el resultado de combinar distintos protocolos en las diferentes capas. El cual consta de cuatro capas que son:
Capa física.
Capa de red.
Capa de transporte.
Capa de aplicación.
Protocolos relevantes en seguridad.
El protocolo TCP/IP posee unas características fundamentales que condicionan en gran medida las vulnerabilidades asociadas a su funcionamiento. En el aspecto de seguridad los siguientes protocolos permiten la realización de algunas conductas atípicas o diferentes al fin que fueron concebidos.
Protocolo ARP
Es un protocolo de capa física, que se encarga de encontrar la dirección física (MAC) que corresponde una determinada IP.
Protocolo IP
Es el principal protocolo de TCP/IP, el cual se encarga de transmitir y encaminar los paquetes de información del origen al destino. Se encuentra en la capa de red.
Características de IP:
Protocolo no orientado a conexión
No fiable.
Para avisar en los extremos de la comunicación de algún error se auxilia del protocolo ICMP (Internet Control Message Protocol).
Protocolo TCP
Es un protocolo orientado a conexión que requiere el establecimiento de una conexión entre los extremos que vayan a comunicarse antes de empezar el intercambio de mensajes. Definido en el RFC 793.
Características de TCP.
Es un protocolo fiable.
Se encarga tanto de asegurar la recepción de los paquetes, como de ensamblarlos en el orden correcto los paquetes que hayan sido fragmentados.
Permite llevar un control de los paquetes recibidos por destinatario gracias a un ACK (confirmación de recepción).
Banderas de comunicación TCP
El encabezado TCP contiene varios indicadores que controlan la transmisión de datos a través de una conexión. Seis banderas de control TCP administra la conexión entre el host y dan instrucciones al sistema.
Cuatro de estas banderas son (SYN, ACK, FIN y RST) las cuales rigen el establecimiento, mantenimiento y terminación de una conexión. Las otras dos banderas (PSH y URG) proveen instrucciones al sistema.
Protocolo UDP
Es un protocolo más sencillo que TCP, no cuenta con mecanismos que permita corregir errores, retransmitir o detectar paquetes perdidos o duplicados.
Características de UDP.
No está orientado a conexión.
Es un protocolo no fiable.
No necesita el establecimiento de una conexión, de manera que el número de paquetes que se tienen que enviar es menor.
Establecimiento de conexión TCP.
El procedimiento para establecer una conexión se conoce como Three-Way handshake, podemos hacer la análoga a una llamada telefónica donde en el primer paso SYN el emisor realiza la llamada y pregunta “Que tal puedo hablar contigo”, el receptor contesta con SYN, ACK algo como “Si, llámame” y por último el emisor contesta con un ACK similar a un “Gracias”. Con estos pasos se inicia la conversación.
Metodología de escaneo.
ICMP Scanning
TCP Scanning
UDP Scanning
Objetivos de la práctica:
En esta práctica el alumno implementará un escaneo de red con la herramienta Nmap, con las técnicas vistas anteriormente. Además, se explicará de forma técnica lo que ocurre al enviar un comando con el objetivo de conocer el funcionamiento detrás de la misma.
Herramientas necesarias:
Puesta en marcha de Nmap en Kali Linux.
Se inician las máquinas virtuales de Kali Linux y Metasploitable 3.
Verificar la red a la que pertenece el equipo de Kali con el comando ifconfig en la terminal.
ICMP Echo Scanning/ Ping Sweep, esta técnica se utiliza para detectar equipos activos dentro de la red. Su funcionamiento se basa en una petición ICMP 8 (echo request), si el equipo está conectado contesta con un ICMP 0 (echo reply) esto está definido en el RFC 792. Esto se representa con el comando
nmap -sP 192.168.2.0/24
TCP Connect/ Full Open Scan: Detecta que puerto se encuentran abiertos completando el three-way handshake.
Después de encontrar un equipo activo para este caso cuenta con la dirección IP “192.168.2.7” se prosigue a realizar el escaneo para conocer los puertos disponibles. Esto se representa con el comando: Nmap -sT “dirección IP”
Stealth Scan (Half-open Scan): Este escaneo corta el three-way handshake antes de establecer la conexión enviado un paquete tipo RST. Lo que permite saltar reglas establecidas por un firewall, mecanismos de registro ocultándose como lo hace el tráfico habitual de la red. Esto se representa con el comando:
Nmap-sS “dirección IP”
Inverse TCP Flag Scanning: Los atacantes envían paquetes de probes TCP con un conjunto de indicadores TCP (FIN, URG, PSH) o sin indicadores (NULL). Esto escaneo se basa en una explotación del funcionamiento del protocolo TCP descrito RFC 793 donde se menciona que cualquier paquete que no contenga las banderas SYN, RST, o ACK devolverá un RST si el puerto está cerrado y si se encuentra abierto no dará respuesta alguna.
Este tipo de escaneos resulta útil para saltar firewalls sin estado y filtrado de paquetes, un inconveniente es que la mayoría de los sistemas no siguen al pie de la letra este RFC y envían un RST aunque se encuentre cerrado o abierto, este escaneo funciona para sistemas UNIX.
Las configuraciones más utilizadas son:
Escaneo NULL: Donde no se fija ningún bit o bandera.
nmap -sN “dirección IP”
Escaneo FIN: Que lleva consigo la bandera TCP FIN.
nmap -sF “dirección IP”Escaneo Xmas: Donde se envían las banderas FIN, PSH y URG al mismo tiempo.
nmap -sX “dirección IP”
ACK Flag Probe Scanning: Se puede utilizar para comprobar si el host destino cuenta con algún mecanismo de filtrado de paquetes.
Por lo cual se envía un paquete de prueba ACK con un número de secuencia aleatorio, si el equipo destino no responde implica que el puerto está filtrado (Firewall de estado presente), caso contrario si la respuesta es un RST significa que el puerto no está filtrado.
Para esta prueba de concepto en la máquina virtual de Metasploitable 3 por default se encuentra habilitado el firewall de Windows.
nmap -sA “dirección IP”
Como se puede apreciar en la imagen anterior los puertos se encuentra filtrados.
Si se deshabilita el Firewalls de Windows, para iniciar sesión el usuario y password de la máquina virtual es vagrant ambos.
Se realiza nuevamente el escaneo y devuelve lo siguiente:
Como se puede apreciar en la imagen ahora muestra que los puertos están sin filtrar, ya que se desactivo el Firewall.
IDLE/IPID Header Scan: Es un método de escaneo de puertos TCP que se utiliza para enviar una dirección de origen falsificada a una computadora para averiguar qué servicios están disponibles. Ofrece escaneo sigiloso de un host remoto.
Cada paquete IP en Internet tiene un número de identificación de fragmento (IPID); El sistema operativo aumenta el IPI para cada paquete enviado, por lo tanto, durante un escaneo del IPID le dan a un atacante el número de paquetes enviados después su ejecución.
Detección de puertos abiertos:
Primeramente, el atacante manda un paquete probe al equipo que utilizará como zombie y obtiene el IPID.
El atacante manda un paquete SYN al objetivo con la dirección IP del equipo zombie, el objetivo responde con un SYN/ACK al zombie, ya que supuestamente él lo envío, este último como no espera un paquete envía un RST e incrementa su IPID.
Nuevamente el atacante manda un paquete SYN/ACK al zombie para comprobar su IPID el cual incrementó en dos desde el primer paso. Se establece que el puerto está abierto ya que, entre la comunicación del objetivo y el zombi, este último envió un paquete.
Detección de puertos cerrados:
Primeramente, el atacante manda un paquete probé al equipo que utilizará como zombie y obtiene el IPID.
El atacante manda un paquete SYN al objetivo con la dirección IP del equipo zombie, el objetivo responde con un RST (ya que el puerto se encuentra cerrado) al zombie y este no responde y no incrementa su IPID.
Nuevamente el atacante manda un paquete SYN/ACK al zombie para comprobar su IPID el cual incrementó en uno desde el primer paso. Se establece que el puerto está cerrado ya que, entre la comunicación del objetivo y el zombi, no envío ningún paquete.
Todo este procedimiento lo realiza nmap con el siguiente comando que nuestro zombie será la página de platzi.
Nmap -Pn -p- -sI www.platzi.com “IP objetivo”
UDP Scanning: Si el sistema no responde con un mensaje entonces el puerto se encuentra abierto. Por lo contrario, si responde con un “ICMP port unreachable message” quiere decir que se está cerrado. La mayoría de los Spywares, troyanos y otras aplicaciones maliciosas usan estos puertos.
Para su funcionamiento con nmap se utiliza el comando:
Nmap-sU “dirección IP”
OTROS COMANDOS INTERESANTES:ESPECIFICANDO PUERTOS-p <rango>: Solo escanear puertos especificados.
Ejemplo: -p22; -p1-65535; -p U:53,111,137
--exclude-ports <rango>: Excluir puertos específicos.
-F: Fast mode: Menos puertos que el escaneo predeterminado.
DETECCIÓN DE SERVICIOS/VERSIÓN:-sV: para determinar la información del servicio / versión
SCRIPT SCAN:--script=<Lua scripts>: <Lua scripts> es una lista de script que utiliza nmap.
Ejemplo: nmap -p445 --script smb-vuln-ms17-010 <objetivo>
DETECCIÓN DEL SISTEMA OPERATIVO:-O: Habilitar la detección del sistema operativo.
Una pregunta, cuando fui a una conferencia de seguridad nformática, un expositor dijo "hay sistemas que hasta el vulgar NMAP escanea" con eso me dio a pensar que esta herramienta es un poco obsoleta, no pude preguntarle a que se refería con el comentario ya que no se me permitió y tengo una duda, en el mundo real escanean puertos con esta herramienta o hay mejores (de pago y gratis) ?
También me hago esa pregunta. Nmap y sus comandos tienen la capacidad de detectar posibles vulnerabilidades ante sistemas operativos recientes (Windows 10) con firewalls?
Saludos, hay un sin fin de herramientas tanto de paga como open source, Scapy es una realmente interesante.
Un herramienta muy poderosa para revisar la red y los puertos de los equipos.
ya encontre el usuario y contraseña, es vagrant para ambos.
Muy interesante toda esta información.
Buena intro, clara y didáctica. Un par de apuntes rápidos: ARP es de capa enlace (no física) y el link a Metasploitable está mal (pone truffleHog). No hagan scans “stealth” contra hosts reales — usen VMs y permiso siempre. Por último, añadiría una nota sobre lo lento/ruidoso de -sU y un ejemplo combinado (-sS -sU -p-) para práctica.
El problema de las metaforas que explica en la lectura es que nos las desarrolla claramente y no entra en detalles ademas las imagenes no tienen un diagrama mas a profundidad o notas mas adicionales para recordarnos la relación entre cada uno de los conceptos hablados, recomendaria que cualquiera que intente comprender este tema se lo pregunte mejor a chat gpt por que es necesario un conocimiento de redes muy avanzado para comprenderlo mejor
RFC 793 es el documento técnico que define el protocolo TCP (Transmission Control Protocol). "RFC" significa "Request for Comments", que es una serie de publicaciones que documentan estándares y protocolos de Internet. Los números específicos, como el 793, se asignan para identificar cada documento de manera única y secuencial. Conocer esto es importante, ya que te da contexto sobre cómo se estructura y se desarrolla la tecnología de red, fundamental en el hacking ético y la seguridad informática.
gracias
Me parece excelente lectura, sin embargo, tengo una acotación.
ARP según la lectura se menciona que es un protocolo de capa física, sin embargo, a mi parecer y de acuerdo a lo estudiado es un protocolo de capa 2, "Enlace de Datos", ya que como se indica el protocolo trata de encontrar la mac (dirección física ) que corresponde a una ip y el objetivo es para armar la trama que trabaja en capa 2
Tienes razón, menciona que es capa fisica, cuando ARP es un protocolo de capa 2 del modelo OSI, aunque si se hiciera referencia al modelo TCP/IP ahí engloba el capa fisica y enlace de datos.
la lectura hace referencia al modelo TECP/IP, pero si, también estoy de acuerdo.
Excelente lectura
Buenos días, alguien me puede ayudar donde puedo descargar la iso de "windows server 2008", ya que el link de github que colocan es de la herramienta "trufflehog".
Muchas Gracias.
lo encontraste?
en las primeras clases del curso se explica como instalar todos los componentes
Y para los que somos nuevos, ¿para que sirve saber si hay puertos abiertos sin filtrado?
¿que tipo de ataque podrian hacer mediante puertos abiertos?
Gracias
Hasta donde tengo entendido (tampoco se mucho), si tienes un puerto abierto que corre un servicio con una vulnerabilidad en el y explotarla lanzando un ataque.
Interesante información, esta clase de comandos son demasiado útiles a la hora de hacer information gathering with nmap
Muy útil información. Gracias!
En uso..
para acceder a metaspoitable 3_win2k8, hay dos usuarios, administrator y vergarant, con cual inicio y cual es la contraseña?
Saludos
Excelente documento. Muy completo.
excelente
Hola.
En la explicación hacen referencia a "descargar Metasploitable" pero el link hace referencia Trufflehog. De donde sacan la imagen de "Metasploitable Win Server"? Yo tengo es el Metasploitable Linux.
Es metasploitable 3 la cual esta basada en windows, a diferencia de metasploitable 1 y 2 que corren sobre linux, aca una guia de como instalarla Metasploitable 3