PDF de programación - NMAP

Imágen de pdf NMAP

NMAPgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 27 de Octubre del 2017)
657 visualizaciones desde el 27 de Octubre del 2017
151,1 KB
13 paginas
Creado hace 14a (27/10/2009)
NMAP

David Montero *

27 de octubre de 2009

*Si quieres hacer algún comentario o correción, por favor envíame un correo

1

Índice

1. Presentación

2. Enumeración IPs

3. Host Discovery

4. Escaneo Puertos

5. Timing

6. Detección versiones

7. Detección SO

8. NSE

9. Evitar FW/IDS

10.Salida (output)

11.Cosas curiosas

12.Herramientas complementarias

13.URLs

2

3

3

3

5

7

8

9

10

11

12

13

13

13

1. Presentación

Nmap (Network Mapper ): escáner de puertos con estado que se lanzó en Noviembre de 1997. Tiene más

de 100 opciones en CLI.

2. Enumeración IPs

-sL: enumera IPs del rango y hace consultas DNS inversas.

-n: si no queremos hacer consultas DNS inversas.

# nmap -n -sL 192.168.1.0/24

# nmap -n -sL 192.168.1.0/24 exclude 192.168.1.0,192.168.1.255

-iR: genera IPs aleatorias (excluye privadas, multicast, ...)

# nmap -n -sL -iR 0

3. Host Discovery

host discovery == ping scan == sweep ping

El objetivo es descubrir máquinas activas y se hace uno por defecto seguido de un escaneo.

-sP: sólo host discovery (no escaneo):

root: ICMP echo request | ACK 80

# nmap -n -sP scanme.nmap.org packet-trace reason

usuario: connect TCP 80

# nmap -n -sP scanme.nmap.org packet-trace reason

-PN: sólo escaneo o lo que se especique (no host discovery)

3

Formatos soportados por Nmap: IPv4-6, nombre de dominio, CIDR, rangos:

# nmap -sP 192.168.0-255.1-254

Tipos de host discovery:

-PR: se utiliza por defecto en LANs.

Petición ARP (ignora caché ARP del SO).

# nmap -n -sP -PR send-ip 192.168.0.254 packet-trace reason

# nmap -n -sP -PR send-ip 192.168.0.254 packet-trace reason

-PS:

SYN-ACK, RST : máquina activa

root: SYN 80 (por defecto)

usuario: connect TCP 80 (por defecto)

# nmap -n -sP -PS110-143,443 scanme.nmap.org packet-trace reason

-PA:

RST : máquina activa

root: ACK 80 (por defecto)

usuario: connect TCP 80 (por defecto)

# nmap -n -sP -PA110-143,443 scanme.nmap.org packet-trace reason

Nota: para detectar FW sin estado.

-PU: UDP 31338 (por defecto)

-abierto|ltrado: máquina no activa?

-ICMP unreachable: máquina online

4

-PE: ICMP echo request.

-PP: ICMP timestamp.

-PM: ICMP address mask reply.

-PO: ICMP, IGMP y IP -IP.

Ejemplo completo:

# nmap -n -sP -PS22 -PA80,443 -PU10000-10010 -PE -PO scanme.nmap.org

-sP == -PE -PA (modo privilegiado)

4. Escaneo Puertos

scanme.nmap.org: máquina para lanzar escaneos, _no exploits ni DoS _

Existen 65536 puertos (puerto 0):

# nmap -n -PN -p- scanme.nmap.org

# nmap -n -PN -p0- scanme.nmap.org

# nmap -n -PN -F scanme.nmap.org

# nmap -n -PN top-ports 10 scanme.nmap.org packet-trace

Nota: por defecto se escanean los 1000 puertos más relevantes.

Estado puertos Nmap:

open: servicio escuchando.

close: servicio no escuchando.

ltered: drop o ICMP unreachable.

5

unltered: abierto|cerrado? [ACK scan]

