Cargando



Comprobar Firewall con NMAP y TCPDUMP

Tutorial con vídeo para saber Comprobar Firewall con NMAP y TCPDUMP.


jul 03 2023 14:50
Intermedio

Para estar al día, recuerda suscribirte a nuestro canal de YouTube!
SUSCRIBETE EN YOUTUBE

 

En el momento de que nos conectamos a un sitio web o hacemos uso de algún servicio de red entra en juego numerosos procesos y servicios que harán que la comunicación sea exitosa y para asegurar que todo sea viable se dispone del Firewall. Este firewall está compuesto por un grupo de reglas de entrada y salida donde se analizan los paquetes entrantes y salientes para validar su integridad y así determinar si es o no confiable. Además de ello, al Solvetic te enseñará algunos métodos extras para lograr que todo funcione de la mejor manera y por ello hablaremos de dos utilidades esenciales como lo son nmap y tcpdump.

 

Nmap (network mapper) está desarrollado como una utilidad para exploración de redes y sondeo de seguridad directamente en los puertos, es ideal para tareas de exploración de red y auditoría de seguridad. Para comprender un poco su uso, Nmap se encarga de usar paquetes IP raw (sin contenido) con el fin de determinar qué equipos están disponibles en la red, adicional se puede validar qué servicios (nombre y versión de la aplicación) están alojados en ellos y ver su sistema operativo, tener acceso a los filtros de paquetes o cortafuegos y algunas funciones más.

 

Tutorial con vídeo para saber usar Iptables Firewall Servidores para proteger Tráfico de forma completa en Linux.

 

Funciones
Algunas de las características más sobresalientes de Nmap son:

 

  • Es totalmente flexible.
  • Puede ser usado en sistemas Linux, Windows, FreeBSD, OpenBSD, Solaris, macOS y muchos mas.
  • Especificación de puertos y orden de escaneo.
  • Detección de sistema operativo.
  • Tiempo y rendimiento de cada host.
  • Especificación de destino.
  • Escaneo de red completo o parcial si es necesario.
  • Genera informes en formatos como texto plano, XML o HTML.
  • Función de escaneo furtivo, es decir, se lleva a cabo el escaneo en modo sigiloso (stealth) o bien se usa el escaneo de puertos en serie, esto para evitar ser detectado por los dispositivos de seguridad y firewalls que estén activos en el destino.
  • Escaneo en paralelo el cual permite enviar múltiples paquetes de forma simultánea ayudando a optimizar el escaneo.
  • Permite al usuario hacer uso de scripts con el fin de automatizar tareas y realizar escaneos avanzados en el destino.

 

 

Parámetros
Algunos parámetros generales de Nmap son:

 

  • -iL <archivo_entrada>: va a leer una lista de sistemas del archivo
  • -iR <número de sistemas>: selecciona objetivos de forma aleatoria
  • -sL: Sondeo de lista: hace uso de la lista de objetivos a analizar
  • -sP: Sondeo Ping: permite determinar si el objetivo está vivo
  • -P0: Asume que todos los objetivos están vivos
  • -PS/PA/PU [listadepuertos]: ejecuta un análisis TCP SYN, ACK o UDP de los puertos indicados por el usuario
  • -PE/PP/PM: hace un análisis ICMP del tipo echo, marca de fecha y máscara de red
  • -n/-R: no lleva a cabo la resolución DNS
  • -sS/sT/sA/sW/sM: lleva a cabo un análisis TCP SYN/Connect()/ACK
  • -sN/sF/sX: lleva a cabo un análisis TCP Null, FIN, y Xmas
  • --scanflags <indicador>: permite especificar los indicadores TCP que vamos a usar
  • -p <rango de puertos>: permite hacer un análisis de los puertos indicados
  • -F: lleva a cabo un análisis de los puertos listados en el archivo nmap-services
  • -r: analiza los puertos secuencialmente
  • -O: activa la detección de sistema operativo
  • --osscan-limit: limita la detección del sistema operativo
  • -6: Habilita el análisis IPv6
  • -A: habilita la detección de sistema operativo y de versión

 

 

Ahora, tcpdump es un analizador de paquetes de línea de comandos el cual usa libpcap, la cual es una biblioteca C/C++ portátil, que permite capturar el tráfico de red, esta herramienta puede capturar y mostrar paquetes que viajan en una interfaz de red específica, todo este análisis se hace en tiempo real.

 

