In questo articolo Indice dei contenuti 3 sezioni
Una catena di vulnerabilità chiamata PHP2Shell ha permesso a un gruppo di aggressori di ottenere privilegi amministrativi su 25 sistemi Palo Alto Networks, trasformando proprio i firewall nella porta d’ingresso verso le reti interne. L’operazione di cyberspionaggio, scoperta da Dream Research, ha raggiunto anche l’infrastruttura di un’organizzazione statunitense apparentemente legata al governo. Il problema è serio perché questi apparati non si limitano a filtrare il traffico ma gestiscono connessioni VPN, autenticazione degli utenti, certificati e configurazioni di rete.
Come funziona PHP2Shell sui firewall Palo Alto Networks
Alla base dell’attacco ci sono due falle critiche ormai note di PHP, entrambe legate al modo in cui l’interprete gestisce gli errori di memoria. Quando la memoria si esaurisce, nella cosiddetta condizione Out of Memory, il recupero può lasciare alcune strutture interne in uno stato incoerente. Ne nasce una situazione di use after free in cui il programma riutilizza memoria che crede ancora valida ma che potrebbe contenere dati controllati dall’attaccante. Il bersaglio era il server Web di gestione di PAN OS, il sistema operativo dei firewall, colpito con un exploit su misura per le versioni basate su PHP 8.0.30.
La tecnica di PHP2Shell sfrutta il meccanismo che monitora l’avanzamento dei caricamenti HTTP. Con richieste costruite ad arte e campi molto grandi gli aggressori mettono sotto pressione l’allocatore di memoria, poi una richiesta successiva usa un riferimento non più valido alla sessione per leggere oltre i limiti previsti. Il dato recuperato compare nell’intestazione dei cookie della risposta e rivela l’indirizzo della libreria libphp.so, aggirando la protezione ASLR che rende casuali gli indirizzi di memoria. Una nuova saturazione della memoria fa poi in modo che, durante le operazioni di pulizia, l’interprete richiami la funzione scelta dall’attaccante. Il risultato è un comando di sistema eseguito con i privilegi dell’utente nobody.
Quell’utente ha però permessi limitati e PAN OS confina i processi Web anche con SELinux. Qui entra in gioco Fragnesia, una vulnerabilità di escalation dei privilegi nel kernel Linux che manipola le scritture attraverso la page cache per alterare il file /etc/pam.d/su. La configurazione originale viene sostituita con un modulo pensato per autorizzare le richieste di autenticazione, così il comando su root va a buon fine senza password. Secondo Dream l’intera sequenza può chiudersi in meno di 15 minuti, da una connessione HTTPS non autenticata fino a una webshell con privilegi root. Non senza conseguenze, visto che uno dei firewall è andato in crash e non è più tornato disponibile durante le verifiche successive.
Dal firewall compromesso ad Active Directory
Violare i dispositivi era solo il punto di partenza. Su 22 dei 24 firewall inizialmente compromessi gli aggressori hanno installato una piccola webshell PHP per eseguire comandi da remoto e mantenere l’accesso. Due apparati dell’organizzazione statunitense hanno ricevuto un’attenzione particolare, con un tunnel SSH aperto verso server e servizi interni normalmente irraggiungibili da Internet. In meno di 90 minuti è caduto anche un server di gestione centralizzata, portando il totale a 25 sistemi violati.
Da quella macchina sono state recuperate e decifrate le credenziali per collegarsi a Microsoft Active Directory, il servizio che amministra utenti, gruppi e autorizzazioni della rete Windows. Con questi dati gli attaccanti hanno ricostruito l’elenco degli account aziendali e preparato nuove mosse, tra tentativi di accesso con password comuni, account nascosti e ricerca di informazioni riservate. Dream ha confermato il furto delle credenziali ma non ha trovato prove sufficienti per stabilire se l’intero dominio sia finito sotto controllo.
Versioni vulnerabili e contromisure
L’advisory ufficiale su PHP2Shell riguarda le famiglie PAN OS 10.2, 11.1, 11.2, 12.1 e 12.2. Le correzioni definitive sono incluse nelle build 12.2.4 h1, 12.1.10 h3, 11.2.16 h1, 11.1.16 h4 e 10.2.18 h13, con hotfix previsti anche per sottorami precedenti ancora supportati. Va confrontata la versione installata con la tabella ufficiale, senza presumere che una release più recente di un altro ramo sia equivalente.
La priorità è togliere l’interfaccia di amministrazione dall’esposizione a Internet, limitandola a indirizzi interni fidati o a un sistema dedicato. È questa la superficie vulnerabile, Web UI HTTPS e API XML comprese, mentre portale GlobalProtect, gateway VPN e relativo client non risultano colpiti direttamente. Sugli apparati potenzialmente compromessi aggiornare il firmware potrebbe non bastare e occorre cercare webshell, servizi systemd anomali, modifiche ai file PAM, tunnel persistenti, accessi sospetti ai controller di dominio e chiavi private sottratte, oltre a ruotare le credenziali esposte e verificare l’integrità dei sistemi.
Il produttore fornisce anche indicazioni tecniche e query di threat hunting, mentre le firme Advanced Threat Prevention offrono protezione aggiuntiva solo se il traffico verso l’interfaccia amministrativa attraversa i componenti di ispezione configurati correttamente. Secondo Palo Alto Networks circa lo 0,02% della base installata globale presentava interfacce di gestione esposte a Internet e interessate dal problema, una quota contenuta che lascia comunque elevato il rischio per le singole organizzazioni.
Fonte: TecnoAndroid