open|ltered: [UDP, IP protocol, FIN, NULL y Xmas scan]

close|ltered: [Idle scan]

Tipos escaneo:

-sS: SYN

abierto: SYN-ACK, y el SO responde con RST.

cerrado: RST

ltrado: FW |ICMP unreachable

-sT: TCP connect (no son necesarios privilegios)

abierto: SYN-ACK, ACK ___ RST (mediante SO)

-sU: lento.

abierto: respuesta.
abierto|ltrado: no respuesta (envía un paquete vacío 1).

cerrado: ICMP unreachable.

-sA: FW con o sin estado?

abierto|cerrado (unltered ): RST

ltrado: ICMP unreachable | no respuesta.

-sF: FIN ag.

-sN: NULL ag.

-sX: FIN, PSH y URG ags

útiles para la detección de FW sin estado.

según RFC, los paquetes que no contiene SYN, RST o ACK :

cerrado: contestan RST

1Probar con escaneo de versiones o hping para detectar diferencias entre la cantidad de saltos (problema si el FW está en la

propia máquina).

6

abierto|ltrado: no contestan.

ltrado: ICMP unreachable.

-sW: == ACK scan, pero diferencia entre abierto y cerrado:

abierto: RST (ventana != 0)

cerrado: RST (ventana == 0)

ltrado: ICMP unreachable | no respuesta.

Nota: los valores de la ventana dependen de la implementación del SO, por lo tanto no se garan-
tiza la abilidad del escaneo.

-sM: FIN-ACK

abierto|ltrado: no respuesta.

cerrado: RST.

ltrado: ICMP unreachable.

-sI zombie: atacante no detectable.

-sO: no escanea puertos, sino protocolos utilizados [TCP, ICMP, IGMP, ...]

abierto: respuesta.

cerrado: ICMP unreachable (3,2).

-b FTP_bounce (no son necesarios privilegios)

scanags: ags personalizados

# nmap -n -PN -p22-25 scanags URGACKPSH -sS scanme.nmap.org

Ejemplo escaneo TCP-UDP :

# nmap -n -PN -sSU -pT:22-25,U:10000 scanme.nmap.org reason

5. Timing

Monitorización dinámica del timing (pruebas rtt, rate-limiting del FW, abilidad de la red, ...) y adapta

la velocidad del escaneo.

7

Optimización:

-T0 - -T5

min-rtt-timeout, max-rtt-timeout, initial-rtt-timeout

host-timeout

min-rate, max-rate

max-retries

min-host-group, max-hostgroup

min-parallelism, max-parallelism

scan-delay, max-scan-delay

6. Detección versiones

Averigua el servicio detrás de un puerto, y también el SO y tipo de dispositivo:

# nmap -n -PN -sV scanme.nmap.org

# nmap -n -PN -A scanme.nmap.org

-A == detecta versiones y SO, ejecuta scripts NSE y traceroute.

Características:

identica el nombre de la aplicación y el número de versión.

servicio con SSL: utiliza OpenSSL.

servicio SunRPC: ejecuta un script RPC de fuerza bruta.

Mediante rarity 2 indicamos si sólo queremos pruebas que suelen devolver datos o incluir más:

version-intensity <0-9>

version-light: 2

2Es un número.

8

version-all: 9

Post-processors: para hacer pruebas más intrusivas

scripts NSE

RCP grinding (-sR)

SSL tunneling

Desde el punto de vista del administrador, se puede utilizar para buscar servicios con versiones vulnerables.

7. Detección SO

Escaneo activo para determinar el SO (p0f en cambio es pasivo). Envía 15 paquetes TCP, UDP e ICMP

a puertos abiertos y cerrados:

# nmap -O scanme.nmap.org

# nmap -A scanme.nmap.org

# nmap -O -v scanme.nmap.org

-A == detecta versiones y SO, ejecuta scripts NSE y traceroute.

