Varias veces podría haber utilizado NMAP para realizar escaneos de red para enumerar servicios de puerto activos de la máquina de destino, pero en algunos casos, no es posible realizar escaneos con la ayuda del método de escaneo básico, especialmente en el caso del filtro de firewall.
Hoy vamos a demostrar el "escaneo del cortafuegos Nmap" mediante el uso de reglas Iptable e intentaremos omitir el filtro del cortafuegos para realizar el escaneo avanzado de NMAP.
¡¡Vamos a empezar!!
IP del atacante: 192.168.0.107 [kali linux]
IP del objetivo: 192.168.0.101 [Ubuntu]
Análisis TCP Scan
Abra el terminal en su Kali Linux y ejecute el siguiente comando para realizar la exploración TCP [sT] para la enumeración de puertos abiertos.Cuando usará Wireshark para capturar el envío de paquetes en el caso de TCP mientras la red se está escaneando, aquí debe notar algunas cosas como "bandera, duración total y tiempo de vida [TTL]" [en la capa 3] .
La siguiente tabla contiene detalles de Flag, Longitud de datos y TTL en diferentes métodos de escaneo:
Nombre de escaneo | Bandera | Longitud de datos | TTL |
-sT (TCP) | SYN → ← SYN, ACK ACK → RST, ACK → | 60 60 | 64 |
-sS (sigilo) | SYN → ← SYN, ACK RST | 44 | <64 (menos de 64) |
-sF (acabado) | FIN → | 40 | <64 (menos de 64) |
-sN (nulo) | NULL → | 40 | <64 (menos de 64) |
-sX (Navidad) | FIN, PSH, URG → | 40 | <64 (menos de 64) |
Longitud total: 60 [longitud de datos excluyendo 14 bytes de Ethernet]
Tiempo de vida: 64 [es el TTL máximo del sistema Linux en comunicación TCP]
Rechazar SYN Flag con IPTables
Como sabemos, existe una fuerte lucha entre el investigador de seguridad y el atacante, para aumentar la seguridad de la red, el administrador aplicará un filtro de firewall que ahora evitará la comunicación de enlace de 3 vías en la red y se resistirá al atacante para realizar un escaneo TCP al rechazar el paquete SYN en la red.Ejecute el siguiente comando en Ubuntu para bloquear el paquete SYN:
Ahora, cuando el firewall rechaza el paquete SYN en la red de destino, el atacante no podrá enumerar el puerto abierto de la red de destino, incluso si los servicios están activados.
Ahora, cuando nuevamente [el atacante] hemos ejecutado el escaneo TCP, encontramos que el puerto 22 está cerrado como se muestra en la imagen dada.
Bypass SYN Filter
Cuando el atacante no puede enumerar el puerto abierto utilizando un escaneo TCP. Luego, hay algunos métodos de escaneo avanzados que se utilizan para omitir el tipo de filtro de firewall que se detalla a continuación:Escaneo FIN
Un paquete FIN se usa para terminar la conexión TCP entre el puerto de origen y el de destino, típicamente después de que se completa la transferencia de datos. En lugar del paquete SYN, Nma inicia un escaneo FIN enviando el paquete FIN.Fin Scan solo funciona en una máquina Linux y no funciona en la última versión de Windows
Cuando capture el tráfico de red para el paquete FIN, puede confirmar que la "longitud de datos" es 40 y que "TTL" será menor que 64 cada vez, además, no se utiliza el paquete SYN para establecer la comunicación TCP con la máquina de destino.
Escaneo NULL
Una exploración nula es una serie de paquetes TCP que contienen un número de secuencia de "ceros" (0000000) y dado que no hay ninguna marca establecida, el destino no sabrá cómo responder la solicitud. Descartará el paquete y no se enviará ninguna respuesta, lo que indica que el puerto t está abierto.Null Scan solo funciona en máquinas Linux y no funciona en la última versión de Windows
De manera similar, cuando capture el tráfico de red para el paquete NULL, puede confirmar que la "longitud de datos" es 40 y "TTL" será menor que 64 cada vez, aquí tampoco se utiliza el paquete SYN para establecer comunicación TCP con máquina de destino.
Escaneo de Navidad
Estos escaneos están diseñados para manipular los indicadores PSH, URG y FIN del encabezado TCP, establece los indicadores FIN, PSH y URG, iluminando el paquete como un árbol de Navidad. Cuando la fuente envió el paquete FIN, PUSH y URG a un puerto específico y si un puerto está abierto, el destino descartará los paquetes y no enviará ninguna respuesta a una fuente.Xmas Scan solo funciona en máquinas Linux y no funciona en la última versión de Windows
Del mismo modo, cuando capture el tráfico de red para el escaneo de Navidad, obtendrá la combinación de los indicadores FIN, PSH y URG, aquí también puede confirmar que la "longitud de datos" es 40 y "TTL" será menor que 64 cada vez.
Conclusión: la conexión TCP se estableció mediante un protocolo de enlace de 3 vías y si el cortafuegos descarta el protocolo de enlace de 3 vías para evitar la comunicación TCP, se utilizará la exploración TCP, NULL y XMAS para la conexión TCP.
Rechazar paquete FIN utilizando la regla IPTABLES
Nuevamente, el administrador agrega un nuevo filtro de firewall para evitar la enumeración de la red desde el escaneo Fin que rechazará el paquete FIN en la red.Ejecute el siguiente comando en Ubuntu para bloquear el paquete FIN:
Ahora, cuando el atacante intentará realizar un escaneo avanzado a través del escaneo FIN, no podrá enumerar la información de puerto abierto que puede confirmar a partir de la imagen a continuación.
Actualmente, solo Null y Xmas serán útiles para realizar la enumeración de puertos hasta que el administrador no haya bloqueado el tráfico proveniente de estos análisis. De la imagen a continuación puede confirmar que el puerto 22 está cerca cuando se realiza el escaneo Fin mientras está abierto cuando se realiza Nulo y Navidad.
Para evitar que su red también escanee NULL y Xmas, aplique la siguiente regla de iptables para Null y Xmas respectivamente:
Rechazar longitud de datos con IPTables
Como había discutido anteriormente sobre la comunicación TCP basada en 3 factores, es decir, "Bandera" que había demostrado anteriormente, "TTL" que demostraré más adelante y "Longitud de datos" que voy a demostrar.Así que ahora, cuando el administrador quiere proteger nuevamente su red del escaneo TCP, en lugar de aplicar el filtro de firewall en las banderas TCP, también puede aplicar la regla de firewall para verificar la "longitud de datos" de un tamaño específico y luego detener el tráfico de red entrante para la conexión TCP. Ejecute el siguiente comando para aplicar la regla de firewall en la "longitud de datos"; de manera predeterminada, 60 es el uso de la longitud de datos para el escaneo TCP que puede confirmar en la tabla anterior.
Ahora, cuando el cortafuegos ha bloqueado la longitud de datos de 60 bytes en la red de destino, el atacante no podrá enumerar el puerto de destino abierto, incluso si el servicio está activado.
Ahora, cuando nuevamente [el atacante] habíamos ejecutado el escaneo TCP, se encontró que el Puerto 22 está cerrado como se muestra en la imagen dada.
Evite la restricción de longitud de datos con Stealth Scan
Cuando el atacante no puede enumerar el puerto abierto mediante el escaneo TCP [sT], entonces se utilizan algunos métodos de escaneo para omitir ese tipo de filtro de firewall como se indica a continuación:
El escaneo oculto es muy similar al escaneo TCP y también se conoce como escaneo "medio abierto" porque envía el paquete SYN y como respuesta recibe el paquete SYN / ACK del puerto de escucha y el resultado del volcado sin enviar un paquete ACK al puerto de escucha. Por lo tanto, si el "paquete SYN" está bloqueado por el cortafuegos, esta exploración falla, esta exploración solo es aplicable en caso de que la longitud de los datos = 60 sea bloqueada o TTL = 64 sea bloqueada por el cortafuegos.
Escaneo de fragmentos
La opción -f hace que la exploración solicitada use pequeños paquetes IP fragmentados. La idea es dividir el encabezado TCP en varios paquetes para dificultar que los filtros de paquetes, los sistemas de detección de intrusos y otras molestias detecten lo que está haciendo. Por lo tanto, un encabezado TCP de 20 bytes se dividiría en tres paquetes, dos con ocho bytes del encabezado TCP y uno con los cuatro últimos.Cuando capture el tráfico de red, puede confirmar que la "longitud de datos" es 28, excluyendo 14 bytes de Ethernet y "TTL" será menor que 64 cada vez.
De manera similar, utiliza el escaneo Fin, Null y Xmas cuya longitud de datos es 40 para enumerar el puerto abierto de la red de destino.
Si el administrador aplicará un filtro de cortafuegos para rechazar la longitud de datos 40,44 y 60, entonces no permitirá que el atacante realice sobre todo escaneo, ya sea escaneo básico o escaneo avanzado, ejecutando las siguientes reglas de iptables.
De la imagen que se muestra a continuación puede observar ahora Fin, null, Xmas y stealth scan son algunos ejemplos que no pudieron enumerar el puerto abierto de la red de destino. Todos muestran que el puerto está cerrado, incluso si el servicio está activado.
Escaneo de longitud de datos
Cuando un atacante no puede enumerar el puerto abierto aplicando el escaneo anterior, entonces debe ir con nmap "escaneo de longitud de datos", que también omitirá el filtro de firewall anterior.De forma predeterminada, el escaneo nmap tiene una longitud de datos fija como se explica anteriormente, este escaneo le permite agregar la longitud de datos aleatoria de su elección.
Usando el siguiente comando, el atacante está tratando de enumerar el puerto abierto definiendo la longitud de datos 12
Por lo tanto, cuando utilizará wireshark para capturar el tráfico de red generado mientras se ejecuta este análisis, obtendrá "Longitud total" para TCP es 44.
El tamaño del paquete SSH es de 70 bytes; ahora reduce 14 bytes de su de Ethernet y luego permanece 56 bytes; ahora reduzca 12 bytes de longitud de datos que haya definido en la última longitud total, quedarán 44 bytes .
Aquí, 70 bytes -14 bytes [Ethernet] = 56 bytes
Ahora, 56 bytes -12 bytes [longitud de datos] = 44 bytes
Tamaño de longitud de rechazo de 1 a 100
Si un administrador es consciente del escaneo de longitud de datos de nmap, entonces debe bloquear un rango completo de longitud de datos para evitar el escaneo de red del atacante ejecutando la siguiente regla iptable.
Ahora, si el atacante envía una longitud de datos entre 1 byte y 100 bytes, el escaneo de puertos no puede enumerar su estado abierto, que puede confirmar a partir de la imagen a continuación cuando se envían 12 bytes y 10 bytes de longitud de datos en ambos escaneos, el puerto 22 está cerrado . Tan pronto como el atacante envió una longitud de datos de 101 bytes, que es más de 100 bytes, el puerto 22 se abre.
Escaneo TTL
Rechazar el tamaño TTL con IPTablesDespués de aplicar el filtro de firewall en "indicadores TCP" y "longitud de datos" para proteger la red de la enumeración, ahora agregue el filtro de firewall para "Time To Live", es decir, TTL.
Si ha notado la tabla que figura al principio del artículo, observará que solo el escaneo TCP [sT] tiene un valor TTL igual a 64; de lo contrario, el escaneo restante tiene un valor TTL menor que 64 cada vez, por lo tanto, si el administrador aplica un filtro de firewall para rechazar TTL valor 64, entonces evitará que la red escanee TCP.
El siguiente comando agregará una nueva regla de firewall para verificar el valor TTL de 64 y rechazar el paquete.
Ahora, si el atacante usa "escaneo TCP [sT]" para enumerar la información del puerto, siempre mostrará "el puerto está cerrado", de lo contrario, si se realiza otro escaneo, el atacante obtendrá información precisa relacionada con el estado del puerto. A partir de la imagen que se muestra a continuación, puede observar cuándo "se ejecuta el escaneo básico" para enumerar los detalles del puerto que da "el puerto 22 está abierto".
Esto sucede porque el valor TTL para el "escaneo básico" es menor que 64 y el cortafuegos de la máquina de destino rechazará solo el valor TTL igual a 64. Cuando capturamos el tráfico de red generado mientras se ejecuta este escaneo, encontramos que el valor TTL es 56 utilizados en el escaneo básico.
Ahora el administrador ha agregado un paso más de seguridad para evitar que su red escanee todo tipo al rechazar el valor TTL de 64 y menos de 64.
¡¡Bravo!! La regla del cortafuegos anterior es más poderosa que las reglas anteriores porque tiene un "escaneo básico" NMAP de bloque completo así como un "escaneo avanzado", si observa la imagen a continuación, observará que TCP [sT], Escaneo Fin [sF], Longitud de datos, Stealth [sS] El escaneo ha fallado y el puerto está cerrado.
Aún así, hay una segunda forma de enumerar el puerto para obtener un resultado preciso, estableciendo un valor TTL mayor que 64. El siguiente comando realizará un escaneo de puertos con un valor TTL definido, es decir, 65 que omitirá el filtro de firewall ya que 65 es mayor que 64.
Escaneo de puerto de origen
Filtro de puerto de origen con IPTablesUn paso más para proteger la red del escaneo es aplicar la regla de firewall para permitir el tráfico de un puerto específico solamente y rechazar el tráfico de los puertos restantes.
Ahora, nuevamente NMAP básico y avanzado no podrá enumerar el estado del puerto abierto y si el atacante hizo una suposición correcta de nuevo sobre el filtro de firewall, entonces puede ejecutar el escaneo del puerto de origen NMAP para enumerar los detalles del puerto.
La opción g se usa para definir el puerto de origen que llevará el paquete de red al puerto de destino.
Escaneo de señuelo
Establecer el registro del firewall para capturar la IP del atacanteEl administrador puede establecer una regla de firewall para crear un registro de IP del que proviene el tráfico, solo creará registros del sistema para capturar la IP del atacante que realiza el escaneo.
Escapar del registro del cortafuegos
Siempre tome algún tipo de precaución para escapar mientras realiza el escaneo de red porque en Windows "honey pot" y en Linux "iptables" son firewall que harán el registro de la IP del atacante. En tal situación, se le sugiere utilizar un Escaneo de señuelo para la enumeración de puertos.
Escaneo de señuelo
La opción -D hace que parezca el truco que escanea la red de destino. No oculta su propia IP, pero convierte su IP en un torrente de otros que supuestamente escanean a la víctima al mismo tiempo. Esto no solo hace que el escaneo parezca más aterrador, sino que reduce la posibilidad de que usted sea rastreado desde su escaneo (es difícil saber qué sistema es la fuente "real").
No hay comentarios:
Publicar un comentario