[TryhackMe] ¡Intenté usar NMAP, una poderosa herramienta de escaneo de red! Reseña nmap

[TryhackMe] ¡Intenté usar NMAP, una poderosa herramienta de escaneo de red! Reseña nmap

Esta vez, se enfrentaremos a la habitación Tryhackme, que se basa en cómo usar NMAP.
"Tryhackme-nmap: https://tryhackme.com/room/furthernmap "

Tenga en cuenta que la explicación es spoilers.

Libros de referencia recomendados
\Amazon Prime Day ya está en marcha! /
Amazonas
Autor: Ipusiron
¥3,850 (A partir de 21:11 el 08/07/2025 | Amazon Research)
\Amazon Prime Day ya está en marcha! /
Amazonas
Autor: Justin Seitz, Autor: Tim Arnold, supervisado por: Mantani Nobutaka, Traducción: Arai Yu, Traducción: Kakara Hirosei, Traducción: Murakami Ryo
¥3,520 (A partir de las 12:26 el 07/07/2025 | Amazon Research)
\Amazon Prime Day ya está en marcha! /
Amazonas
Tabla de contenido

Preparación

Primero, preparemos. Hay dos tareas.
* Traducido en japonés usando Chrome. Tenga en cuenta que puede haber algunas dificultades para ver. . .

despliegue

Primero, seleccione "Máquina de inicio" y inicie la máquina para escanear.

Está bien siempre que la información de la máquina se muestre así.

Introducción

¿Qué es PortScan? ¿Por qué es eso necesario? ¿Por qué nmap? Esto se explica de una manera simple.
Recomiendo leer esto hasta el final. Mis notas se ven así:

  • Al conectarse a una página web, puede abrir el puerto: 49534 y conectarse al puerto: 443 en su servidor
  • La computadora tiene un total de 65,535 puertos disponibles
  • Muchos están registrados como puertos estándar. (Http: 80, https: 443, Windows Netbios: 139, SMB: 445)
  • Si el servidor no está seguro de qué puerto está abierto, es imposible atacar el objetivo (por lo que el escaneo de puertos es importante).
  • ¿Por qué nmap? Porque actualmente es una herramienta estándar de la industria. Porque otras herramientas de PortScan no pueden compararse con las capacidades de NMAP.
  • NMAP puede realizar una variedad de escaneos de puertos
  • El escaneo de puerto básico es "conectarse a cada puerto ⇒ Verifique la respuesta del puerto (cerrado, abierto, filtrado (principalmente FW) ⇒ Enumere los servicios que se ejecutan en puertos abiertos)".

Tomemos una comprensión rápida de lo anterior y respondamos las preguntas.

¿Qué estructura de red se utiliza para reenviar el tráfico a las aplicaciones apropiadas del servidor?

Esto también se mencionó en la explicación. Al principio pensé que era "puerto", pero eran "puertos". . .

¿Cuántos de estos están disponibles en computadoras habilitadas para la red?

¿Cuántos puertos conocidos hay?

Tenga cuidado, ya que esto dificultará la comprensión si se traduce en Chrome.
Los puertos conocidos son números de puerto de 0 a 1023 y están reservados para aplicaciones generales de TCP/IP.
Esta vez, se hacen algunas preguntas, por lo que la respuesta es "1024".

Interruptores NMAP

A continuación, explicaremos sobre el Switch de NAPM.
Esta es una forma de comprender el problema al resolverlo.

Switch es aparentemente un argumento de comando que le indica a NMAP que realice varios procesos.

¿Cuál es el primer interruptor que se enumera en el menú de ayuda "Syn Scan"?

Hagamos esto en silencio y ejecutemos el siguiente comando:

nmap -h

La respuesta es "-ss".

¿Qué interruptor se usa para "escaneo UDP"?

El siguiente es el escaneo UDP.

Está debajo del interruptor de arriba.

¿Qué interruptor usa para descubrir el sistema operativo en el que se está ejecutando el objetivo?

El siguiente es el interruptor que detecta el sistema operativo.

Fue aquí.

NMAP proporciona un interruptor para detectar la versión de los servicios que se ejecutan en el objetivo. ¿Qué es este interruptor?

Es un interruptor para detectar la versión de un servicio.
Puede encontrarlo en la detección de servicio/versión.