Características
Algunas de sus características más sobresalientes son:

 

  • Permite hacer análisis de tráfico de red en tiempo real.
  • Es compatible con filtros de expresiones de captura complejas haciendo uso de la sintaxis de expresiones de filtro integradas de libpcap.
  • Permite guardar la captura de paquetes en un archivo para fines de soporte y gestión.
  • Ofrece información detallada sobre cada paquete capturado, esto abarca su dirección ip de origen y destino, puertos, protocolo, tamaño del paquete y más detalles.
  • Permite filtrar y mostrar únicamente los paquetes que se adaptan a los criterios definidos por nosotros como usuarios.
  • Esta en la capacidad de capturar paquetes en base a filtros propios como lo son el uso de direcciones IP de origen y destino, puertos y mas

 

 

Parámetros tcpdump
Algunos de los parámetros que podemos usar con tcpdump son:

 

  • -A: imprime cada paquete capturado.
  • -B: muestra el tamaño del búfer.
  • -c (contar): se encarga de contar la cantidad de paquetes detectados.
  • --count: imprime únicamente el recuento de paquetes al leer los archivos de captura en vez de analizar estos paquetes.
  • -d: genera el código compilado de coincidencia de paquetes en un formato legible por humanos.
  • -e: imprime el encabezado de nivel de enlace de cada paquete.
  • -f: imprime direcciones IPv4 de forma numérica mas no de forma simbólica.
  • -i interface: permite definir la interfaz a analizar.
  • -I (--monitor-mode): establece la interfaz en "modo monitor" y aplica para las interfaces Wi-Fi IEEE 802.11.
  • -K: no verifica las sumas de comprobación de IP, TCP o UDP.
  • -m module: carga las definiciones del módulo SMI MIB usando el módulo de archivo.
  • -n: no convierte direcciones.

 

 

Sin mas ahora Solvetic te explicara como usar estas dos herramientas para analizar el estado del firewall en Linux y usaremos Ubuntu.

 

Cómo comprobar firewall con Nmap y Tcpdump

 

 

Paso 1

Vamos a abrir la terminal y actualizar el sistema con el siguiente comando:
sudo apt update

 

Paso 2

Después de esto vamos a instalar las utilidades necesarias con el siguiente comando:
sudo apt install tcpdump nmap

 

Paso 3

Ingresamos la letra S para confirmar este proceso:

 

Paso 4

Ahora vamos a crear el directorio donde se guardarán los resultados del análisis, usaremos el siguiente comando:
mkdir ~/nombre

 

Nota
si se esta usando para analizar diversos equipos Solvetic te recomienda cerrar las sesiones abiertas SSH o actividades HTTPS.

 

Paso 5

Ahora vamos a escanear el equipo para buscar de puertos TCP abiertos, primero vamos a crear otro directorio dentro del anterior para el primer análisis:
mkdir ~/(nombre)/nombre

 

Paso 6

Ahora vamos a ejecutar el comando “ip a” para saber la IP de nuestro equipo o del equipo de destino:

 

 

Paso 7

Ahora vamos a usar el escaneo SYN el cual es un escaneo que no hace una negociación completa con el destino, para ello ejecutamos lo siguiente:
sudo tcpdump host ip_equipo -w ~/nombre/nombre/packets

 

Paso 8

Por defecto tcpdump se ejecutará en primer plano, si no se requiere esto podemos pausar este proceso con las teclas siguientes:

 

Ctrl + Z

 

Paso 9

Luego si es necesario ejecutamos “bg” para que se ejecute en segundo plano.

 

 

Paso 10

Ahora vamos a llevar a cabo el escaneo SYN, para ello vamos a ejecutar lo siguiente:
sudo nmap -sS -Pn -p- -T4 -vv --reason -oN ~/nombre/nombre/nmap.results IP_equipo

9

 

Paso 11

Hemos usado los siguientes parámetros:

 

  • -sS: inicia el escaneo SYN
  • -Pn: permite omitir el descubrimiento del host
  • -p-: por defecto un escaneo SYN valida los 1000 puertos más usados, con este comando nmap verificara todos los puertos disponibles
  • -T4: establece un perfil de tiempo para nmap, el valor 0 es el más lento y 5 es el más veloz
  • -vv: mejora la verbosidad de la salida
  • --reason: permite que nmap nos indique la causa del estado de un puerto
  • -oN: escribe los resultados en un archivo

 

