Las 3 mejores distribuciones Linux para principiantes
Conoce las mejores distribuciones linux para dar los primeros pasos en este mundo de software libre
En este artículo explicaremos el uso básico de nmap para realizar el rastreo de puertos abiertos.
Tabla de contenidos
Nmap es uno de los escáneres de red más usados en la actualidad , por su eficacia, sencillez de uso y los escasos recursos que necesita para realizar su función. Principalmente realiza escaneos de puertos abiertos en un sistema, pero no es su única función como veremos a continuación.
Será un pilar fundamental si estamos al cargo de un servidor y queremos ver por dónde podría accederse, o lo que viene siendo lo mismo, si somos responsables de la seguridad del éste. Se trata de una de las primeras herramientas que se usan al realizar una auditoría, ya que es rápida y fiable para una valoración inicial.
Para estas pruebas he preparado tres equipos (Ubuntu server 15.04, CentOS 7 y Ubuntu 15.10), siendo Ubuntu 15.10 la distribución desde la que instale Nmap y realice los escaneos.
Ubuntu Server 15.04 > Hostname = gotei13 > IP = 192.168.1.135
CentOS 7 > Hostname = rukongai = IP = 192.168.1.136
Ubuntu Desktop 15.10 > Hostname = seretei > IP = 192.168.1. 139
Intentaré abarcar todo lo posible de esta utilidad en las siguientes líneas, así que vamos a ello.
Existente en la mayoría de repositorios de las distribuciones más extendidas, no es que tenga una nomenclatura muy compleja para ubicar su paquetería:
sudo yum install nmap
à Para sistemas basados en Red Hat.
sudo apt-get install nmap
à Para sistemas basados en Debian
Como decía y veréis, una de las principales razones del éxito de esta herramienta es su sencillez de uso, y aquí un ejemplo de cómo se conforma un escaneo:
nmap [tipo de escaneo] [opciones] {objetivo, dirección o rango}
La versatilidad de Nmap nos ofrece la opción de realizar el escaneo tanto mediante hostname como por IP, por lo que las dos líneas de comando siguiente tendrán el mismo resultado:
nmap gotei13
nmap 192.168.1.135
Para obtener más información o detalle en el resultado del escaneo, usaremos el argumento u opción ‘-v’:
nmap –v 192.168.1.135
Para recopilar información de varios objetivos a la vez sólo deberemos pasarle al comando dichos objetivos separados por espacios:
nmap 192.168.1.135 192.168.1.136 192.168.1.139
Podremos obtener los puertos abiertos de cada equipo (encendido, se entiende) de una subred mediante el siguiente comando:
nmap 192.168.1.*
Otro ejemplo de la versatilidad de esta herramienta es el hecho de poder realizar un escaneo a varios equipos objetivos únicamente usando el último octeto de su dirección IP. En este caso la separación de estos octetos se realizará mediante comas:
nmap 192.168.1.135,136,139
Mediante una de las opciones que nos ofrece nmap, podremos realizar el escaneo de varios host o equipos desde un fichero en el que los tenemos almacenados. Muy útil si vamos tomando notas de varios equipos que queremos escanear y realizar dicho escaneo en un momento determinado (por ejemplo en un momento de máxima actividad o por el contrario en un momento donde la carga de trabajo sea mínima).
cat > objetivosnmap.txt
nmap –iL objetivosnmap.txt
En el siguiente ejemplo escanearemos un rango de direcciones, establecidos de la siguiente forma:
nmap 192.168.1.135-140
Realizando el escaneo de una subred completa tal y como vimos anteriormente, podemos excluir algunos equipos de dicho mapeado usando el argumento ‘- - exclude’.
nmap 192.168.1.* --exclude 192.168.1.137
Para obtener información del sistema operativo de un host usaremos la opción –O (también podemos usar --osscan-guess):
nmap –O 192.168.1.135
Con Nmap también podremos saber qué sistema operativo gobierna el equipo objetivo así como el traceroute de sus paquetes.
nmap –A 192.168.1.136
Con el siguiente comando comprobaremos si el objetivo tiene activo algún filtrado de paquetes o Firewall:
nmap –sA 192.168.1.136
Con Nmap podemos encontrar qué equipos están encendidos en nuestra red, evitando (en caso de tratarse una red muy extensa) largas esperas si aplicásemos el mapeado a toda la red o que incluyese otras características.
nmap –sP 192.168.1.*
La opción ‘-F’ nos permitirá realizar un escaneo rápido por los puertos más usados comúnmente.
nmap -F 19.168.1.136
Si por alguna razón queremos obtener la lista de puertos ordenados en orden creciente, usaremos la opción ‘-r’ sobre el escaneo:
nmap –r 192.168.1.136
Con Nmap podemos listar todas las interfaces de red del equipo desde el que realizamos el mapeado, así como las rutas que siguie:
nmap --iflist
Con la opción –p podemos decirle a Nmap qué puerto queremos mapear sobre el / los objetivo / s.
nmap –p 80 192.168.1.135
También podemos pasar en lugar del número de puerto, el tipo de puerto o número. En el siguiente ejemplo escaneamos dos puertos TCP:
nmap –p T:8888,21 192.168.1.136
Al igual que usamos el protocolo TCP en el comando anterior, podemos especificar usar UDP de la siguiente forma:
nmap -p U:21,80 seretei
Otra forma de especificar un escaneo haciendo uso de UDP es aplicando el siguiente comando:
nmap –sU 21 seretei
La sintaxis para definir varios puertos sobre los que centrar el mapeado ya la hemos visto en ejemplos anteriores, indicándolos antes del target u objetivo, separados por comas.
nmap –p 22,80,443 192.168.1.135
En lugar de especificar unos puertos en concreto, podemos escanear un rango de los mismos, por si algún servicio ha sido redirigido por un puerto diferente al que se define por defecto para un servicio.
nmap –p 21-450 192.168.1.136
Con el siguiente comando obtendremos la versión actual del servicio que corre por cada puerto que encontremos que responda. Muy útil si estamos realizando un escáner de vulnerabilidades o un control de versiones para implantar la misma versión de un servicio o aplicación en todos los equipos de la red.
nmap –sV 192.168.1.136
Cuando se realiza una comunicación cliente servidor, se produce la denominada negociación en tres pasos. De inicio el cliente envía un paquete Syn al servidor a un puerto determinado. Si este puerto está abierto y tiene un servicio corriendo detrás éste responderá con un paquete Syn/ACK. Para terminar de establecer la comunicación el cliente devolverá al servidor otro paquete, en esta ocasión ACK.
Pues dependiendo de qué “lado” queremos realizar el mapeado usaremos TCP ACK (PA) o TCP Syn (Ps), para hacernos pasar por servidor o cliente, respectivamente.
nmap –PA 192.168.1.136
nmap –PS 192.168.1.135
Al igual que usamos el comando anterior para escanear todos los puertos, podemos aplicarlo a lo visto anteriormente para obtener resultados únicamente de puertos específicos.
nmap –PA –p 21,22,125 192.168.1.139
nmap –PS –p 21,22,8080 192.168.1.135
Con la siguiente línea de comando realizaremos un examen exhaustivo sobre el objetivo, aplicando todos los tipos de mapeado que contiene la aplicación para un informe detallado. La desventaja es la lentitud al tener que probar todas las combinaciones.
nmap –sS 192.168.1.136
Para enviar un paquete de solicitud de respuesta (Syn) a todos los puertos de un objetivo, con lo que obtendremos respuesta incluso de aquellos puertos que mediante firewall rechazasen contestar a un paquete ping, por ejemplo, usaremos la siguiente orden:
nmap –sT 192.168.1.136
También podremos realizar un mapeado ARP a base de usar el protocolo ping sobre la IP objetivo, mediante la siguiente línea:
nmap –PR 192.168.1.136
Considerado uno de los métodos de mapeado más intrusivos, se centra primeramente en escanear la red en busca de equipos activos, tras lo que realizará diversas peticiones, ajustándolas en tipo a los servicios más usados en cada puerto, para obtener mayor probabilidad de respuesta y un informe más completo y detallado de los equipos objetivo.
nmap –sN 192.168.1.135
A continuación os dejo uno de los mapeados que se pueden realizar sobre una instalación, abarcando todas las redes (de una instalación por defecto con IPs de clase C), equipos y puertos que se encuentren activos:
nmap –sS –n –v –O –p 1-65535 192.168.1.0/24
Si el resultado obtenido es demasiado extenso para revisarlo sobre la consola o si queremos almacenarlo para comparar con anteriores o posteriores escaneos, podemos pasar la salida a un archivo para tenerlo disponible sin necesidad de sobrecargar la red con nuevas peticiones llendo y viniendo.
nmap 192.168.1.135 192.168.1.136 > nmap01.txt
Para comprobar qué versión de Nmap tenemos instalada y estamos usando, podemos emplear la opción ‘–V’:
nmap –V
Estos son los comandos más usados a la hora de realizar escaneos de puertos y servicios en equipos y redes. Por supuesto no son todos, os animo a que reviséis el manual de la aplicación (man nmap) para que busquéis las opciones que mejor se ajusten a lo que buscáis encontrar. Recordad suscribiros y seguirnos en las redes sociales .
También te puede interesar
Conoce las mejores distribuciones linux para dar los primeros pasos en este mundo de software libre
Hablamos de las diferentes herramientas que tenemos a nuestra disposición para el filtrado de paquetes en sistemas Linux, como son iptables, nftables y...
Consigue comprender las características principales de la pila de protocolos de Internet TCP/IP para ser capaz de configurar...