Nmap (-top-ports)
Nmap cuenta con diferentes opciones para escanear puertos específicos, una de ellas es la opción –top-ports que permitirá evaluar los puertos más comunes en un dispositivo. Como se ha mencionado, de manera predeterminada, y si no se utilizan opciones específicas, Nmap ejecutará el escaneo en los 1000 puertos de cada protocolo con mayor probabilidad de encontrar abiertos con base en el archivo nmap-services. Tal y como se ha expuesto en esta entrada Nmap presentación de resultados.
Sin embargo, para realizar escaneos limitando esta cantidad es posible utilizar la opción –top-ports. Por ejemplo, para evaluar los 20 puertos más probables de encontrar abiertos podemos utilizar el comando de la siguiente manera:
sudo nmap –top-ports 20 [ip_objetivo]
Y se obtendrán los siguiente resultados:
Como podemos observar, Nmap selecciona los puertos con base en su probabilidad de estar abierto. Se ha mencionado que Nmap utiliza el archivo de nmap-services para hacer esta determinación:
Nota: Para observar el archivo de Excel con el archivo nmap-services filtrado por protocolos se puede hacer clic en el siguiente enlace: nmap-services.xlsx. Se sugiere además consultar la entrada correspondiente Nmap presentación de resultados
Será preciso hacer notar que con este comando, de manera predeterminada, se estarán realizando las pruebas en los puertos con servicios que utilizan TCP.
Para que el comando se enfoque en los servicios que utilizan el protocolo UDP podríamos agregar la opción –sU (escaneo UDP). Por ejemplo, para probar el top 10 de puertos con servicios que utilicen el protocolo UDP utilizaríamos:
sudo nmap –sU –top-ports 10 [ip_objetivo]
De esta manera, se presentarán los resultados de las pruebas de aquellos puertos que utilizan UDP:
¿Por qué resultaría conveniente utilizar este comando?
Porque se reducirá el tiempo, recursos y paquetes que el programa utilizará para determinar si el dispositivo presenta algún servicio expuesto.
Desde una perspectiva de ataque es posible que se desee limitar la cantidad de paquetes que se envía, pues al enviar pruebas a 1000 puertos como lo hace el escaneo básico es más probable de levantar sospechas.
Escaneo en puertos específicos
Por otro lado, es posible que se desee conocer el estado de un puerto o de un grupo de puertos en específico. Esto también es posible utilizando la opción:
sudo nmap –p [número_puerto] [ip_objetivo]
O bien, colocando un conjunto de puertos para su análisis:
sudo nmap –p [puerto1, puerto2, puerto3] [ip_objetivo]
Por ejemplo:
En esta opción, podemos observar como el conjunto de los puertos que se desean escanear se separan por medio de comas después de la opción –p.
Conocer cómo utilizar estas opciones agregará versatilidad a nuestros escaneos y se obtendrán resultados específicos según los servicios que estemos intentando identificar.