martes, 16 de julio de 2024

Escaneo de redes con nmap

En el mundo de la redes hay algunos programas imprescindibles para el escanear y descubrir puertos, para esto tenemos nmap.
Nmap es la abreviatura "Network Mapper" y esta diseñada para la exploración de redes y auditorias de seguridad, como si un radar de red se tratara, permitiendo tener una detallada de los dispositivos conectados, que servicios ofrecen y sus posibles vulnerabilidades.

Entre las funcionalidades de nmap destacan:
  • Identificar dispositivos: independientemente de si son ordenadores, servidores, router...
  • Escaneo de puertos: Detecta los puertos abiertos y los servicios que ejecutan (ssh, ftp, http..)
  • Identificar sistemas operativos: Determina el sistema operativo que utiliza cada dispositivo
  • Detectar versiones : Identifica la versión de los servicios que se ejecutan
  • Detectar vulnerabilidades: Al combinar todos los apartados anteriores podemos identificar potenciales puntos débiles de una red.


Debido a todas estas funcionalidades, nmap, es ampliamente utilizado para:
  • Administración de redes: Podemos inventariar redes, planificar actualizaciones o monitorear el tiempo de actividad de los servicios en ejecución.
  • Auditoria de seguridad: Identificando dispositivos expuestos detectando vulnerabilidades y tomar medidas de seguridad con respecto a la red.
  • Análisis de redes: Identificando firewalls y otros sistemas de seguridad.


Conceptos básicos antes de empezar con nmap:

Puerto de Red: Es el puerto donde se ejecutan los servicios.
Los puertos de una red pueden aparecer como: 
 
  • open: El pueto esta listo para dar servicio TCP, datagramas UDP o asociaciones SCTP o el servicio ya esta en ejecución.
  • closed: El pueto esta cerrado, el servicio no esta activo.
  • wrapped: Hay un servicio real protegido.
  • filtered: En este estado no puede determinar si el puerto esta abierto por que hay un activado firewall dedicado o por software o reglas del enrutador. Esto ralentiza mucho el escaneo.
  • unfiltered: Sin filtrar, se puede acceder al puerto pero nmap n o puede determinar si esta abierto o cerrado. Se puede utilizar el escaneo Windows, SYN o FIN para determinar si el puerto esta abierto
  • open|filtered: Se muestran en este estado cuando no puede determinar si esta abierto o filtrado. Ocurre en escaneos puertos abiertos no dan respuesta. UDP, protocolo IP, FIN, NULL y Xmas clasifican los puertos de esta manera
  • closed|filtered: No se puede determinar si el puerto esta cerrado o filtrado.

Dirección IP: Es el identificador único de un dispositivo en una red. Esta compuesta por 4 números decimales separados por puntos: 192.168.0.100. Los valores para estos 4 números siempre estará comprendido entre 0 y 255.

Dirección MAC: Es el identificador único físico de un adaptador de red. A diferencia de una dirección IP, la dirección MAC esta grabada en el propio adaptador y no se puede cambiar. Identificando al fabricante y al lote que pertenece dentro de este mismo fabricante.

Máscara de red: Identifica la red de una IP. De esta manera un dispositivo puede saber si otros dispositivos están en la misma red o en otra red diferente.

Escaneo activo y escaneo pasivo::
  • Activo: Es un escaneo directo y preciso. Esto hace que su detección es más sencilla y puede ser más lento debido a las medidas de seguridad del equipo objetivo debido a un firewall, IDS, IBS, etc...
  • Pasivo: Es un escaneo más discreto, es decir menos intrusivo, pero también menos detallado.


Como se establece una conexión TCP/IP?:

Al proceso de conexión TCP/IP se le conoce como "handshake de tres vías". Con este proceso se asegura una conexión estable para la comunicación entre máquinas. Estos son los pasos que realiza:


  • Inicia la conexión (SYN): El dispositivo que inicia la conexión, cliente, envía un paquete SYN (synchronize) al dispositivo receptor, el servidor. Este paquete contiene el número de secuencia inical
  • Confirmación del servidor (SYN-ACK): El servidor recibe el paquete SYN y envía un paquete SYN-ACK (synchronize-acknowledge) al cliente confirmando la recepción del SYN y asignando su propio número de secuencia inicial.
  • Confirmación del clinete (ACK): El cliente recibe el paquete SYN-ACK y envía el paquete ACK (acknowledge) al servidor. Este paquete confirma la recepción del SYN-ACK y establece la conexión



Identificar equipos con nmap:
  • TCP SYN ping: Envía un paquete TCP vacío con el indicador SYN se pueden especificar puertos con el parametro -p

  • 
      # TCP SYN ping: 
      nmap -PS 192.168.1.80
      

  • TCP ACK ping: Envía un paquete ACK obligando a los equipos remotos a responder con RST revelanado su existencia en el proceso

  • 
      # TCP ACK ping: 
      nmap -PA 192.168.1.80
      

  • Ping UDP: Envía un paquete UDP a los puertos indicados. Al llegar a un puerto cerrado en la máquina destino debe generar a cambio un paquete de puerto ICMP inalcanzable, indicando que la maquina está activa. Suele ser muy útil para evitar firewalls y los filtros TCP

  • 
      # Ping UDP: (necesita sudo)
      nmap -PU 192.168.1.80
      

  • Ping por protocolo: Envía paquetes IP con el número de protocolo establecido en su encabezado IP. Busca respuestas utilizando el mismo protocolo que una prueba inalcanzable del protocolo ICMP que no es compatible con el destino. Cualquier respuesta indicara que la máquina está activa
  • 
      # Ping por protocolo: 
      nmap -PO 192.168.1.80
      

  • No hacer ping: Omite por completo el descubrimiento de equipos

  • 
      # No hacer ping: 
      nmap -PN 192.168.1.80
      


    Otas opciones de nmap:
  • -T: Con un valor de 0 a 5 siendo 0 más lento y 5 más rápido.
  • -p: Seguido de un valor o valores indica el puerto que se va a escanear. El valor puede ser único, ejem: -p 80, un conjunto serparado por comas -p 21,22,80. Por un rango 20-80.
  • -v: Incrementa la información que se muestra al realizar el escaneo.
  • -oN NOMBRE_ARCHIVO: Guarda la información del escaneo en un archivo de texto.
  • -oX NOMBRE_ARCHIVO.xml: Guarda la información del escaneo en un archivo en formato XML.
  • -V: Muestra las versiones de los servicios en ejecución.
  • -O: Muestra el sistema operativo de la máquina objetivo.




  • No hay comentarios :

    Publicar un comentario