Muy bien, hablamos ahora de los tipos de estado que tienen los puertos
¿Qué nos arrojará Nmap cuando hagamos un escaneo? Entenderás que cuando Nmap haga un escaneo y comience a interactuar con los diferentes puertos de nuestro objetivo
estos puertos se pueden clasificar en diferentes estados. Pero bien, veamos todos los tipos de estados que existen
Está abierto, Open, Cerrado, Closed, Filtrado, Filtered, No filtrado, Unfiltered, Abierto filtrado, Openfiltered, y Cerrado filtrado, Closedfiltered
Vamos a definir cada uno, y para esto explicaremos qué hace Nmap, tanto en el protocolo TCP como UDP
para llegar a determinar el estado de dicho puerto que esté escaneando. Empecemos con TCP. Aquí los principales estados son Abierto, Cerrado, Filtrado, y No filtrado
Empecemos por Abierto. Un puerto se considera abierto cuando Nmap envía un segmento TCP, concretamente un segmento SYN
y recibe una respuesta SYN-ACK, como tuviste que verlo en el curso de redes
Al recibir esta respuesta se indica que el puerto tiene un servicio, que aceptó dicha conexión
y que está dispuesto a seguir aceptando futuras. Por lo que Nmap al recibir este segmento, el de la respuesta, el SYN-ACK, finaliza la conexión enviando un segmento RESET
R-S-E-T viejo, pero R-S-E-T suena mejor, evitando completar así el Treeway Handshake, ya que para completarlo y finalizar este apretón de manos, deberíamos enviar nosotros un segmento ACK
Pero como en este caso no queremos completar el apretón de manos, ya que realmente no nos interesa establecer ningún tipo de conexión
sino únicamente comprobar si el puerto estaba abierto o no, le enviamos un segmento RESET
con lo que el apretón de manos no se completa, y se reduce mucho la posibilidad de que nos detecten dentro de la red
Ahora, esto que vimos fue un ejemplo del protocolo TCP, pero de un tipo de escaneo SYN
y en Nmap podemos usar otro tipo de escaneos, que no son necesariamente SYN
pero que igualmente pertenecen al protocolo TCP, y como tal los veremos de forma práctica más adelante
Y ojo, no significa que usando este tipo de escaneos no se pueda detectar si un puerto está abierto o no
va a depender mucho del contexto, pero principalmente me interesa que conozcas el tipo SYN
que fue el que te expliqué antes, pero bueno, sigamos. Tendríamos seguidamente el estado cerrado, que retomando el ejemplo con un escaneo SYN
es básicamente que Nmap envía un segmento SYN, pero como respuesta del objetivo, obtiene un segmento RESET
con lo que Nmap entiende que el puerto está accesible, pero no hay ninguna aplicación escuchando en él
Básicamente, puede llegar a la ventana, toca la ventana, pero nadie abre
La ventana está accesible, pero no hay nadie que responda, igual que ella contigo. Siguiente estado, filtrado
Este se asigna cuando Nmap no puede determinar si un puerto está abierto o cerrado
debido a que no recibe ninguna respuesta a sus paquetes enviados. Ten en cuenta, no recibe ninguna respuesta
Si recibiese un TCP RESET, directamente lo pone como cerrado, pero en este caso, como no la recibe, no puede saber si está cerrado o está abierto
Y esto generalmente ocurre cuando hay un firewall u otro elemento de seguridad
entre nosotros, con Nmap, y el objetivo. Y ya por último, dentro de TCP, tenemos el estado no filtrado
que se utiliza para indicar que los paquetes, en este caso, sí llegaron al puerto de destino
pero Nmap no pudo determinar si el puerto está abierto o está cerrado. Esto generalmente ocurre en escaneos que no son del tipo SIM
es decir, los que te comenté antes que existen, pero que los veremos más adelante. Ahora, esto fue en TCP, veámoslo en UDP
Generalmente en UDP tenemos cuatro estados, que son abierto, cerrado, abierto-filtrado y filtrado
El estado abierto ocurre cuando Nmap envía un datagrama UDP, y recibe una respuesta de la aplicación, indicando que el puerto está en la escucha
Así de simple, UDP no se da mal la vida. Ahora, el estado cerrado. Este ocurre cuando Nmap envía el datagrama UDP
pero recibe una respuesta, concretamente un mensaje ICMP, de tipo puerto inalcanzable, por lo que nuevamente, UDP no se complica la vida
Siguiente estado, abierto-filtrado. Este ocurre cuando Nmap no recibe respuesta, tras enviar el datagrama
y dado que no hay respuesta, Nmap no puede saber si el puerto está abierto o está siendo filtrado por un firewall
Y claro, ten en cuenta que este caso es mucho más ambiguo, porque estamos trabajando con UDP, en lugar de TCP
que sí, no se da mal la vida, pero para Nmap es un dolor de cabeza, o bueno, dolor de bits
Y por último, el estado filtrado, que al igual que en TCP, un puerto en UDP se considera filtrado
si Nmap no recibe ninguna respuesta. Y generalmente esto ocurre a diferencia de TCP, después de varios intentos
Dicho de otra forma, Nmap continuamente estará enviando datagramas, y en base a las respuestas que pueda recibir o no
podrá intentar determinar si el puerto está filtrado, abierto, cerrado, o de vacaciones, viejo
Y algo importante, cuando yo te digo que el objetivo le responde a Nmap
o sea nosotros, con un mensaje ICMP, como recordarás, ICMP es un protocolo que no soporta datagramas
de protocolo UDP, ni segmentos de protocolo TCP, porque actúa en otra capa, a nivel de por ejemplo el modelo OSI
ya que como tal son mensajes de control, pero que igualmente son mensajes que Nmap puede recibir e interpretar
para en base a ello, en este caso, determinar el estado de un puerto. Y te digo, ten en cuenta que Nmap, como cualquier herramienta
no es 100% precisa. Nmap como tal es una de las mejores que existe, a nivel de barrido de puertos
pero aunque sea una de las mejores, no es que sea infalible, este compas también se puede equivocar
Por lo que en base a los resultados que te dé Nmap, tú también tienes que discernir, y tener pensamiento crítico
Y en este punto tú te preguntarás, ¿falta un estado de puerto? ¿Qué es cerrado o filtrado
Este como tal no lo incluí tanto en TCP como en DP, porque sí, puede aparecer
Y bueno, sería básicamente que Nmap, en base a la respuesta del objetivo, no sabe si el puerto está cerrado, o hay una mínima posibilidad de que esté filtrado
y que realmente está abierto. Pero como tal se utiliza principalmente para un tipo de escaneo
que se conoce como IPID IDLE, IP, ID, IDLE, no nos compliquemos
Que este básicamente es un tipo de escaneo que se le conoce como escaneo osioso, o sea como tú si fueras un escaneo
Y se realiza para puertos TCP, donde no se revela la dirección IP del atacante, o del auditor, no todo tiene que ser malo
Y aquí como tal usamos un host intermediario, conocido como zombie, que idealmente debería estar osioso
es decir, que no genere tráfico por su cuenta, de ahí que se llama escaneo osioso. Y como te digo, este estado de puerto suele pasar principalmente
cuando hacemos este tipo de escaneos. Por lo que con todo esto explicado, continuemos