Paso 12

Podemos ver el resultado total del comando. Vemos el puerto, estado, servicio detectado y razón.

 

 

Paso 13

Analizamos los resultados de este examen con el comando:
less ~/nombre/nombre/nmap.results
Paso 14

Podemos ver que 65530 puertos fueron cerrados, encontramos la IP de destino, el tiempo usado y más.

 

 

Paso 14

Algunos comandos que podemos usar son los siguientes.
  • Para ver el tráfico en tiempo real (si aplica):
sudo tcpdump -nn -r ~/nombre/nombre/packets | les
  • Para ver el tráfico enviado:
sudo tcpdump -nn -r ~/nombre/nombre/packets 'dst IP_equipo' | les
  • Ahora vamos a revisar los puertos UDP, primero vamos a crear el directorio usando siguiente sintaxis:
mkdir ~/nombre/udp

 

Paso 15

Ahora vamos a ejecutar el siguiente comando para analizar todo lo relacionado con UDP teniendo en cuenta la IP de destino:
sudo tcpdump host IP_equipo -w ~/nombre/udp /packets

 

Paso 16

Detenemos este proceso con las teclas:

 

 

Ctrl + Z

 

 

 

Paso 17

Permitimos que se ejecute en segundo plano con “bg”:

 

 

Paso 18

A tener en cuenta que el análisis UDP puede tomar demasiado tiempo por la cantidad de puertos existentes, esto a razón que UDP es un protocolo sin conexión, para reducir la velocidad y el tiempo de escaneo vamos a comprobar el rango de tiempo del parámetro con el siguiente comando:
sudo sysctl net.ipv4.icmp_ratelimit

 

Paso 19

Vamos a deshabilitar este valor estableciendo su valor en 0 con el siguiente comando:
sudo sysctl -w net.ipv4.icmp_ratelimit=0

 

Paso 20

Ahora será posible ejecutar la prueba con el siguiente comando:
sudo nmap -sU -Pn -p- -T4 -vv --reason -oN ~/nombre/udp /nmap.results IP_equipo

 

Paso 21

Vamos a la parte inferior para ver todos los resultados. Vemos la cantidad de puertos detectados, cantidad de equipos detectados, tiempo usado y más.

 

 

Paso 22

Después de esto vamos a restablecer de nuevo los valores del parámetro usando el siguiente comando:
sudo sysctl -w net.ipv4.icmp_ratelimit=1000

 

 

Paso 23

Establecemos UDP en primer plano con el comando “fg” y terminamos el proceso con:

 

Ctrl + C

 

 

 

 

Paso 24

Accederemos a los resultados con el comando:
less ~/nombre/udp/nmap.results

 

Paso 25

Es momento de crear un directorio para almacenar los servicios y hosts:

 

 

Paso 26

Ahora vamos a ejecutar el siguiente comando indicando los puertos a usar para el análisis:
sudo nmap -sV -Pn -p 22,80 -vv --reason -oN ~/nombre/versions/service_versions.nmap IP_equipo

 

Paso 27

Vemos los resultados completos del análisis:

 

 

Paso 28

Vemos allí el tipo de servicio detectado y su estado, accederemos a los resultados con el comando:
less ~/nombre /versions/service_versions.nmap

 

Paso 29

Vamos a ejecutar el siguiente comando para acceder a las versiones de sistema operativo en el equipo objetivo:
sudo nmap -O -Pn -vv --reason -oN ~/nombre/versions/os_version.nmap IP_equipo

 

Paso 30

Bajamos un poco para ver la totalidad de los resultados:

 

 

Paso 31

Accedemos a los resultados con el comando: Allí encontramos los sistemas operativos detectados.
less ~/nombre/versions/os_version.nmap

 

Paso 32

Algunas otras opciones para usar tcpdump son las siguientes. Para ver una lista de dispositivos donde podremos capturar datos usamos el comando:
sudo tcpdump -D

 

Paso 33

Para listar toda las interfaces disponibles ejecutamos:
sudo tcpdump –interface any

 

Paso 34

podemos capturar una cantidad X de paquetes antes de detener el análisis en cualquier interfaz:
sudo tcpdump -i any -c# -nn

 

Así es como estas dos utilidades serán fiables y prácticas para ver el estado del firewall en Linux.

 

Tutorial para poder ver puertos abiertos Linux en CentOS o Ubuntu o saber qué puertos tengo abiertos.


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X