Información que muestra:

tipo de dispositivo (router, impresora, FW, consola, ...)

SO y versión

uptime

distancia

predicción de secuencia TCP (IP spoong)

generación IP ID

Nota: si se detectan diferentes SO, es posible que exista un dispositivo haciendo NAT.

9

Anar detección SO:

osscan-limit: sólo cuando hay al menos un puerto abierto y otro cerrado.

osscan-guess: más agresivo.

Escaneo más preciso (todos los puertos [menos el 0] TCP y UDP ):

# nmap -sSU -O -p- -v osscan-guess scanme.nmap.org

8. NSE

Scripts LUA (se ejecutan en paralelo) para conseguir más información sobre sistemas:

network discovery (whois, consultas SNMP, NFS/SMB/RPC )

detección de backdoors y gusanos.

explotar vulnerabilidades.

# nmap -p22,80 -sC scanme.nmap.org

# nmap -A -p22,80 scanme.nmap.org

# nmap -p22,80 -sC script <categoria|directorio|chero|all> script-args scanme.nmap.org

-A == detecta versiones y SO, ejecuta scripts NSE y traceroute.

Los scripts se agrupan en categorías:

discovery

malware

vuln

auth

default (-sC, -A)

...

10

9. Evitar FW/IDS

Averiguar reglas del FW 3:

SYN scan: se suelen eliminar los paquetes o enviar ICMP unreachable. También envían RST

suplantando al host destino.

ACK scan: no los bloquean los FW sin estado.

IP ID scan: para averiguar IPs origen que pueden pasar el FW (NFS, TCP wrappers, ...). Si se

incrementa el ID, es porque los paquetes atraviesan el FW y una máquina de la LAN contesta.

Escaneos útiles:

FIN

Maimon

Window

SYN/FIN

NULL

La manipulación de la fragmentación de paquetes por parte del FW depende de la implementación. Puede

que los deje pasar todos o sólo bloquee el primero:

# nmap -f -sS -v scanme.nmap.org

Spoong:

puerto origen: existen FW que permiten tráco entrante ltrando puerto origen (DNS, FTP )

# nmap -sS -g 53 scanme.nmap.org

MAC:

# nmap -sS spoof-mac <MAC falsa> 192.168.0.16

3Preguntar al administrador es una opción que no se contempla :)

11

En los IDS se detectan los escaneos basándose en un umbral. Con el n de evitarlo:

# nmap -sS -T paranoid scanme.nmap.org

o jugar más con el timing:

max-parallelism

min-rtt-timeout

scan-delay

Con el n de confundir la IP del atacante cuando se analicen los logs:

# nmap -sS -D

# nmap -sS -S <IP falsa> -sS scanme.nmap.org

Nota: en el IP spoong no obtenemos información resultante.

Importante: ninguna de estas técnicas es infalibe. Es conveniente comprender con mayor detalle el

funcionamiento de FW e IDS para saber su posible reacción.

10. Salida (output)

interactiva

normal (-oN ): básicamente lo mismo que interactiva pero en chero.

XML (-oX ): recomendada para trabajar con un parser XML.

grepable (-oG): lista información de un host por línea (grep, awk, cut, sed, ...)

kiddie (-oS )

normal, grepable y XML (-oA)

12

11. Cosas curiosas

implementa resolver DNS en paralelo.

implementa traceroute en paralelo:

# nmap traceroute -sP scanme.nmap.org

interacción durante ejecución escaneo.

Return: muestra % completado.

d/D: activa/desactiva debugging.

v/V: activa/desactiva verbose.

p/P: activa/desactiva packet tracing.

12. Herramientas complementarias

En esta web constan varias utilidades

herramientas comentadas en el libro sobre Nmap de Syngress

13. URLs

Blog RaDaJo

Nmap Online

13
  • Links de descarga
http://lwp-l.com/pdf7288

Comentarios de: NMAP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad