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
PHP-8.1.0-dev-Backdoor — Backdoor User-Agentt di PHP 8.1.0-dev per l'Esecuzione Remota di Codice (RCE) | Kitploit
Strumenti/GitHubGitHub/k3ystr0k3r/php-8.1.0-dev-backdoor
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebSicurezza della Supply ChainSviluppo Payload
GitHubk3ystr0k3r/php-8.1.0-dev-backdoor

PHP-8.1.0-dev-Backdoor

Backdoor User-Agentt di PHP 8.1.0-dev per l'Esecuzione Remota di Codice (RCE)

Vedi Repository
192 mesi 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

Backdoor User-Agentt in PHP 8.1.0-dev – Esecuzione Remota di Codice (RCE)

Gravità: Critica (Equivalente CVSS: 10.0)

Tipo di vulnerabilità: Backdoor nella supply chain / Esecuzione Remota di Codice (RCE)

Software interessato: PHP 8.1.0-dev (Solo build di sviluppo)

Vettore di attacco: Remoto (Non autenticato)

Autenticazione richiesta: No

Interazione utente: Nessuna

Impatto: Compromissione completa del sistema


Panoramica

La backdoor User-Agentt di PHP 8.1.0-dev è uno dei compromessi della supply chain più infami nella storia del software open source. A differenza delle vulnerabilità tradizionali che derivano da errori di programmazione, questo problema è stato causato da codice dannoso inserito intenzionalmente nel repository ufficiale del codice sorgente di PHP.

La backdoor è apparsa negli snapshot di sviluppo di PHP 8.1.0-dev nel marzo 2021, dopo che gli attaccanti hanno compromesso con successo l'infrastruttura Git di PHP. I commit dannosi si spacciavano per mantenitori PHP di fiducia e introducevano un meccanismo nascosto in grado di eseguire codice PHP arbitrario ogni volta che veniva ricevuta un'intestazione HTTP appositamente costruita.

Sebbene la backdoor sia esistita solo per breve tempo prima di essere scoperta e rimossa, qualsiasi server che avesse distribuito una delle build di sviluppo compromesse è diventato immediatamente vulnerabile a .

Esecuzione Remota di Codice (RCE) non autenticata

Questo incidente ha cambiato radicalmente il flusso di lavoro di sviluppo di PHP e ha infine portato alla migrazione del repository del codice sorgente di PHP lontano dalla sua infrastruttura Git self-hosted. :contentReference[oaicite:0]{index=0}


Perché questa vulnerabilità è unica

La maggior parte delle vulnerabilità di esecuzione remota di codice deriva da:

  • Overflow del buffer
  • Errori di validazione dell'input
  • Corruzione della memoria
  • Difetti logici

Questa vulnerabilità era diversa.

Non era un errore di programmazione.

Era una backdoor inserita deliberatamente nascosta all'interno del codice sorgente PHP legittimo.

Invece di sfruttare una debolezza esistente, gli attaccanti hanno modificato PHP stesso per eseguire codice PHP arbitrario fornito da chiunque effettuasse una richiesta HTTP.

Ciò rende questo incidente uno degli esempi più noti di attacco alla supply chain del software.


Contesto

Il 28 marzo 2021, due commit sospetti sono comparsi nel repository Git di PHP.

Entrambi i commit sembravano provenire da noti mantenitori di PHP.

Inizialmente sembravano innocui.

I messaggi dei commit somigliavano a normali correzioni di refusi.

Tuttavia, i ricercatori hanno rapidamente notato codice sospetto aggiunto all'interprete PHP.

Il codice inserito cercava nelle richieste HTTP in arrivo un'intestazione personalizzata:

root@kitploit:~
User-Agentt

Notate la "t" in più.

Questa sottile differenza ortografica ha aiutato a nascondere la backdoor durante una revisione superficiale.

Se l'intestazione iniziava con la stringa di attivazione:

root@kitploit:~
zerodium

PHP eseguiva immediatamente tutto ciò che seguiva utilizzando:

root@kitploit:~
zend_eval_string()

Questo di fatto consentiva a chiunque di eseguire codice PHP arbitrario da remoto.