Este tampoco es ningún problema.

La salida predeterminada proporcionada por NMAP a menudo no proporciona información suficiente para el Pentester. ¿Cómo se aumenta la redundancia?

La traducción en japonés es difícil, así que volvamos al inglés.

El nivel de verbosidad uno es bueno, pero el nivel de verbosidad dos es mejor! ¿Cómo establecerías el nivel de verbosidad en dos?

https://tryhackme.com/room/furthernmap

Mirándolo, parece que debe buscar un interruptor que aumente su nivel de verbosidad.

Había. Intentaré ver cómo esto cambiará la salida más adelante.

El nivel de detalle 1 es bueno, pero el nivel de detalle 2 es mejor. ¿Cómo establezco el nivel de detalle en 2?

Esto fue en el anterior (). "-vv" es la respuesta.

¿Qué interruptor usas para almacenar los resultados de NMAP en tres formatos principales?

Pensé que lo había visto en la salida, así que lo estaba buscando

Hubo una descripción. "-oa" es la respuesta.

¿Qué interruptor usa para guardar los resultados de NMAP en formato "regular"?

Estaba en el interruptor de arriba. "-on" es correcto.

Formato de salida muy útil: ¿Cómo puedo guardar los resultados en formato "GreP-habilitado"?

El japonés es un poco difícil de entender. . .
Sin embargo, se enumera en el mismo lugar que antes. Es un formato granable.

Entonces, "-ging" es la respuesta.

¿Cómo habilito el modo agresivo?

Hay varios interruptores para habilitar.
Es posible que desee buscar un interruptor que habilite todos estos.

La respuesta es "-a".

¿Cómo configuro la plantilla de tiempo en el nivel 5?

Para los interruptores de tiempo, debe considerar el tiempo y el rendimiento.

Quiero nivel 5, por lo que "-T5" es la respuesta correcta.

¿Cómo le dice a NMAP que escanee solo el puerto 80?

Encuentre el interruptor que desea reducir los puertos que desea escanear.

¿Es posible agregar rangos de puerto a -p?
Como es solo el puerto 80, -p 80 parece ser correcto.

¿Cómo le dice a NMAP que escanee los puertos 1000-1500?

Parece que el interruptor es el mismo que antes.

Como es 1000-1500, "-p 1000-1500" es probablemente la respuesta correcta.

¿Cómo le dice a NMAP que escanee todos los puertos?

No sabía esto, así que investigué un poco.
"-p-" es la respuesta. Supongo que se trata como una abreviatura para "-p 0-65535".

¿Cómo habilito los scripts de la biblioteca de script NMAP?

Se indicó en el escaneo de script.

"–Script =" es la respuesta.

¿Cómo se activa todos los scripts en la categoría de "vulnerabilidad"?

No está claro en japonés, así que piénsalo en inglés.

¿Cómo activaría todos los scripts en la categoría "Vuln"?

https://tryhackme.com/room/furthernmap

Parece que usa el interruptor mencionado anteriormente para habilitar Vuln.
Creo que "–script = vuln" está bien.

En cuanto a los interruptores NMAP, eso es todo.
Tiene una amplia gama de funciones, por lo que creo que es más importante poder usarla mirando la ayuda y encontrarla útil en lugar de memorizarla. . .

[Tipo de escaneo] Descripción general

Lea la explicación aquí y una vez que la entiende, terminará.
Dejaré mis notas aquí.

  • -ST: TCP Connection Scan
  • -ss: escaneo syn (harf-open)
  • -su: escaneo UDP
  • Lo siguiente no es general
  • -SN: TCP NULL Scan
  • -SF: TCP FIN Scan
  • -SX: TCP Xmas Scan

[Tipo de escaneo] TCP Connect Scan

Hay información sobre TCP Connect Scans.
Finalmente, hay un pequeño problema.

Por ahora, comprendamos la explicación.

  • TCP Connect Scan funciona ejecutando un apretón de manos de 3 vías
  • Es decir, puede conectarse a cada puerto TCP y verificar si el servicio está abierto respondiendo
  • Si se envía a un puerto cerrado, se responde un paquete TCP con la bandera RST
  • Si se envía a un puerto abierto, se responderá un paquete TCP con el conjunto de indicadores SYN/ACK
  • Cuando hay un FW, muchos FW están configurados para soltar el paquete.
    Por lo tanto, incluso si envía una solicitud de syn TCP, no se devolverá nada. Esto puede considerarse protegido por el FW.
  • Al configurar el FW para responder con los paquetes RST TCP, puede actuar como si estuviera cerrado.
    En Linux iptables, puede ser compatible con "iptables -i input -p tcp -dport -j rechazar -reject -with tcp -reset".
    Esto puede dificultar la lectura.

