Última actualización: octubre 16, 2022
4.5.2.10 Práctica de laboratorio: Explorar Nmap (versión para el instructor)
Nota para el instructor: El color de fuente rojo o las partes resaltadas en gris indican texto que aparece solo en la copia del instructor.
Topología
Objetivos
Parte 1: Explorar Nmap
Parte 2: Escanear para buscar puertos abiertos
Antecedentes / Escenario
El escaneo de puertos suele ser parte de un ataque de reconocimiento. Se pueden utilizar diversos métodos de escaneo de puertos. Estudiaremos cómo se emplea la utilidad Nmap. Nmap es una poderosa utilidad de red que se utiliza para detección de redes y auditorías de seguridad.
Recursos necesarios
- Máquina virtual CyberOps Workstation
- Acceso a Internet
Parte 1: Explorar Nmap
En esta parte utilizarán páginas del manual (o páginas man para abreviar) para saber más sobre Nmap.
El comando man [ programa |utilidad | función] muestras las páginas del manual asociadas con los argumentos. Las páginas de manuales son los manuales de referencia de los SO Unix y Linux. Estas páginas pueden tener las siguientes secciones, entre otras: Nombre, Sinopsis, Descripciones, Ejemplos y Ver también.
a. Inicien la VM CyberOps Workstation.
b. Abran un terminal.
c. En el cursor del terminal, introduzcan man nmap.
[analyst@secOps ~]$ man nmap
¿Qué es Nmap?
Nmap es una herramienta de exploración de red y seguridad o escaneo de puerto.
¿Para qué se utiliza Nmap?
Nmap se utiliza para escanear una red y determinar los hosts y servicios disponibles que se ofrecen en la red. Algunas de las características de nmap incluyen descubrimiento de host, escaneo de puertos y detección de sistema operativo. Nmap se puede usar comúnmente para auditorías de seguridad, para identificar puertos abiertos, inventario de red y encontrar vulnerabilidades en la red.
d. Cuando estén en la página man, podrán utilizar las teclas de las flechas hacia arriba y hacia abajo para desplazarse por las páginas. También pueden presionar la barra espaciadora para avanzar una página por vez.
Si quieren buscar el uso de un término o una frase específicos, introduzcan una barra diagonal (/) o un signo de interrogación (?) seguidos por el término o la frase. La barra diagonal busca hacia adelante en el documento, y el signo de interrogación lo hace hacia atrás. La tecla n los lleva a la siguiente coincidencia.
Escriba /example y presione INTRO. Así se buscará la palabra example hacia adelante en toda la página man.
e. En la primera instancia de example, vemos tres coincidencias. Presionen n para pasar a la siguiente coincidencia.
Miren el Ejemplo 1. ¿Cuál es el comando de nmap que se utilizó?
Nmap -A -T4 scanme.nmap.org
Utilicen la función de búsqueda para responder las siguientes preguntas.
¿Qué hace el switch -A?
-A: Permitir detección del sistema operativo, detección de versión, análisis de secuencia de comandos y traceroute
¿Qué hace el switch -T4?
-T4 para una ejecución más rápida al prohibir que el retraso de exploración dinámica exceda los 10 ms para los puertos TCP. -T4 se recomienda para una conexión de banda ancha o Ethernet decente.
f. Desplácense por la página para obtener más información sobre nmap. Escriban q cuando hayan terminado.
Parte 2: Escanear para buscar puertos abiertos
En esta parte utilizarán los switches del ejemplo en las páginas man de Nmap para escanear sus hosts locales, sus redes locales y un servidor remoto en scanme.nmap.org.
Paso 1: Escanear sus hosts locales
a. Si es necesario, abran un terminal en la VM. Introduzcan nmap -A -T4 localhost en el cursor. Dependiendo de la red local y de los dispositivos, el escaneo puede demorar entre unos segundos y algunos minutos.
[analyst@secOps Desktop]$ nmap -A -T4 localhost Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-01 17:20 EDT Nmap scan report for localhost (127.0.0.1) Host is up (0.000056s latency). Other addresses for localhost (not scanned): ::1 rDNS record for 127.0.0.1: localhost.localdomain Not shown: 996 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.0.8 or later | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rw-r--r-- 1 0 0 0 Apr 19 15:23 ftp_test 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) | ssh-hostkey: | 2048 f1:61:50:02:94:ba:f2:bd:be:93:cf:14:58:36:b8:32 (RSA) |_ 256 94:33:25:a5:0e:02:d7:bc:c8:b0:90:8a:a2:16:59:e5 (ECDSA) 23/tcp open telnet Openwall GNU/*/Linux telnetd 80/tcp open http nginx 1.12.0 |_http-server-header: nginx/1.12.0 |_http-title: Welcome to nginx! Service Info: Host: Welcome; OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 18.81 seconds
b. Revisen los resultados y respondan las siguientes preguntas.
¿Que puertos y servicios están abiertos?
21/tcp: ftp, 22/tcp: ssh, 23/tcp: telnet, 80/tcp: http
Para cada uno de los puertos abiertos, registren el software que está proporcionando los servicios.
ftp: vsftpd, ssh: OpenSSH, Telnet: Openwall, http: gninx
¿Cuál es el sistema operativo?
Linux
Paso 2: Escaneen sus redes.
Advertencia: Antes de utilizar Nmap en cualquier red, obtengan el permiso de sus dueños para continuar.
a. En el símbolo del sistema del terminal, introduzcan ifconfig para determinar cuáles son la dirección IP y la máscara de subred correspondiente a este host. En este ejemplo, la dirección IP correspondiente a esta VM es 192.168.1.19 y la máscara de subred es 255.255.255.0.
[analyst@secOps ~]$ ifconfig enp0s3: flags=4163/<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.19 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::997f:9b16:5aae:1868 prefixlen 64 scopeid 0x20<link> ether 08:00:27:c9:fa:a1 txqueuelen 1000 (Ethernet) RX packets 34769 bytes 5025067 (4.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10291 bytes 843604 (823.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 19 base 0xd000
Registren la dirección IP y la máscara de subred correspondientes a sus VM. ¿A qué red pertenecen sus VM?
Las respuestas pueden variar. Esta VM tiene una dirección IP de 192.168.1.19/24 y es parte de la red 192.168.1.0/24.
b. Para localizar otros hosts en esta red LAN, introduzca nmap -A -T4 dirección de red/prefijo. El último octeto de la dirección IP se debe reemplazar por un cero. Por ejemplo: en la dirección IP 168.1.19, el .19 es el último octeto. Por lo tanto, la dirección de red es 192.168.1.0. Al /24 se le lama prefijo y es la abreviatura de la máscara de red 255.255.255.0. Si sus VM tienen otra máscara de red, busquen una “Tabla de conversión CIDR” en Internet para encontrar sus prefijos. Por ejemplo: 255.255.0.0 sería /16. En este ejemplo se utiliza la siguiente dirección de red: 192.168.1.0/24.
Nota: Esta operación puede demorar, especialmente si tiene muchos dispositivos conectados a la red. En un entorno de prueba el escaneo puede demorar aproximadamente 4 minutos.
[analyst@secOps ~]$ nmap -A -T4 192.168.1.0/24 Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-01 17:13 EDT Nmap scan report for 192.168.1.1 Host is up (0.0097s latency). Not shown: 996 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp Bftpd 1.6.6 53/tcp open domain dnsmasq 2.15-OpenDNS-1 | dns-nsid: | id.server: |_ bind.version: dnsmasq-2.15-OpenDNS-1 80/tcp open tcpwrapped | http-auth: | HTTP/1.0 401 Unauthorized\x0D |_ Basic realm=NETGEAR WNR3500Lv2 |_http-title: 401 Unauthorized 5000/tcp open tcpwrapped Service Info: Host: 192.168.1.1 Nmap scan report for 192.168.1.19 Host is up (0.00016s latency). Not shown: 996 closed ports PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.0.8 or later | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rw-r--r-- 1 0 0 0 Apr 19 15:23 ftp_test 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) | ssh-hostkey: | 2048 f1:61:50:02:94:ba:f2:bd:be:93:cf:14:58:36:b8:32 (RSA) |_ 256 94:33:25:a5:0e:02:d7:bc:c8:b0:90:8a:a2:16:59:e5 (ECDSA) 23/tcp open telnet Openwall GNU/*/Linux telnetd 80/tcp open http nginx 1.12.0 |_http-server-header: nginx/1.12.0 |_http-title: Welcome to nginx! Service Info: Host: Welcome; OS: Linux; CPE: cpe:/o:linux:linux_kernel <some output omitted> Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 256 IP addresses (5 hosts up) scanned in 34.21 seconds
¿Cuántos hosts están activos?
Las respuestas pueden variar.
Desde sus resultados de Nmap, generen una lista de las direcciones IP de los hosts que se encuentran en la misma red LAN que sus VM. Generen una lista de los servicios que están disponibles en los hosts detectados.
Las respuestas pueden variar.
Paso 3: Escanear un servidor remoto
a. Abran un navegador web y diríjanse a nmap.org. Lean el mensaje en pantalla. ¿Cuál es el propósito de este sitio?
Este sitio permite a los usuarios aprender sobre Nmap y probar la instalación de Nmap.
b. En el cursor del terminal introduzcan nmap -A -T4 scanme.nmap.org.
[analyst@secOps Desktop]$ nmap -A -T4 scanme.nmap.org Starting Nmap 7.40 ( https://nmap.org ) at 2017-05-01 16:46 EDT Nmap scan report for scanme.nmap.org (45.33.32.156) Host is up (0.040s latency). Other addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f Not shown: 992 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA) | 2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA) |_ 256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA) 25/tcp filtered smtp 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) |_http-server-header: Apache/2.4.7 (Ubuntu) |_http-title: Go ahead and ScanMe! 135/tcp filtered msrpc 139/tcp filtered netbios-ssn 445/tcp filtered microsoft-ds 9929/tcp open nping-echo Nping echo 31337/tcp open tcpwrapped Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 23.96 seconds
c. Revisen los resultados y respondan las siguientes preguntas.
¿Que puertos y servicios están abiertos?
22/tcp: ssh, 9929/tcp: n ping-echo, 31337/tcp: tcpwrapped, 80/tcp: http
¿Que puertos y servicios están filtrados?
135/tcp: msrpc, 139/tcp: netbios-ssn, 445/tcp: microsoft-ds, 25/tcp: smtp
¿Cuál es la dirección IP del servidor?
Dirección IPv4: 45.33.32.156 dirección IPv6: 2600:3c01::f03c:91ff:fe18:bb2f
¿Cuál es el sistema operativo?
Ubuntu Linux
Reflexión
Nmap es una poderosa herramienta para la exploración y administración de redes. ¿Qué beneficios puede aportar Nmap a la seguridad de la red? ¿De qué manera un atacante puede utilizar Nmap como herramienta maliciosa?
Nmap se puede usar para escanear una red interna en busca de puertos abiertos específicos para identificar el alcance de una violación de seguridad. También se puede usar para inventariar una red para garantizar que todos los sistemas estén probablemente actualizados en relación con las cuestiones de seguridad. Por otro lado, nmap se puede usar para reconocimiento, para determinar puertos abiertos y otra información sobre la red.