I commit dannosi sono stati rimossi entro poche ore dalla scoperta. Le indagini successive hanno indicato che gli attaccanti avevano compromesso l'infrastruttura Git di PHP piuttosto che ottenere legittimamente le chiavi di firma dei mantenitori. :contentReference[oaicite:1]{index=1}


Causa principale

Il codice inserito eseguiva approssimativamente la seguente logica:

root@kitploit:~
Incoming HTTP Request
          │
          ▼
Read User-Agentt Header
          │
          ▼
Does header start with "zerodium"?
          │
      Yes ▼
Execute remaining text as PHP
          │
          ▼
Attacker gains Remote Code Execution

Invece di trattare l'intestazione come metadati innocui, PHP la valutava direttamente come codice PHP eseguibile.


Analisi tecnica

Normalmente una richiesta HTTP contiene intestazioni simili a:

root@kitploit:~
GET / HTTP/1.1

Host: example.com

User-Agent: Mozilla Firefox

La versione PHP compromessa elaborava inoltre:

root@kitploit:~
User-Agentt:

Se il suo valore iniziava con:

root@kitploit:~
zerodium

PHP chiamava:

root@kitploit:~
zend_eval_string()

Il contenuto rimanente diventava PHP eseguibile.

Concettualmente:

root@kitploit:~
User-Agentt:

zerodium
        │
        ▼
zend_eval_string(payload)
        │
        ▼
Remote Code Execution

Flusso dell'attacco

root@kitploit:~
Attacker
    │
    │ HTTP Request
    ▼

GET /

User-Agentt: zerodiumsystem("id");

    │
    ▼

PHP 8.1.0-dev

    │
    ▼

Backdoor Triggered

    │
    ▼

system("id")

    │
    ▼

Command Executed

    │
    ▼

Output Returned

Nessuna autenticazione.

Nessuna sessione.

Nessuna credenziale.

Una sola richiesta HTTP era sufficiente.


Perché "User-Agentt"?

Gli attaccanti hanno scelto intenzionalmente

root@kitploit:~
User-Agentt

invece di

root@kitploit:~
User-Agent

perché:

  • sembrava quasi identico
  • avrebbe eluso una revisione superficiale
  • la maggior parte degli sviluppatori ignora intestazioni HTTP sconosciute
  • le applicazioni esistenti avrebbero continuato a funzionare normalmente

Questo minuscolo refuso nascondeva una backdoor completa di esecuzione remota di codice.


Versioni interessate

Solo:

root@kitploit:~
PHP 8.1.0-dev

Nello specifico, gli snapshot di sviluppo compromessi pubblicati durante l'incidente del marzo 2021.

Le versioni stabili come:

  • PHP 7.x
  • PHP 8.0
  • PHP 8.1 stabile

non sono state mai interessate.


Requisiti dell'attacco

L'attaccante aveva bisogno solo di:

  • Accesso alla rete
  • Connettività HTTP
  • Un server PHP 8.1.0-dev vulnerabile

Nessuna autenticazione.

Nessuna forza bruta.

Nessun login.

Nessun accesso precedente.


Impatto

Lo sfruttamento con successo consente agli attaccanti di:

  • Eseguire comandi arbitrari del sistema operativo
  • Eseguire codice PHP arbitrario
  • Leggere file sensibili
  • Modificare applicazioni web
  • Caricare web shell
  • Installare backdoor persistenti
  • Estrarre database
  • Rubare credenziali
  • Elevare i privilegi
  • Spostarsi più in profondità nelle reti interne
  • Compromettere completamente l'host interessato

In pratica, questa vulnerabilità porta a compromissione completa del server.


Mappatura MITRE ATT&CK

TecnicaDescrizione
T1195Compromissione della supply chain
T1059Interprete di comandi e script
T1505Componente software del server
T1105Trasferimento di strumenti in ingresso
T1071Protocollo del livello applicativo
T1106API nativa
T1055Iniezione di processi (possibile post-sfruttamento)
T1027File o informazioni offuscati

Rilevamento