Hay un problema, así que publicaré la respuesta.

¿Qué RFC definen el comportamiento adecuado del protocolo TCP?

Esto estaba en la parte superior de la explicación.

Si el puerto está cerrado, ¿qué indicador debe enviar el servidor para indicar esto?

Esto también está en mis notas.
Se puede decir que el FW es difícil de leer respondiendo "RST" y fingiendo estar cerrado.

[Tipo de escaneo] Syn Scan

A continuación, hablemos de los escaneos de syn.
Hay varias explicaciones, así que las leeré.

  • Los escaneos SYN también se conocen como escaneos medio abiertos o escaneos sigilosos.
  • Después de recibir un SYN/ACK, responder con RST no establece completamente un apretón de manos de 3 vías.
  • Los sistemas de detección de intrusos más antiguos monitorean el apretón de manos de 3 vías para que pueda evitarlo
  • En general, los escaneos SYN no se registran porque la conexión está completamente establecida
  • 3 No hay necesidad de completar (y desconectar) el apretón de manos de la manera, más rápido que TCP Connect Scan
  • Se requieren permisos de SODU para funcionar correctamente en Linux. Porque se requiere la capacidad de crear paquetes sin procesar.
  • Los escaneos de syn en servicios inestables pueden hacer que el servicio disminuya

Ahora respondamos la pregunta.

Hay otros dos nombres para Syn Scan, ¿qué son?

Esto es fácil.
Escribe medio abierto y sigiloso en inglés.

¿Puede NMAP usar escaneos SYN sin permisos de sudo (y/n)?

La respuesta es No.
Necesita permisos de Sodu, y la razón es que necesita la capacidad de crear paquetes en bruto.

[Tipo de escaneo] Escaneo UDP

Leemos la explicación sobre el escaneo UDP.

  • UDP solo sigue enviando paquetes al puerto de destino y espera éxito
  • UDP a menudo se usa para conexiones que dependen más de la velocidad que la calidad (como el intercambio de videos).
  • Ningún reconocimiento dificulta mucho el escaneo
  • Si se envía un paquete, si no hay respuesta, está abierto o protegido por FW (es difícil de identificar)
  • Raramente, si se devuelve una respuesta, se marcará como abierta
  • Si se responde con un paquete ICMP, se reconoce como un puerto cerrado.

Debido a que UDP no responde, es difícil determinar si realmente está abierto.
Ahora, resolvamos el problema.

¿Qué está marcado si un puerto UDP no responde a un escaneo NMAP?

Dado que no se sabe UDP si está abierto o cae en FW, se marcará "Abierto | Filtrado".

Si el puerto UDP está cerrado, por convención, el objetivo debe enviar un mensaje "No se puede contactar". ¿Qué protocolo usas para eso?

Esto también se mencionó en la explicación. Debe responder con un paquete ICMP (ping) que contiene un mensaje de que no se puede llegar al puerto, ¿verdad?

[Tipo de escaneo] NULL, FIN y Navidad

Contiene explicaciones sobre escaneos nulos, escaneos de aletas y escaneos de Navidad.
Comprenda esto de la misma manera antes de proceder a la pregunta.

  • Los métodos de escaneo no se usan comúnmente
  • Un escaneo nulo envía una solicitud TCP sin banderas. Según el RFC, si el puerto está cerrado, se responde un RST.
  • Se envía un escaneo de aleta usando la bandera de aleta, mientras que un escaneo nulo envía un paquete completamente vacío.
    Verifique que el puerto esté cerrado por RST respondiendo.
  • Escaneo de Navidad: Básicamente, espero una primera respuesta. Escanee enviando paquetes TCP malformados.
  • RFC793 simplemente requiere que los puertos abiertos no respondan en absoluto.
  • Por ejemplo, Microsoft Windows responde con RST a paquetes TCP malformados, independientemente de si el puerto está realmente abierto. ⇒ Esto hará que parezca que todos los puertos están cerrados.

