hacktricks/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md
carlospolop 88fe91771a f
2023-06-05 20:55:20 +02:00

7.4 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
```text nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24 ``` **-iL** lista\_IPs

-iR numero --> Número de Ips aleatorias, se pueden excluir posibles Ips con --exclude <Ips> o --excludefile <fichero>

Descubrimiento de equipos:

Podemos usar máscaras/24

-sL: No es invasivo, lista los objetivos realizando peticiones de DNS para resolver nombres. Sirve para saber si por ejemplo www.prueba.es/24 todas las Ips son objetivos nuestros.

Por defecto Nmap lanza una fase de descubrimiento que consta de: -PA80 -PS443 -PE -PP

-Pn No ping --> útil si se sabe que todos están activos (sino lo estuviera alguno se podría perder mucho tiempo, pero -f Fragmenta paquetes en 8 bytes después de la cabecera por defecto. Para especificar el tamaño, se usa ..mtu (sin usar -f). El offset debe ser múltiplo de 8. Los escáneres de versión y scripts no soportan la fragmentación.

-D decoy1,decoy2,ME Nmap envía escáneres con otras direcciones IP como origen para ocultar la dirección real. Si se incluye ME en la lista, Nmap te situará allí. Es mejor incluir 5 o 6 direcciones antes de la tuya para enmascararte completamente. Se pueden generar IPs aleatorias con RND:<número> para generar <número> de IPs aleatorias. No funcionan con detectores de versiones sin conexión TCP. Si estás dentro de una red, es mejor usar IPs que estén activas para no ser detectado fácilmente.

Para usar IPs aleatorias: nmap -D RND:10 Ip_objetivo

-S IP Se utiliza cuando Nmap no detecta tu dirección IP, para especificarla manualmente. También se puede usar para hacer pensar que hay otro objetivo escaneando.

-e <interface> Para elegir la interfaz.

Muchos administradores dejan puertos de entrada abiertos para que todo funcione correctamente y les sea más fácil que buscar otra solución. Estos pueden ser los puertos DNS o los de FTP. Para buscar esta vulnerabilidad, Nmap incorpora: --source-port <número de puerto> y -g <número de puerto>. Son equivalentes.

--data <cadena hexadecimal> Para enviar texto hexadecimal: --data 0xdeadbeef y --data \xCA\xFE\x09

--data-string <cadena> Para enviar un texto normal: --data-string "Scan conducted by Security Ops, extension 7192"

--data-length <número> Nmap envía solo cabeceras, con esto logramos que añada a estar un número de bytes más (que se generarán aleatoriamente).

Para configurar el paquete IP completamente, se usa --ip-options.

Si se desea ver las opciones en los paquetes enviados y recibidos, se especifica --packet-trace. Para obtener más información y ejemplos de uso de opciones IP con Nmap, consulte http://seclists.org/nmap-dev/2006/q3/52.

--ttl <valor>

--randomize-hosts Para que el ataque sea menos obvio.

--spoof-mac <dirección MAC, prefijo o nombre del fabricante> Para cambiar la dirección MAC. Ejemplos: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2 y Cisco.

--proxies <lista separada por comas de URLs de proxy> Para usar proxies. A veces, un proxy no mantiene tantas conexiones abiertas como Nmap quiere, por lo que habría que modificar el paralelismo: --max-parallelism.

-sP Para descubrir hosts en la red en la que estamos por ARP.

Muchos administradores crean una regla en el firewall que permite pasar todos los paquetes que provienen de un puerto en particular (como el 20, 53 y 67). Podemos decirle a Nmap que mande nuestros paquetes desde esos puertos: nmap --source-port 53 Ip.

Salidas

-oN file Salida normal.

-oX file Salida XML.

-oS file Salida de script kiddies.

-oG file Salida grepable.

-oA file Todos menos -oS.

-v level Verbosidad.

-d level Depuración.

--reason Por qué del host y estado.

--stats-every time Cada ese tiempo nos dice cómo va.

--packet-trace Para ver qué paquetes salen, se pueden especificar filtros como: --version-trace o --script-trace.

--open Muestra los puertos abiertos, abiertos/filtrados y los no filtrados.

--resume file Saca un resumen.

Miscelánea

-6 Permite IPv6.

-A Es lo mismo que -O -sV -sC --traceroute.

Run time

Mientras corre Nmap, se pueden cambiar opciones:

v / V Aumentar / disminuir el nivel de verbosidad.

d / D Aumentar / disminuir el nivel de depuración.

p / P Activar / desactivar el rastreo de paquetes.

? Imprimir una pantalla de ayuda de interacción en tiempo de ejecución.

Vulscan

Es un script de Nmap que mira las versiones de los servicios obtenidos en una base de datos offline (que descarga de otras muy importantes) y devuelve las posibles vulnerabilidades.

Las bases de datos que usa son:

  1. Scipvuldb.csv | http://www.scip.ch/en/?vuldb
  2. Cve.csv | http://cve.mitre.org
  3. Osvdb.csv | http://www.osvdb.org
  4. Securityfocus.csv | http://www.securityfocus.com/bid/
  5. Securitytracker.csv | http://www.securitytracker.com
  6. Xforce.csv | http://xforce.iss.net
  7. Exploitdb.csv | http://www.exploit-db.com
  8. Openvas.csv | http://www.openvas.org

Para descargarlo e instalarlo en la carpeta de Nmap:

wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar -czvf nmap_nse_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/

También habría que descargar los paquetes de las bases de datos y añadirlos a /usr/share/nmap/scripts/vulscan/.

Uso:

Para usar todas las bases de datos: sudo nmap -sV --script=vulscan HOST_A_ESCANEAR.

Para usar una base de datos específica: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST_A_ESCANEAR.