Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2017-8890-msf — Para solicitudes de pull de Metasploit | Kitploit
Herramientas/GitHubGitHub/7043mcgeep/cve-2017-8890-msf
Frameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHub7043mcgeep/cve-2017-8890-msf

cve-2017-8890-msf

Para solicitudes de pull de Metasploit

Ver Repositorio
11hace 7 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Módulo: Phoenix Talon CVE 2017-8890

Esto puede resolver el issue #8571, que solicita módulos Phoenix Talon.

Resumen de 2017-8890

Este CVE:

  • es el miembro más grave de la clase Phoenix Talon de vulnerabilidades del kernel de Linux. No existe ningún POC de este CVE en el Exploit DB. Pero hay otros POC públicos disponibles.
  • no está muy bien documentado. Pero aquí hay una breve explicación para darle una comprensión general de la vulnerabilidad.
  • existe en todas las versiones del kernel hasta 4.10.15, aunque algunas fuentes dicen que existe hasta 4.11. Vea el commit del parche aquí.
  • es el resultado de una falla en la pila IPv4 del kernel (específicamente, multicast).

En la máquina objetivo, se desencadena un double-free debido a que el kernel mantiene una copia extra de mc_list en el momento de accept().

Pseudocódigo con explicaciones:

Una máquina que ejecuta un kernel 4.10.15 o inferior está en riesgo si ejecuta la siguiente rutina:

root@kitploit:~
sockfd = socket(AF_INET, xx, IPPROTO_TCP);
setsockopt(sockfd, SOL_IP, MCAST_JOIN_GROUP, xxxx, xxxx);
bind(sockfd, xxxx, xxxx);
listen(sockfd, xxxx);
newsockfd = accept(sockfd, xxxx, xxxx);
close(newsockfd);  // trigger release calls, handoff to RCU
sleep(5);          // wait for rcu to free()
close(sockfd);     // second free()
Descargar herramienta

El socket padre, sockfd, es creado. Se añade al grupo multicast con la opción MCAST_JOIN_GROUP. Al añadir el socket al grupo multicast en la interfaz local, el kernel asigna memoria. En este punto, mc_list existe en el socket padre.

Después de asignar una dirección al socket con bind(), listen() para la conexión y accept(). accept() crea un nuevo socket, newsockfd, al cual se copian todos los campos necesarios del padre, incluido el valor del puntero mc_list. En este punto, hay múltiples punteros apuntando al mismo bloque de memoria, de ahí el double free.

Cuando se establece la conexión, el kernel crea un socket hijo que hereda el objeto mc_list del socket padre. Esta falla de herencia está en inet_csk_clone_lock en la línea 648 del archivo net/ipv4/inet_connection_sock.c. Vea el parche para ver la solución de una línea para esta herencia no intencionada.

A continuación, cierre el socket hijo. Como se explicó anteriormente, esto no libera el objeto mc_list. Pasa por la estructura RCU (remote-copy-update) para liberar memoria. sleep() durante unos segundos para asegurarse de que la transferencia RCU tenga suficiente tiempo para llamar a kfree(). Finalmente, cierre el socket padre, lo que desencadenará el segundo free.

El Módulo

DoS simple. Desencadena remotamente un double-free en una máquina objetivo conocida que ejecuta la rutina de servidor requerida (explicada anteriormente). Esto causa un pánico del kernel.