Ahora respondamos la pregunta.

De los tres tipos de escaneo que se muestran, ¿que usan la bandera URG?

Como se explicó, este es un "escaneo de Navidad".

¿Por qué se usan comúnmente los escaneos nulos, aletas y Navidad?

Se ve un poco raro en japonés.
Más bien, es como, "¿Cuáles son los propósitos comunes para NULL, FIN y Navidad?"
Si ese es el caso, el propósito de esto era evitar FWS, por lo que la "evasión del firewall" es la respuesta.

¿Qué sistema operativo es común que responde a los escaneos nulos, de aleta o Navidad usando RST en todos los puertos?

Esto también fue en mis notas. "Microsoft Windows" es la respuesta.

[Tipo de escaneo] Escaneo de red ICMP

Esta es la última vez que explicaré el escaneo.
Esto parece ser un escaneo para ver qué direcciones IP contienen el host activo.

  • Envía paquetes ICMP a cada dirección IP posible en la red especificada.
    Una vez que se recibe una respuesta, la dirección IP se vuelve válida.
  • Esto se llama Ping Sweet.
  • No es necesariamente preciso, pero vale la pena hacerlo como base.

Responderé las preguntas.

¿Cómo puedo realizar un barrido de ping en una red 172.16.xx (máscara de red: 255.255.0.0) usando NMAP? (Notación de CIDR)

El CIDR para la red de Clase B es /16, por lo que la respuesta es "NMAP -SN 172.16.0.0/16".

[NSE] Descripción general

Hasta ahora he aprendido mucho sobre el escaneo, pero a partir de aquí me he convertido en un NSE.
El NSE está escrito en Lua y parece ser capaz de hacer una variedad de cosas, desde el escaneo de vulnerabilidad hasta la automatización de la explotación.

  • seguro: no afecta los objetivos
  • Intrusivo: posible afectar los objetivos
  • Vuln: escaneo de vulnerabilidad
  • Explotación: exploit vulnerabilidad
  • Auth: intente evitar la autenticación de un servicio en ejecución (por ejemplo, inicie sesión de forma anónima a un servidor FTP)
  • Brute: intente la información de autenticación de fuerza bruta para ejecutar el servicio
  • Descubrimiento: consulte el servicio en ejecución para obtener más información sobre la red (por ejemplo, consulte el servidor SNMP)

Parece que hay muchas otras cosas, pero creo que intentaré usarlas nuevamente y recordarélas.

Ahora, respondamos.

¿En qué idioma está escrito el guión NSE?

Es lua.

¿Qué categoría de scripts es una muy mala idea de ejecutar en un entorno de producción?

El problema es "intrusivo", lo que afecta al objetivo.

[NSE]

Esto es solo cómo usarlo.
Si lo usa en particular, probablemente podrá recordar, por lo que simplemente resolverá los problemas y lo terminará.

¿Qué argumentos opcionales pueden tomar el script FTP-anon.nse?

Así que intenté hacer lo siguiente:

nmap --script-help ftp-anon.nse

Abriré el enlace.

El argumento es aparentemente "Maxlist".

[NSE] Búsqueda de scripts

Esta es básicamente una explicación de cómo usarlo, por lo que solo responderé las preguntas.

Busque el script "SMB" en el directorio utilizando uno de los métodos mostrados. ¿Cuál es el nombre de archivo para el script que determina el sistema operativo subyacente de un servidor SMB?

Esta vez intentaré buscar usando LS -L.

