---
description: Escaneo de redes.
---

# Nmap

#### ¿Qué es NMAP?

Es una herramienta para escanear redes y para realizar auditorias de seguridad.

#### ¿Qué puede identificar?

Dispositivos de red, puertos, servicios y sus versiones, sistemas operativos, reglas de firewall, etc.&#x20;

#### ¿Se puede instalar en todos los SO?

Sí, viene preinstalada en distribuciones como Kali, pero puede descargarse tanto en Windows, Mac OS y todas las distribuciones de Linux.&#x20;

### Descubrimiento de Host

Permite conocer los dispositivos disponibles en la red auditada.

#### -sn (Ping Sweep)

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2Fr67rmWeblqWFWlfYgHaD%2F01_comando_-sn.jpeg?alt=media&#x26;token=9f1c98ab-f350-4a97-8aa6-cad3a46807de" alt=""><figcaption><p>Escaneo con -sn a dirección IP de una máquina de Hack The Box</p></figcaption></figure>

### Escaneo de puertos

Permite saber qué puertos están abiertos. Son en total 65535 puertos (UDP y TCP) y cada uno es una posible vulnerabilidad.

#### &#x20;-sS (TCP SYN Scan)

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FbMqYK3JvNHTBPMRkM9zv%2F02_comando_-sS.jpeg?alt=media&#x26;token=372e2141-f7bb-4393-b41e-b73931daa6cb" alt=""><figcaption><p>Una manera bastante silenciosa de buscar puertos</p></figcaption></figure>

Este tipo de búsqueda de puertos por defecto, solo escanea los 1000 puertos más importantes. De ser necesario escanear todos los puertos, se utiliza el comando `-p-`.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FjJP35q0QuhG7yjJyL4ZR%2F03_comando_-p-.jpeg?alt=media&#x26;token=29e8d46e-ee23-4b8b-974b-a080e559325b" alt=""><figcaption><p>Toma más tiempo, ya que tiene que recorrer los 65535 puertos</p></figcaption></figure>

#### -sT  (TCP Connect Scan)

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FbiiPNO1eiQp5JnOFFzEA%2F04_comando_-sT.jpeg?alt=media&#x26;token=75a30174-bf5b-4967-b2b2-887ca8d97cab" alt=""><figcaption><p>Solamente busca puertos TCP</p></figcaption></figure>

#### -sU (UDP Scan)

En este tipo de escaneo, se recorren los puertos UDP que son más lentos de escanear debido a los tiempos de espera.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FucHj9pNtBzRylBszOo8H%2F05_comando_-sU.jpeg?alt=media&#x26;token=8e820fe2-a667-4c7f-ac0e-9654beff4b1a" alt=""><figcaption><p>Los puertos UDP toman más tiempo</p></figcaption></figure>

#### -sP

Determina si el objetivo está vivo.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FiAcd0c1QZaSEI4BVymsg%2F10_comando_-sP.jpeg?alt=media&#x26;token=877ece9b-692d-4af9-9f5c-9fcb88d4e5df" alt=""><figcaption><p>Como utilizar -sP</p></figcaption></figure>

#### -sC

Utiliza scripts que tiene Nmap de manera predeterminada.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F1Qf0SffK3azEHTnI7ceh%2F11_comando_-sC.jpeg?alt=media&#x26;token=b19057eb-6090-440d-aa98-3cccb3f1074f" alt=""><figcaption><p>Un comando que utiliza scripts para hacer el escaneo</p></figcaption></figure>

### Detección de servicios

Busca identificar la versión del software instalado detrás de los servicios. Conocer esta información, permite asociar fallos de seguridad a dichas versiones. Por otra parte, este escaneo es bastante ruidoso y es muy probable que sea detectado.

#### -sV (Detección de versión)

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F19C1XcvgTceaOqvgTMDN%2F06_comando_-sV.jpeg?alt=media&#x26;token=3a749740-db76-4e7b-91a8-982053967b2a" alt=""><figcaption><p>Permite conocer más sobre el objetivo</p></figcaption></figure>

### Scripts

Nmap tiene muchos scripts preestablecidos con capacidades de escaneo, enumeración y análisis de vulnerabilidades. La sintaxis es la siguiente:

```
~ nmap --script [nombre del script] [IP]
```

#### --script ftp-anon

Sirve para escanear una vulnerabilidad que suele estar en los servicios FTP, permitiendo al usuario ingresar sin pedir credenciales de acceso.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F8EIV4jzpSd8huoRsSwFB%2F07_script_anon-ftp.jpeg?alt=media&#x26;token=62e64e78-e70c-4a02-9b6a-1d86f2c4fec7" alt=""><figcaption><p>El script que busca las vulnerabilidades en los puertos FTP</p></figcaption></figure>

#### --script smb-enum-users.nse -p \[puerto] \[IP]

Verifica si en el puerto indicado, la enumeración de usuarios está habilitada. De estarlo, devuelve una lista con todos los usuarios disponibles en ese puerto.&#x20;

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FqtUilOn6f5C9bfLxMgBm%2F08_script_smb_enum.jpeg?alt=media&#x26;token=f41e2836-201f-49f2-9c96-808fe8646981" alt=""><figcaption><p>En este caso no hay enumeración disponible en el puerto 445</p></figcaption></figure>

#### --script vuln&#x20;

Escanea los puertos en busca de vulnerabilidades.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F8GBWvSHH2evO0HVAMhOO%2F09_script_vuln.jpeg?alt=media&#x26;token=8fd072d1-33f8-4514-ad8e-13dbaa19a18e" alt=""><figcaption><p>Se puede utilizar el script para un puerto determinado o para todos</p></figcaption></figure>

### Optimización de los escaneos

Existen una gran cantidad de directivas que sirven para aprovechar al máximo las capacidades de Nmap.&#x20;

1. `-p-`: Escanea todos los puertos.
2. `-p`: Un solo puerto o un rango (100-1000).
3. `-T`: Asigna una velocidad de escaneo.
4. `-F`: Modo rápido.&#x20;
5. `-r`: Escaneo consecutivo.&#x20;
6. `--max-retries`: Numeros de intentos.
7. `-vvv`: Ver más detalles.

#### -oN

Con -oN, es posible guardar los resultados de un escaneo en un archivo que se genera de manera automática.&#x20;

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FPlT766mrXjl0YoIoXPxf%2F12_comando_-oN.jpeg?alt=media&#x26;token=cd8f3a35-7db8-42b4-8d01-b01cf356689c" alt=""><figcaption><p>-oN sirve para guardar toda la información </p></figcaption></figure>

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FHU8K3dsUnYFaWVAZB5eZ%2F12_comando_-oN_02.jpeg?alt=media&#x26;token=02dfa5aa-ee3a-4c4c-9711-6111350a9b89" alt=""><figcaption><p>Utilizando cat se puede visualizar correctamente el archivo creado</p></figcaption></figure>

#### -iL

De ser necesario escanear varias direcciones IP juntas, es posible hacerlo desde un archivo de texto, haciendo que nmap apunte a un archivo determinado.

* Crear un archivo de texto con las direcciones IP.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FixYNCc0oS81gb6zZTClm%2F13_archivo_con_ip.jpeg?alt=media&#x26;token=2952628e-0855-402c-ab34-0eecd9567023" alt=""><figcaption><p>Este archivo de texto fue creado con nano</p></figcaption></figure>

* Se apuntó al archivo con el comando -iL y escaneo los puertos de las direcciones que allí figuraban.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FQEJZ6gBxea1WMjMMiuZ4%2F13_comando_-iL.jpeg?alt=media&#x26;token=a5d126ae-d47b-460a-90e1-bd3ce5ce0104" alt=""><figcaption><p>Todos los puertos fueron escaneados</p></figcaption></figure>

#### -sO

Averigua el sistema operativo del objetivo.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FFvEBh1bfAiJCzxi3Stsc%2F13_comando_-O.jpeg?alt=media&#x26;token=5c830e8f-6660-4319-a0ea-32ba86810209" alt=""><figcaption><p>Se puede ver que es muy probable que el S.O. sea Windows</p></figcaption></figure>

#### -p {número de puerto 1}, {número de puerto 2}

Escanear distintos puertos a la vez.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2FzEPC1ENDfnhkHVFb2krg%2F14_escanear_varios_puertos.jpeg?alt=media&#x26;token=08f59f59-5eba-44fc-8dcc-c08241880aab" alt=""><figcaption><p>Se pueden escanear varios puertos, separados por una coma</p></figcaption></figure>

#### -p {rango}

Escanear un rango determinado de puertos.

<figure><img src="https://1094415623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbWP6boTWWvZnLsFRhCsl%2Fuploads%2F4ojlkZxutrtVzFGwhqFE%2F15_escanear_rango.jpeg?alt=media&#x26;token=2aa3d493-bce5-47a5-a096-d3fb861c824b" alt=""><figcaption><p>Siempre mostrará los resultados dentro del rango</p></figcaption></figure>

#### -help

Este comando sirve para buscar toda la información sobre los comandos y el uso correcto de nmap.
