Nmap significa "Mapeador de red", es una de las mejores utilidades de código abierto disponibles en la actualidad para el descubrimiento de redes y la auditoría de seguridad.
Nmap envía paquetes y analiza la respuesta que obtiene para descubrir hosts y servicios en una red informática. Es uno de los escáneres de puertos más utilizados en la actualidad para ayudarle a encontrar puertos abiertos y detectar riesgos de seguridad en una red
Este es el primer paso para que un atacante obtenga información sobre la red de objetivos e identifique una forma potencial de lanzar un ataque.Un atacante conocerá los servicios que se ejecutan en los puertos abiertos junto con su versión, lo que ayudará a determinar las vulnerabilidades de la versión correspondiente
Se le conoce popularmente como la navaja suiza del administrador de sistemas debido a su capacidad para servir a múltiples propósitos: sondeo de redes informáticas, descubrimiento de hosts, escaneado de puertos, detección de vulnerabilidades, detección de sistemas operativos, detección de versiones, etc. Su utilidad multiplataforma
Si no le gusta trabajar en la interfaz de línea de comandos, también está disponible en una GUI - Zenmap, la GUI oficial de Nmap Security Scanner
Instalación
Demostraremos la instalación de Nmap en dos distribuciones de Linux de uso común - CentOS y Ubuntu. Está disponible como paquete en el repositorio de la mayoría de las distribuciones de Linux
Instalación de Nmap en CentOS 6/7.x
- Para instalar el paquete Nmap en CentOS, ejecute el comando:
sudo yum install nmap
$sudo yum install nmap
Plugins cargados: fastestmirror, security
Configuración del proceso de instalación
Carga de velocidades de réplica desde el archivo de host en caché
* base: mirror.vcu.edu
* centos-sclo-rh: mirror.cc.columbia.edu
* centos-sclo-sclo: mirror.rackspace.com
* epel: reflector.westga.edu
* extras: centos5.zswap.net
* updates: mirror.jaleco.com
Resolviendo dependencias
-->
Ejecutando comprobación de transacciones
--->
El paquete nmap.x86_64 2:5.51-6.
el6 será instalado
-->
Finalizada la resolución de dependencias
Dependencias resueltas
======================================================================================================================================================================================================================================================
Paquete Arch Versión Tamaño del repositorio
======================================================================================================================================================================================================================================================
Instalando: xml-ph-0006@deepl.interna51-6.el6 base 2.8 M
Resumen de la transacción
======================================================================================================================================================================================================================================================
Instalación de 1 paquete(s)
Tamaño total de la descarga: 2.8 M
Tamaño instalado: 9.7 M
¿Está bien [y/N]
- El sistema le pedirá que confirme y complete la instalación. Escriba
y
y pulso Intro
Is this ok [y/N]: y
Downloading Packages:
nmap-5.51-6.el6.x86_64.rpm | 2.8 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:nmap-5.51-6.el6.x86_64 1/1
Verifying : 2:nmap-5.51-6.el6.x86_64 1/1
Instalado:
nmap.x86_64 2:5.51-6.el6
¡Completado!
$
- Compruebe si se ha instalado correctamente y la versión instalada, ejecute el siguiente comando.
$nmap -version
Nmap
versión 5.51 ( http://nmap.org )
Instalación de Nmap en CentOS 8.x
- Utilizaremos DNF para instalar.
$sudo dnf install nmap -y
Última comprobación de caducidad de metadatos: 0:58:54 ago on Fri 18 Sep 2020 07:04:54 PM UTC.
Dependencias resueltas.
======================================================================================================================================================================================================================================================
Arquitectura del paquete Versión Tamaño del repositorio
====================================================================================================================================================================================================================================================== xml-ph-0005@dee
8 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 8,0 MB/s | 6,1 MB 00:00
Ejecutando comprobación de transacción
Comprobación de transacción realizada con éxito.
Ejecutando comprobación de transacción
Comprobación de transacción realizada con éxito.
Ejecutando transacción
Preparando
Con la opción -y
, DNF/YUM instalará el paquete especificado sin pedir confirmación
DNF(Dandified Yum) es el nuevo gestor de paquetes de RHEL/CentOS 8 que puede utilizarse para instalar paquetes. Es la versión de próxima generación de YUM( Yellowdog Updater Modified) y pretende ser un sustituto de YUM en los sistemas basados en RPM
- Y, para verificar la instalación.
$nmap -version
Nmap
versión 7.70 ( https://nmap.org )
Plataforma: x86_64-redhat-linux-gnu
Compilado con: liblua-5.3.3 openssl-1.1.1 libpcre-8.42 libpcap-1.9.0-PRE-GIT nmap-libdnet-1.12 ipv6
Compilado sin: libssh2 libz
Motores nsock disponibles: epoll poll select
Ubuntu
- Ejecute el siguiente comando para asegurarse de que todos los paquetes están actualizados en el servidor Ubuntu.
sudo apt-get update
- Ejecute el siguiente comando para instalar
$sudo apt-get install nmap -y
Leyendo listas de paquetes... Hecho
Construyendo árbol de dependencias
Leyendo información de estado... Hecho
El siguiente paquete se instaló automáticamente y ya no es necesario:
libnuma1
Utilice 'sudo apt autoremove' para eliminarlo.
Se instalarán los siguientes paquetes adicionales:
libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap-common
Paquetes sugeridos:
liblinear-tools liblinear-dev ncat ndiff zenmap
Se instalarán los siguientes paquetes NUEVOS:
libblas3 liblinear4 liblua5.3-0 lua-lpeg nmap nmap-common
0 actualizados, 6 recién instalados, 0 para eliminar y 30 no actualizados.
Necesita obtener 5669 kB de archivos.
Tras esta operación, se utilizarán 26,8 MB de espacio adicional en disco.
Obtener:1 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/main amd64 libblas3 amd64 3.9.0-1build1 [142 kB]
Get:2 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 liblinear4 amd64 2.3.0 dfsg-3build1 [41.7 kB]
Get:3 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/main amd64 liblua5.3-0 amd64 5.3.3-1.1ubuntu2 [116 kB]
Get:4 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 lua-lpeg amd64 1.0.2-1 [31.4 kB]
Get:5 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 nmap-common all 7.80 dfsg1-2build1 [3676 kB]
Get:6 http://us-west1.gce.archive.ubuntu.com/ubuntu focal/universe amd64 nmap amd64 7.80 dfsg1-2build1 [1662 kB]
Fetched 5669 kB in 1s (7683 kB/s)
Selecting previously unselected package libblas3:amd64.
(Leyendo base de datos ... 62831 archivos y directorios instalados actualmente.)
Preparando para desempaquetar .../0-libblas3_3.9.0-1build1_amd64.deb ...
Desempaquetando libblas3:amd64 (3.9.0-1build1) ...
Seleccionando el paquete liblinear4:amd64 previamente no seleccionado.
Preparando para desempaquetar .../1-liblinear4_2.3.0 dfsg-3build1_amd64.deb ...
Desempaquetando liblinear4:amd64 (2.3.0 dfsg-3build1) ...
Seleccionando el paquete no seleccionado previamente liblua5.3-0:amd64.
Preparando el desempaquetado de .../2-liblua5.3-0_5.3.3-1.1ubuntu2_amd64.deb ...
Desempaquetando liblua5.3-0:amd64 (5.3.3-1.1ubuntu2) ...
Seleccionando el paquete no seleccionado previamente lua-lpeg:amd64.
Preparando el desempaquetado de .../3-lua-lpeg_1.0.2-1_amd64.deb ...
Desempaquetando lua-lpeg:amd64 (1.0.2-1) ...
Seleccionando el paquete no seleccionado previamente nmap-common.
Preparando el desempaquetado de .../4-nmap-common_7.80 dfsg1-2build1_all.deb ...
Desempaquetando nmap-common (7.80 dfsg1-2build1) ...
Seleccionando el paquete nmap no seleccionado previamente.
Preparando el desempaquetado de .../5-nmap_7.80 dfsg1-2build1_amd64.deb ...
Desempaquetando nmap (7.80 dfsg1-2build1) ...
Instalando lua-lpeg:amd64 (1.0.2-1) ...
Instalando libblas3:amd64 (3.9.0-1build1) ...
update-alternatives: usando /usr/lib/x86_64-linux-gnu/blas/libblas.so.3 para proporcionar /usr/lib/x86_64-linux-gnu/libblas.so.3 (libblas.so.3-x86_64-linux-gnu) en modo automático
Configuración de nmap-common (7.80 dfsg1-2build1) ...
Configuración de liblua5.3-0:amd64 (5.3.3-1.1ubuntu2) ...
Configuración de liblinear4:amd64 (2.
3.0
dfsg-3build1) ...
Configurando nmap (7.80 dfsg1-2build1) ...
Procesando triggers para man-db (2.9.1-1) ...
Procesando triggers para libc-bin (2.31-0ubuntu9) .
.
- Y, ejecute
-version
para asegurarse de que está instalado.
$nmap -version
Nmap
versión 7.80 ( https://nmap.org )
Plataforma: x86_64-pc-linux-gnu
Compilado con: liblua-5.3.3 openssl-1.1.1d nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.9.1 nmap-libdnet-1.12 ipv6
Compilado sin:
Motores nsock disponibles: epoll poll select
Ejemplo de uso de Nmap en tiempo real
Veremos algunos ejemplos que ilustran el uso del comando Nmap
Escaneo de puertos abiertos
Sintaxis para nmap
nmap [Tipo(s) de escaneo] [Opciones] {especificación del objetivo}
La especificación del objetivo puede ser un nombre de host, una dirección IP, un nombre de dominio, una red, una subred, etc.
Escanear un dominio
nmap scanme
.nmap.org
$nmap scanme.nmap.org
Iniciando Nmap 7.80 ( https://nmap.org ) en 2020-09-18 20:14 UTC
Informe de escaneo de Nmap para scanme.nmap.org (45.33.32.156)
El host está activo (latencia de 0,025s).
Otras direcciones para scanme.nmap.org (no escaneadas): 2600:3c01::f03c:91ff:fe18:bb2f
No se muestra: 995 puertos cerrados
PUERTO ESTADO SERVICIO
22/tcp abierto ssh
25/tcp filtrado smtp
80/tcp abierto http
9929/tcp abierto nping-echo
31337/tcp abierto Elite
Nmap realizado: 1 dirección IP (1 host up) escaneada en 1,73 segundos
Sin banderas, Nmap hará, pordefecto
- Escaneará los 1000 puertos más utilizados (la lista de estos puertos puede modificarse en el archivonmap-services ).
- Nmapcon intentará una conexión TCP SYN a los puertos cuando se ejecute con un usuario privilegiado.
- Envíe solicitudes de eco ICMP a los hosts objetivo para confirmar si está vivo o no.
- Realizará una búsqueda inversa DNS para obtener el nombre del host.
Podemos ver cuatro puertos abiertos, un puerto filtrado y 995 puertos cerrados en la salida mostrada arriba. Un puerto que no puede ser determinado por Nmap si está cerrado o abierto, lo que puede deberse a un cortafuegos, está filtrado
En el ejemplo mostrado arriba, escaneamos scanme.nmap.com, que se ha autorizado a sí mismo para ser escaneado
nmap -F scanme.nmap
.org
También puede utilizar la opción de escaneo rápido -F
para escanear sólo los 100 puertos más utilizados de cada protocolo que se le pida escanear
Escanear dirección IP
nmap 192
.168.0.7
$nmap 192.168.0.7
Iniciando Nmap 7.80 ( https://nmap.org ) en 2020-09-18 20:12 UTC
Informe de escaneo Nmap para server-1.geekflare.com (192.168.0.7)
El host está activo (latencia de 0.034s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Nmap realizado: 1 dirección IP (1 host up) escaneada en 0,
62 segundos
Escanear una subred
nmap 192
.168.0.0/24
$nmap 192.168.0.0/24
Iniciando Nmap 7.80 ( https://nmap.org ) en 2020-09-18 20:15 UTC
Informe de escaneo Nmap para server-1.geekflare.com (192.168.0.7)
El host está activo (latencia de 0.044s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Informe de escaneo Nmap para server-2.geekflare.com (192.168.0.8)
El host está activo (latencia de 0.046s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Informe de escaneado Nmap para server-3.geekflare.com (192.168.0.9)
El host está activo (latencia de 0.043s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Informe de escaneado Nmap para server-4.geekflare.com (192.168.0.10)
El host está activo (latencia de 0.044s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Nmap
realizado: 256 direcciones IP (4 hosts up) escaneadas en 4.67 segundos
Escaneando múltiples anfitriones
Escanear múltiples anfitriones es fácil
- Añada los nombres de host o direcciones IP que desee escanear uno tras otro en una fila
nmap 192.168.0.1 192.168.0.3 192.168.0.4
- Utilizar el coma
El comando anterior también podría escribirse como sigue para evitar mencionar de nuevo la direcciónIP
nmap 192.168.0.1,3,
4
- Utilice guiones (-) para especificar el rango de direcciones IP como se muestra a continuación
nmap 192
.168.0.
1-20
El comando anterior escaneará los primeros veinte hosts de la subred
- Utilice comodines para escanear toda la subred -
nmap 192.168.0.
*
El comando anterior escaneará las 256 direcciones IP de la subred
- Leer hosts de un archivo
Puede especificar todos los hosts que desea escanear en un archivo y utilizar el siguiente comando -
nmap -iL /tmp/archivo
anfitrión
Ejemplo de archivo de hosts -
cat /tmp/hostfile
192.168.0.1,2,4
scanme.nmap.org
10.0.0-255.1-254
- Excluir hosts de la búsqueda
Si lo desea, puede excluir algunos anfitriones de una búsqueda en grupo
nmap 192.168.0.* --excluir 192.168.0.2
nmap
192.168.0.1-40 --excluir 192.168.0.5,6,7
También puede excluir hosts de su búsqueda utilizando el indicador -excludefile
nmap 192
.168.0.* --excludefile /tmp/hosts.txt
Selección de puertos de Nmap
Para escanear puertos específicos en un sistema, en lugar de los 1000 puertos más utilizados por defecto, podría utilizar el parámetro -p
.
nmap -p 22
,80,443 192.168.0.2-50
$nmap -p 22,80,443 192.168.0.2-50
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 20:18 UTC
Informe de escaneo Nmap para server-1.geekflare.com (192.168.0.7)
El host está activo (latencia de 0.00018s).
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
443/tcp closed https
Informe de escaneado Nmap para server-2.geekflare.com (192.168.0.8)
El host está arriba (latencia de 0.00094s).
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
443/tcp closed https
Informe de escaneado Nmap para server-3.geekflare.com (192.168.0.9)
El host está arriba (latencia de 0.00092s).
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
443/tcp closed https
Informe de escaneado Nmap para server-4.geekflare.com (192.168.0.10)
El host está activo (latencia de 0,00089s).
PORT STATE SERVICE
22/tcp open ssh
80/tcp closed http
443/tcp closed https
Nmap realizado: 49 direcciones IP (4 hosts arriba) escaneadas en 1,65 segundos
El comando anterior escaneará sólo los puertos 22, 80 y 443 en las direcciones IP mencionadas
nmap -p 1-500 192.168.0.2
El comando anterior escaneará los puertos 1 a 500 en el host mencionado
nmap
-p-
192.168.0.2
El uso de -p-
escaneará los 65535 puertos
Redirigir la salida a un archivo
Por defecto, Nmap imprime la salida en el terminal, pero cuando se escanea una red grande, es mejor guardar los resultados en un archivo para un mejor análisis. Puede guardar los resultados de sus escaneos en diferentes formatos de archivo
Formato de salida normal [-oN]
El modo normal le dará la salida tal y como la ve en su pantalla
nmap -oN /tmp/scanResult.txt 192.168.0.0/24
Formato de salida XML [-oX]
Podemos exportar los resultados en formato XML. Es uno de los formatos de archivo más utilizados, ya que la mayoría de los lenguajes de programación disponen de bibliotecas para el análisis sintáctico de XML
nmap -oX /tmp/scanResult.xml 192.168.0.0/24
Formato de salida Grepable [-oG]
Obtenemos la salida en un formato muy fácil de utilizar con el comando grep. La salida podría alimentarse posteriormente a utilidades de línea de comandos como - awk, grep, sed para realizar operaciones adicionales según sea necesario
nmap -oG /tmp/scanResult.txt 192.168.0.0/24
Salida de script kiddie [-oS]
Utiliza el "leet", sustituyendo las letras por sus representaciones numéricas visualmente parecidas. Este formato de salida no es útil para ningún caso en particular y se incluyó sólo como broma
nmap -oS
/tmp/scanResult scanme.nmap.org
$nmap -oS /tmp/scanResult scanme.nmap.org
Starting Nmap 7.70 ( https://nmap.org ) at 2020-09-18 20:34 UTC
Informe de escaneo de Nmap para scanme.nmap.org (45.33.32.156)
El host está activo (latencia de 0.053s).
Otras direcciones para scanme.nmap.org (no escaneadas): 2600:3c01::f03c:91ff:fe18:bb2f
No se muestra: 995 puertos cerrados
PUERTO ESTADO SERVICIO
22/tcp abierto ssh
25/tcp filtrado smtp
80/tcp abierto http
9929/tcp abierto nping-echo
31337/tcp abierto Elite
Nmap realizado: 1 dirección IP (1 host up) escaneada en 2,12 segundos
$
$cat /tmp/scanResult
$tart|Ng Nmap 7.70 ( httpz://NmAp.oRg ) aT 2020-09-18 20:34 UTc
Nmap $can rEp0rt f0r Scanm3.nmap.0rg (45.33.32.156)
H0st iS up (0.053s lat3ncy).
Other addreSSes for $canm3.nmap.0Rg (n0t scanN3D): 2600:3c01::f03c:91ff:fE18:bb2f
Not sh0wn: 995 clOs3d p0rtS
P0rT $TAT3 S3RV|C3
22/TCp op3n Ssh
25/tcp f1ltEr3d $mtp
80/tCp op3n http
9929/tcp Open Nping-ech0
31337/tCP 0pen 3litE
Nmap d0n3: 1 Ip addRe$s (1 hO$t up) $CANN3d In 2.12 s3C0nDz
Varios tipos de exploración Nmap
Escaneo de conexión TCP [-sT]
Esta es la forma básica de escaneo TCP y no implica sigilo. Intenta establecer una conexión completa con los puertos del rango especificado con un intercambio completo deapretón de manos de tres vías (SYN -> SYN/ACK -> ACK). Una conexión exitosa indica un puerto abierto.
Este es el tipo de escaneo por defecto que utiliza Nmap cuando lo ejecuta un usuario sin privilegios
nmap -sT 192
.168.0.1
$nmap -sT 192.168.0.7
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 19:52 UTC
Informe de escaneo de Nmap para server-1.geekflare.com (192.168.0.7)
El host está activo (latencia de 0,00042s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Nmap realizado: 1 dirección IP (1 host up) escaneada en 0,
09 segundos
Escaneo TCP SYN [-sS]
También conocido como escaneo semiabierto, es más sigiloso que el escaneo de conexión TCP ya que nunca establece una conexión completa. El escaneo TCP SYN es el tipo de escaneo por defecto cuando se ejecuta como usuario con privilegios, y los usuarios sin privilegios no tendrán permiso para ejecutar este escaneo ya que requiere privilegios para el socket raw / paquete raw
nmap
-sS 192.168.0.1
$sudo nmap -sS 192.168.0.7
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 19:51 UTC
Informe de escaneo Nmap para server-1.geekflare.com (192.168.0.7)
El host está activo (latencia de 0.00022s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
22/tcp open ssh
Nmap realizado: 1 dirección IP (1 host up) escaneada en 1,50
segundos
$nmap -sS 192.168.0.1
Ha solicitado un tipo de escaneo que requiere privilegios de root.
¡ALIR!
Como pudimos ver en el ejemplo anterior, no se pudo ejecutar un escaneo SYN con usuarios sin privilegios
Escaneo UDP [-sU]
Si no se especifica ninguna bandera, por defecto, Nmap escanea los puertos TCP. Para escanear puertos UDP debemos utilizar la bandera -sU
como se muestra a continuación
$sudo nmap -sU 192.168.0.8
Starting Nmap 7.70 ( https://nmap.org ) at 2020-09-18 19:44 UTC
Informe de escaneo de Nmap para server-2.geekflare.com (192.168.0.8)
El host está activo (latencia de 0.00036s).
No se muestra: 999 puertos cerrados
PORT STATE SERVICE
5355/udp open|filtered llmnr
Nmap realizado: 1 dirección IP (1 host up) escaneada en 999,27
segundos
Ping Scan [-sn]
Esto es muy útil cuando sólo necesita saber si el host está vivo o no y no necesita información sobre los puertos abiertos en los hosts
A menudo se denomina "barrido Ping". En versiones anteriores de Nmap, -sn se conocía como -sP
nmap -sn 192
.168.1.0/24
$nmap -sn 192.168.1.0/24
Iniciando Nmap 7.70 ( https://nmap.org ) a las 2020-09-18 19:39 UTC
Informe de escaneo Nmap para server-7.geekflare.com (192.168.1.2)
El host está activo (latencia de 0.033s).
Informe de escaneo Nmap para server-10.
geekflare.com (192.168
.1.3)
El host está activo (latencia de 0,035 s).
Informe de escaneado Nmap para server-13.geekflare.com (192.168.1.4)
El host está activo (latencia de 0,10 s).
Nmap
realizado: 256 direcciones IP (3 hosts activos) escaneadas en 9,85 segundos
En el ejemplo anterior, podemos ver que, en la subred de destino especificada, de 256 direcciones IP escaneadas, sólo tres hosts están activos
nmap -sn -n -v 192.168.0.0/24 -oG - | grep -iv down
–sn
–>
Escaneo ping
–n
–>
Ignorar la resolución DNS y acelerar el escaneo
–v
–>
Añade verbose para obtener más información del escaneo
–oG
–>
Proporciona la salida en formato grepable
– –>
El guión redirige la salida grepable a la salida estándar, que luego se canaliza a grep
–iv
–>
Ignora las líneas que tengan la palabra 'abajo
$nmap -sn -n -v 192.168.0.0/24 -oG - | grep -iv down
# Escaneo Nmap 7.70 iniciado Fri Sep 18 19:40:17 2020 como: nmap -sn -n -v -oG - 192.168.0.0/24
# Puertos escaneados: TCP(0;) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 192.168.0.7 () Estado: Up
Host: 192.168.0.8 () Status: Arriba
Host: 192.168.0.9 () Estado: Arriba
Host: 192.168.0.10 () Estado:
Arriba
#
Nmap realizado en Fri Sep 18 19:40:20 2020 -- 256 direcciones IP (4 hosts up) escaneadas en 2.91 segundos
Pudimos ver que sólo cuatro hosts están vivos de las 256 direcciones IP escaneadas en la subred
Detección de versiones de SO y servicio
Escaneado de SO
Además del escaneado de puertos y el descubrimiento de hosts, Nmap también puede proporcionar información sobre el sistema operativo subyacente. Nmap cuenta con una de las mayores bases de datos de huellas dactilares de sistemas operativos y puede identificar sistemas operativos analizando su respuesta a sondas TCP/IP.
Puede habilitarse con la bandera -O
.A a continuación se muestra el comando
nmap -O
localhost
$sudo nmap -O localhost
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 19:32 UTC
Informe de escaneo Nmap para localhost (127.0.0.1)
El host está activo (latencia de 0.000012s).
Otras direcciones para localhost (no escaneadas): ::1
No se muestra: 999 puertos cerrados
ESTADO DEL PUERTO SERVICIO
22/tcp open ssh
Tipo de dispositivo: propósito general
En ejecución: Linux 3.X
CPE del SO: cpe:/o:linux:linux_kernel:3
Detalles del SO: Linux 3.7 - 3.10
Distancia de red: 0 saltos
Detección del SO realizada. Por favor, informe de cualquier resultado incorrecto en https://nmap.org/submit/ .
Nmap realizado: 1 dirección IP (1 host up) escaneada en 3,89 segundos
Escaneado de versiones
Nmap también ayuda a escanear servicios en ejecución y su información de versión de los puertos abiertos. Esto es útil para escanear servicios que se ejecutan en versiones vulnerables y que podrían actualizarse para mitigar el riesgo.
Puede habilitarse con -sV
nmap -sV
localhost
$sudo nmap -sV localhost
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 19:35 UTC
Informe de escaneo Nmap para localhost (127.0.0.1)
El host está activo (latencia de 0.000010s).
Otras direcciones para localhost (no escaneadas): ::1
No se muestra: 999 puertos cerrados
ESTADO DEL PUERTO SERVICIO VERSIÓN
22/tcp open ssh OpenSSH 8.0 (protocolo 2.0)
Detección de servicio realizada. Por favor, informe de cualquier resultado incorrecto en https://nmap.org/submit/ .
Nmap realizado: 1 dirección IP (1 host up) escaneada en 1,96 segundos
Escaneado agresivo
Nmap realiza también un escaneo agresivo y avanzado que permite la detección de SO -O
, escaneo de guiones -sC
, escaneo de versiones -sV
, y traceroute --traceroute
.
Podemos pasar el argumento -A
para realizar un escaneo agresivo
$sudo nmap -A scanme.nmap.org
Starting Nmap 7.70 ( https://nmap.org ) at 2020-09-18 20:26 UTC
Informe de escaneo de Nmap para scanme.nmap.org (45.33.32.156)
El host está activo (latencia de 0,051s).
Otras direcciones para scanme.nmap.org (no escaneadas): 2600:3c01::f03c:91ff:fe18:bb2f
No se muestra: 995 puertos cerrados
PUERTO ESTADO SERVICIO VERSIÓN
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocolo 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)
|_ 256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519)
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!
9929/tcp open nping-echo Nping echo
31337/tcp open tcpwrapped
Suposiciones agresivas del SO: Linux 2.6.32 (94%), Linux 3.2 - 4.9 (94%), Linux 2.6.32 - 3.10 (94%), Linux 3.4 - 3.10 (93%), Linux 3.1 (92%), Linux 3.2 (92%), Linux 3.3 (92%), Synology DiskStation Manager 5.2-5644 (92%), Netgear RAIDiator 4.2.28 (92%), Cámara de red AXIS 210A o 211 (Linux 2.6.17) (92%)
No hay coincidencias exactas de SO para el host (condiciones de prueba no ideales).
Distancia de red: 7 saltos
Información de servicio: SO: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (usando el puerto 143/tcp)
HOP RTT DIRECCIÓN
1 48,15 ms 72.14.239.197
2 52,74 ms 209.85.253.9
3 49,54 ms 142.250.234.59
4 49.99 ms 108.170.242.251
5 50.70 ms 213.52.131.176
6 50.85 ms 173.230.159.71
7 53.40 ms scanme.nmap.org (45.33.32.156)
Detección de SO y Servicio realizada. Por favor, informe de cualquier resultado incorrecto en https://nmap.org/submit/ .
Nmap realizado: 1 dirección IP (1 host up) escaneada en 259,05 segundos
$$sudo nmap -A scanme.nmap.org
Iniciando Nmap 7.70 ( https://nmap.org ) en 2020-09-18 20:33 UTC
Estadísticas: 0:00:00 transcurrido; 0 hosts completados (0 up), 0 en curso Script Pre-Scan
NSE Timing: Alrededor del 0,00%
realizado
Problemas legales con el escaneado de puertos
Siempre es aconsejable obtener autorización/permiso por escrito del propietario de la red de destino antes de iniciar cualquier escaneado
Por ejemplo - http://scanme.nmap.org/ se ha autorizado a sí mismo para ser escaneado. Puede leerlo en detalle en el sitio web oficial
¿Y ahora qué?
Consulte cómo instalar Nmap en Windows.