> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/nmap-for-juniors/scripts-de-nmap.md).

# Scripts de Nmap

**Nmap** (Network Mapper) es una herramienta de código abierto para el escaneo y auditoría de seguridad de redes. Uno de sus componentes más poderosos es **Nmap Scripting Engine (NSE)**, que permite a los usuarios escribir y ejecutar scripts para realizar tareas específicas durante un escaneo. Los scripts de NSE pueden realizar una variedad de funciones, desde la detección de vulnerabilidades hasta la enumeración de servicios.

## <mark style="color:green;">¿Qué es NSE y Cómo Funciona?</mark>

**Nmap Scripting Engine (NSE)** permite automatizar tareas de red mediante scripts escritos en el lenguaje de programación Lua. Los scripts de NSE se clasifican en diferentes categorías según su propósito, como:

* <mark style="color:green;">**auth**</mark><mark style="color:green;">:</mark> Scripts de autenticación.
* <mark style="color:green;">**broadcast**</mark><mark style="color:green;">:</mark> Scripts de descubrimiento de red mediante broadcast.
* <mark style="color:green;">**brute**</mark><mark style="color:green;">:</mark> Scripts de fuerza bruta.
* <mark style="color:green;">**default**</mark><mark style="color:green;">:</mark> Scripts básicos que se ejecutan con el parámetro `-sC`.
* <mark style="color:green;">**discovery**</mark><mark style="color:green;">:</mark> Scripts de descubrimiento de información.
* <mark style="color:green;">**dos**</mark><mark style="color:green;">:</mark> Scripts de denegación de servicio.
* <mark style="color:green;">**exploit**</mark><mark style="color:green;">:</mark> Scripts de explotación de vulnerabilidades.
* <mark style="color:green;">**external**</mark><mark style="color:green;">:</mark> Scripts que interactúan con servicios externos.
* <mark style="color:green;">**fuzzer**</mark><mark style="color:green;">:</mark> Scripts de fuzzing.
* <mark style="color:green;">**intrusive**</mark><mark style="color:green;">:</mark> Scripts que pueden afectar negativamente la red.
* <mark style="color:green;">**malware**</mark><mark style="color:green;">:</mark> Scripts relacionados con malware.
* <mark style="color:green;">**safe**</mark><mark style="color:green;">:</mark> Scripts considerados seguros.
* <mark style="color:green;">**version**</mark><mark style="color:green;">:</mark> Scripts de detección de versiones de software.
* <mark style="color:green;">**vuln**</mark><mark style="color:green;">:</mark> Scripts de detección de vulnerabilidades.

Para ejecutar scripts de NSE, se utiliza el parámetro `-sC`, que ejecuta los scripts por defecto, o el parámetro `--script` para especificar scripts individuales o categorías.

## <mark style="color:green;">Los 10 Scripts de Nmap Más Utilizados</mark>

### <mark style="color:green;">**default**</mark> <mark style="color:green;"></mark><mark style="color:green;">(</mark><mark style="color:green;">`-sC`</mark><mark style="color:green;">)</mark>

Ejecuta un conjunto de scripts por defecto que cubren una variedad de tareas comunes, como la detección de versiones y la recopilación de información básica.

```bash
nmap -sC target
```

### <mark style="color:green;">**http-enum**</mark>

Enumera aplicaciones y directorios comunes en servidores web.

```bash
nmap --script http-enum target
```

### <mark style="color:green;">**ftp-anon**</mark>

Detecta si el servidor FTP permite acceso anónimo.

```bash
nmap --script ftp-anon target
```

### <mark style="color:green;">**smb-os-discovery**</mark>

Detecta información del sistema operativo y detalles de red en servidores SMB.

```bash
nmap --script smb-os-discovery target
```

### <mark style="color:green;">**ssl-cert**</mark>

Recupera el certificado SSL de los servicios que usan SSL/TLS.

```bash
nmap --script ssl-cert target
```

### <mark style="color:green;">**vulscan**</mark>

Usa bases de datos de vulnerabilidades para detectar vulnerabilidades conocidas.

```bash
nmap --script vulscan target
```

### <mark style="color:green;">**dns-brute**</mark>

Realiza un ataque de fuerza bruta en un dominio para descubrir subdominios.

```bash
nmap --script dns-brute target
```

### <mark style="color:green;">**snmp-brute**</mark>

Realiza un ataque de fuerza bruta para descubrir la comunidad SNMP.

```bash
nmap --script snmp-brute target
```

### <mark style="color:green;">**http-sql-injection**</mark>

Detecta vulnerabilidades de inyección SQL en aplicaciones web.

```bash
nmap --script http-sql-injection target
```

### <mark style="color:green;">**default credentials**</mark>

Combinación de scripts que prueban credenciales por defecto en servicios comunes (como `ftp-brute`, `http-brute`, etc.).

```bash
nmap --script ftp-brute,http-brute target
```

## <mark style="color:green;">Ejemplo de Uso de Scripts en Nmap</mark>

Para ejecutar múltiples scripts específicos junto con un escaneo de puertos, puedes usar el siguiente comando:

```bash
nmap -p 1-65535 --script ftp-anon,smb-os-discovery,ssl-cert target
```

## <mark style="color:green;">Conclusión</mark>

Nmap es una herramienta extremadamente versátil y poderosa, y su capacidad para utilizar scripts de NSE la hace aún más efectiva para realizar auditorías de seguridad y escaneos de red. Conocer los scripts más utilizados y cómo emplearlos puede ayudar a realizar análisis de red más detallados y descubrir vulnerabilidades y configuraciones incorrectas de manera eficiente.
