Rendimiento de escaneo de Nmap

2

Estoy tratando de encontrar la manera más eficiente de encontrar puertos abiertos en el destino y luego encontrar un banner de servicios en ejecución en ellos. Como he leído y experimentado antes, el análisis de sigilo de Syn da el mejor resultado. Pero no estoy seguro de cómo -sV encuentra puertos abiertos.

Para obtener información sobre la versión, ¿la opción -sV ofrece el mismo rendimiento con -sS o debería primero escanear el objetivo con -sS después de escanear puertos abiertos con -sV?

    
pregunta kjslaa 31.10.2017 - 10:28
fuente

3 respuestas

1

Nmap realiza su escaneo en fases , y cada fase se alimenta de la siguiente. Cuando haces nmap -sV example.com , Nmap realiza 7 fases de escaneo. Los que estás preguntando son 4 y 5 a continuación:

  1. Enumeración de destino. Nmap resuelve el nombre example.com a una dirección IP como 192.0.2.33.
  2. Detección de host. Nmap envía algunas sondas como ICMP Echo Request, TCP SYN al puerto 443, TCP ACK al puerto 80, etc. Si alguno de ellos recibe una respuesta, el host está "activo" y el escaneo continúa .
  3. Resolución de DNS inversa. Nmap envía una consulta PTR de DNS para ver la dirección IP para ver si un nombre está asociado.
  4. Escaneo de puertos. No solicitó un tipo de escaneo de puerto en particular, por lo que el valor predeterminado es TCP SYN scan ( -sS ) si tiene privilegios, o TCP Connect scan ( -sT ) si no.
  5. Detección de versión. Esta es la "captura de banner" que solicitó con -sV , aunque es mucho más complejo que eso.
  6. Exploración de secuencias de comandos. Cuando realiza -sV , es posible que se ejecuten algunas secuencias de comandos NSE para realizar una detección adicional de la versión. Esto es lo mismo que especificar --script version
  7. Salida. Los resultados se imprimen después de que se completan todas las fases de escaneo.

Por lo tanto, puede ver que no hay diferencia en el escaneo de puertos entre -sS y -sV , pero en realidad se realiza el mismo escaneo de puertos para ambos. La optimización del análisis se puede realizar con las opciones de plantilla de tiempo -T o cualquiera de los controles más detallados .

También puede acelerar su escaneo eliminando las fases de escaneo no utilizadas. El descubrimiento del host se puede omitir con -Pn si sabe que el objetivo está arriba. El DNS inverso se puede omitir con -n . El escaneo de puertos se puede alterar con -p o --top-ports para escanear más puertos (más lentos) o menos (más rápidos). Puede eliminar la parte del análisis de secuencias de comandos NSE de la detección de versiones agregando --script-args script-intensity=0

    
respondido por el bonsaiviking 01.11.2017 - 04:18
fuente
0

La forma más rápida que conozco de escanear puertos (y me sorprendería si hay algo más rápido) es massscan con un Intel Adaptador Ethernet de 10 gbps y el controlador PF_RING. Para citar la página de github "Este es el escáner de puerto de Internet más rápido. Puede escanear todo Internet en menos de 6 minutos, transmitiendo 10 millones de paquetes por segundo". Esto es peligrosamente rápido: elimine su red local si no tiene cuidado rápidamente.

Para obtener información sobre la versión, debe usar la opción de banners. Consulte uso aquí . No creo que esto sea tan avanzado como la detección de la versión de nmaps, es posible que tenga más trabajo de limpieza en los datos devueltos.

Si prefieres mantener el nmap, hay varias formas de acelerarlo. -Pn evitaría enviar un ping. -n evita la resolución de DNS. --send-eth se envía directamente a la interfaz de Ethernet - aunque primero necesita comprender completamente las consecuencias de esto y cómo configurar su máquina de forma apropiada.

  

Para obtener información sobre la versión, ¿la opción -sV ofrece el mismo rendimiento con -sS o debería primero escanear el objetivo con -sS después de escanear puertos abiertos con -sV?

Técnicamente, no hay razón por la que no puedan ser tan eficientes (y posiblemente más eficientes para ejecutarlos juntos). Sin perfilar o revisar el código fuente de nmap no puedo responder esto de manera concluyente. Google no muestra inmediatamente nada obvio.

    
respondido por el Hector 31.10.2017 - 11:03
fuente
0

Por lo que estás haciendo, Zmap o Masscan son probablemente la forma más rápida. Zmap es tan rápido como masscan, pero tiene mucha más funcionalidad. Otra cosa interesante acerca de Zmap es que puede canalizar los resultados del escáner rápido en un escáner más lento e intensivo, como la capa de aplicación con Zgrab. Primero debes escanear con esas herramientas y luego usar Nmap. Es mucho más rápido de esa manera, e incluso mejor si puedes hacerlo justo a tiempo.

Con Nmap, desea agregar el indicador -T5 (0-5, donde 0 es el más lento y 5 es el más rápido). Si ya ha escaneado con masscan o zmap y sabe que están en línea, puede usar -Pn para no enviar un ping.

    
respondido por el Daniel Grover 31.10.2017 - 19:19
fuente

Lea otras preguntas en las etiquetas