Gli amministratori dovrebbero indagare immediatamente sui sistemi che espongono:

root@kitploit:~
PHP/8.1.0-dev

all'interno di intestazioni di risposta come:

root@kitploit:~
X-Powered-By:

PHP/8.1.0-dev

I log HTTP dovrebbero inoltre essere esaminati per richieste sospette contenenti:

root@kitploit:~
User-Agentt

o

root@kitploit:~
zerodium

Molti sistemi di rilevamento delle intrusioni e prodotti IPS ora includono firme specifiche per questo schema di attacco. :contentReference[oaicite:2]{index=2}


Indicatori di Compromissione (IOC)

I possibili indicatori includono:

  • Richieste contenenti User-Agentt
  • Valori di intestazione che iniziano con zerodium
  • Esecuzione di comandi inattesa
  • File PHP sconosciuti
  • Nuove web shell
  • Processi figli sospetti generati da PHP
  • Connessioni di rete in uscita inspiegabili

Complessità dello sfruttamento

ProprietàValore
AutenticazioneNessuna
Interazione utenteNessuna
ComplessitàMolto bassa
Privilegi richiestiNessuno
RemotaSì

Questa è considerata una delle vulnerabilità di Esecuzione Remota di Codice più facili da sfruttare perché l'attaccante si limita a inviare una richiesta HTTP appositamente costruita.


Mitigazione

Non distribuire mai snapshot di sviluppo di PHP su sistemi di produzione.

Se un server risultasse in esecuzione con la build compromessa:

  1. Rimuovere immediatamente la versione vulnerabile.
  2. Aggiornare a una versione stabile di PHP.
  3. Presumere la compromissione completa.
  4. Ruotare tutte le credenziali.
  5. Verificare la presenza di web shell.
  6. Esaminare i log di autenticazione.
  7. Ispezionare le attività pianificate e i meccanismi di persistenza.
  8. Ricostruire il server se la compromissione non può essere esclusa.

Lezioni di sicurezza

Questo incidente ha dimostrato diverse lezioni importanti:

  • Le build di sviluppo non dovrebbero mai essere esposte pubblicamente.
  • Le supply chain del software sono bersagli di attacco di alto valore.
  • La firma del codice e la sicurezza dell'infrastruttura sono fondamentali.
  • I repository di codice sorgente richiedono un monitoraggio continuo.
  • Piccole modifiche al codice possono nascondere vulnerabilità catastrofiche.
  • La fiducia nel software a monte deve essere sempre verificata.

La compromissione ha accelerato i cambiamenti all'infrastruttura di sviluppo di PHP e ha evidenziato la crescente importanza della sicurezza della supply chain del software in tutto il settore. :contentReference[oaicite:3]{index=3}


Riferimenti

  • Discussione su PHP Internals riguardante i commit dannosi
  • Rapporti sull'incidente del repository del codice sorgente di PHP
  • Rilascio dell'exploit da parte di Packet Storm Security
  • Firma IPS di Juniper Threat Labs
  • Analisi tecniche della community
  • Ricerca pubblica sugli exploit

Conclusione

La backdoor User-Agentt di PHP 8.1.0-dev rimane uno degli esempi più significativi di attacco alla supply chain del software che abbia colpito un importante progetto open source. Piuttosto che sfruttare un difetto di programmazione, gli attaccanti hanno inserito una backdoor nascosta direttamente nel codice sorgente del linguaggio, consentendo l'esecuzione remota non autenticata di codice PHP arbitrario tramite un'intestazione HTTP User-Agentt appositamente costruita. Sebbene gli snapshot di sviluppo compromessi siano stati rapidamente rimossi e nessuna versione stabile di PHP sia stata interessata, l'incidente ha sottolineato l'importanza critica di proteggere l'infrastruttura di sviluppo del software, verificare la provenienza del codice ed evitare la distribuzione di build di sviluppo in ambienti di produzione. Oggi la vulnerabilità è ampiamente studiata come un caso emblematico nella sicurezza della supply chain e serve a ricordare che l'integrità del processo di build del software è importante tanto quanto la sicurezza del codice stesso.

Scarica lo strumento