🐧Linux - Netfilter
Netfilter
es un módulo del kernel de Linux que proporciona, entre otras cosas, filtrado de paquetes, traducción de direcciones de red y otras herramientas relevantes para los cortafuegos. Controla y regula el tráfico de red manipulando paquetes individuales en función de sus características y reglas. Netfilter
también se denomina capa de software en el kernel de Linux. Cuando se reciben y envían paquetes de red, inicia la ejecución de otros módulos, como filtros de paquetes. Estos módulos pueden interceptar y manipular paquetes. Esto incluye programas como iptables
y arptables
, que sirven como mecanismos de acción del sistema de hook Netfilter
del stack de protocolos IPv4 e IPv6.
Este módulo del kernel tiene tres funciones principales:
Desfragmentación de paquetes
Seguimiento de conexión
Traducción de direcciones de red (NAT)
Cuando se activa el módulo, todos los paquetes IP son comprobados por el Netfilter
antes de ser reenviados a la aplicación de destino del sistema propio o remoto. En 2021 ( CVE-2021-22555 ), 2022 ( CVE-2022-1015 ) y también en 2023 ( CVE-2023-32233 ), se encontraron varias vulnerabilidades que podrían provocar una escalada de privilegios.
Muchas empresas han preconfigurado distribuciones de Linux adaptadas a sus aplicaciones de software o viceversa. Esto proporciona a los desarrolladores y administradores, metafóricamente hablando, una "base dinámica" que es difícil de reemplazar. Esto requeriría adaptar el sistema a la aplicación de software o adaptar la aplicación al sistema más nuevo. Dependiendo del tamaño y la complejidad de la aplicación, esto puede requerir una gran cantidad de tiempo y esfuerzo. A menudo, este es el motivo por el que muchas empresas utilizan distribuciones de Linux antiguas y no actualizadas en producción.
Incluso si la empresa utiliza máquinas virtuales o contenedores como Docker, estos se construyen sobre un núcleo específico. La idea de aislar la aplicación de software del sistema host existente es un buen paso, pero hay muchas formas de salir de ese contenedor.
CVE-2021-22555
Versiones de kernel vulnerables: 2.6 - 5.11
CVE-2022-25636
Una vulnerabilidad reciente es CVE-2022-25636 y afecta a los kernels de Linux 5.4 a 5.6.10. Se trata de net/netfilter/nf_dup_netdev.c
, que puede otorgar privilegios de root a usuarios locales debido a escrituras fuera de límites en el montón. escribió un artículoNick Gregory
muy detallado sobre cómo descubrió esta vulnerabilidad.
Sin embargo, debemos tener cuidado con este exploit ya que puede dañar el kernel y será necesario reiniciar para volver a acceder al servidor.
CVE-2023-32233
Esta vulnerabilidad explota la denominada " anonymous sets
in nf_tables
" mediante el uso de la vulnerabilidad Use-After-Free
en el kernel de Linux hasta la versión 6.3.1
. Estos nf_tables
son espacios de trabajo temporales para procesar solicitudes por lotes y, una vez que se realiza el procesamiento, se supone que estos conjuntos anónimos se borran (Use-After-Free
) para que ya no se puedan usar. Debido a un error en el código, estos conjuntos anónimos no se manejan correctamente y el programa aún puede acceder a ellos y modificarlos.
La explotación se realiza manipulando el sistema para que use los cleared out
conjuntos anónimos para interactuar con la memoria del núcleo. Al hacerlo, podemos obtener root
privilegios.
Prueba de concepto
Explotación
Tenga en cuenta que estos exploits pueden ser muy inestables y pueden dañar el sistema.
Última actualización