ll/usr/share/nmap/scripts/*smb*

Hay varios scripts que admiten SMB, pero es "SMB-OS-Discubrevery.nse".

Lea este script. ¿De qué depende?

Se les dice que lean el guión, así que léelo en silencio.

cat /usr/share/nmap/scripts/smb-os-discovery.nse

Cuando busqué la dependencia, decía "SMB-Brute".

Evitar el firewall

Debido a que los hosts de Windows regulares bloquean todos los paquetes ICMP con el firewall predeterminado, NMAP deshabilita los hosts con esta configuración de firewall y ya no escanea en absoluto.
Así que hay una manera de evitar esto.

  • Antes de escanear el host, evite hacer ping a cada vez, y NMAP siempre trata al host objetivo como vivo.
  • Sin embargo, lleva mucho tiempo, así que tenga cuidado.

Ahora respondamos la pregunta.

¿Qué protocolos simples (y a menudo dependientes) a menudo se bloquean y requieren el uso de interruptores -pn?

¿El interruptor -pn es evitar que los paquetes ICMP se bloqueen?

[Encuesta] ¿Qué conmutadores NMAP le permiten agregar datos aleatorios de cualquier longitud al final de un paquete?

Echemos un vistazo a la ayuda de NMAP.

nmap -help 

Dice "–-longitud de datos" para agregar datos aleatorios.

Práctica

De aquí en adelante, ¡es una idea práctica! ! (por fin...)

Ahora hagamos nuestro mejor esfuerzo al responder las preguntas.

¿El objetivo (10.10.253.93) responde a las solicitudes de ICMP (ping) (y/n)?

Ahora, enviemos un ping adecuadamente.

Ping 10.10.253.93 (10.10.253.93) 56 (84) bytes de datos. --- 10.10.253.93 Estadísticas de ping --- 5 paquetes transmitidos, 0 recibidos, 100% de pérdida de paquetes, tiempo 4094ms

No respondió a la solicitud, por lo que es "N".

Ejecute un escaneo de Navidad en los primeros 999 puertos en el destino: ¿qué número de puertos se muestra que están abiertos o filtrados?

$ sudo nmap -sx -p 1-999 10.10.156.142 Inicio de NMAP 7.92 (https://nmap.org) al 2023-02-09 00:58 JST NOTA: El host parece inactivo. Si realmente está arriba, pero bloquea nuestros problemas de ping, intente -pn nmap hecho: 1 dirección IP (0 alojamiento) escaneada en 3.14 segundos

Esto no fue bueno. Como Ping no pasará, deberá adjuntar -pn.

$ sudo nmap -sx -p 1-999 10.10.156.142 -pn -vv inicial nmap 7.92 (https://nmap.org) al 2023-02-09 01:00 JST iniciando la resolución de DNS paralelo de 1 host. A las 01:00 completada la resolución DNS paralela de 1 host. A las 01:00, las 0.00 transcurrieron el escaneo de Navidad a las 01:00 escaneo 10.10.156.142 [999 puertos] Tiempo de exploración de Navidad: aproximadamente 15.52% hecho; Etc: 01:03 (0:02:49 restante) Tiempo de exploración de Navidad: aproximadamente el 30.53% hecho; Etc: 01:03 (0:02:19 restante) Tiempo de exploración de Navidad: aproximadamente 45.55% hecho; Etc: 01:03 (0:01:49 restante) Tiempo de exploración de Navidad: aproximadamente 60.56% hecho; Etc: 01:03 (0:01:19 restante) Tiempo de exploración de Navidad: aproximadamente 75.58% hecho; Etc: 01:03 (0:00:49 restante) Completó el escaneo de Navidad a las 01:03, 201.93s transcurrido (999 puertos totales) El informe de escaneo NMAP para 10.10.156.142 El host está activo, recibió el set de usuario. Escaneado en 2023-02-09 01:00:14 JST por 201S Todos los 999 puertos escaneados el 10.10.156.142 están en estados ignorados. No se muestra: 999 Abrir | Puertos TCP filtrados (sin-resespones) Lea archivos de datos de: /usr/bin/../share/nmap nmap hecho: 1 dirección IP (1 host) escaneada en 202.00 segundos paquetes sin procesar enviados: 1998 (79.920kb) | RCVD: 0 (0b)

Ahora sé que Abierto | Filtrado es 999.

Hay una razón para esto, ¿qué es?

Acabo de agregar -vv, así que la razón está escrita.
Eso significa que no es respuesta.

Realice una exploración SYN TCP en los primeros 5000 puertos del objetivo. ¿Cuántos puertos abiertos hay?

$ sudo nmap -ss -p 1-5000 10.10.156.142 -pn -vv iniciando nmap 7.92 (https://nmap.org) al 2023-02-09 01:12 JST iniciando la resolución de DNS paralelo de 1 host. A las 01:12 completada la resolución DNS paralela de 1 host. A las 01:12, las 0.00 transcurrieron iniciando Syn Stealth Scan a las 01:12 escaneo 10.10.156.142 [5000 puertos] Puerto abierto descubierto 135/TCP en 10.10.156.142 Descubierto el puerto abierto 21/TCP en 10.10.156.142 Descubierto el puerto abierto 53/TCP en el 10.10.156.142 descubierto en el puerto abierto. 10.10.156.142 Puerto abierto descubierto 3389/TCP en 10.10.156.142 SIN COMPLETO ESCANCIÓN SINGALMENTE A las 01:13, transcurrió 37.75s (5000 puertos totales) de escaneo de NMAP para 10.10.156.142 Host está activo, recibió la red de usuario (latencia de 0.27s). Scanned at 2023-02-09 01:12:25 JST for 38s Not shown: 4995 filtered tcp ports (no-response) PORT STATE SERVICE REASON 21/tcp open ftp syn-ack ttl 127 53/tcp open domain syn-ack ttl 127 80/tcp open http syn-ack ttl 127 135/tcp open msrpc syn-ack TTL 127 3389/TCP Abra MS-WBT-Server Syn-Aack TTL 127 Lea archivos de datos de: /usr/bin/../share/nmap nmap hecho: 1 dirección IP (1 host) escaneada en 37.82 segundos paquetes sin procesar: 10017 (440.748kb) | RCVD: 27 (1.188kb)

Mirando esto, puedes ver que el abierto es 5.

Expanda el guión contra el cuadro. ¿Puede FTP-anonnMap iniciar sesión con éxito en el servidor FTP en el puerto 21? (Sí/no)

$ nmap --script = ftp-anon -p 21 10.10.156.142 -vv iniciando nmap 7.92 (https://nmap.org) al 2023-02-09 01:21 JST NSE: cargado 1 scripts para escanear. NSE: Script Pre-Scanning. NSE: Inicio RunLevel 1 (de 1) Escaneo. Iniciando NSE a las 01:21 completó NSE a las 01:21, las 0.00 transcurrieron el escaneo de ping de iniciación a las 01:21 escaneo 10.10.156.142 [2 puertos] Completó escaneo de ping a las 01:21, 0.26s transcurridos (1 anfitriones totales) iniciando la resolución de dNS de paralelo de 1 host. A las 01:21 completada la resolución DNS paralela de 1 host. A las 01:21, las 0.00 transcurrieron el escaneo de conexión de iniciación a las 01:21 escaneo 10.10.156.142 [1 puerto] Puerto abierto descubierto 21/TCP en 10.10.156.142 ESCANTA CONECTO COMPLETAD NSE: Inicio RunLevel 1 (de 1) Escaneo. Iniciando NSE a las 01:21 Tiempo de NSE: aproximadamente 0.00% realizado NSE completado a las 01:22, 31.32s el informe de escaneo NMAP transcurrido para 10.10.156.142 El host está activo, recibió Syn-Aack (0.26s Latency). Escaneado en 2023-02-09 01:21:49 JST por 31s Port State Service Razon FTP-Anon: inicio de sesión FTP anónimo permitido (código FTP 230) | _Can't Get Directorio Listado: Tiempo de espera NSE: Script Post-Scanning. NSE: Inicio RunLevel 1 (de 1) Escaneo. Iniciando NSE a las 01:22 completado NSE a las 01:22, 0.00s transcurrieron los archivos de datos de lectura de: /usr/bin/../share/nmap nmap hecho: 1 dirección IP (1 host) escaneó en 32.00 segundos

Probablemente haya confirmado que pudo iniciar sesión usando "FTP-Anon: inicio de sesión FTP anónimo permitido (código FTP 230)".

resumen

Esta vez, probé la habitación Tryhackme para aprender a usar NMAP.
NMAP es una poderosa herramienta de escaneo de red, pero es rica en funcionalidad, por lo que llevará algún tiempo dominarla.

Creo que sería bueno probar muchas cosas y dominar cómo usarlo.

¡Comparte si quieres!

Quien escribió este artículo

Este es un blog que comencé a estudiar la seguridad de la información. Como nuevo empleado, sería feliz si pudieras mirar con un corazón amplio.
También está Teech Lab, que es una oportunidad para estudiar diversión de programación, por lo que si está interesado en el desarrollo de software, ¡asegúrese de echar un vistazo!

Tabla de contenido