Un laboratorio pratico che indaga su CVE-2025-39507 dal punto di vista di un analista SOC di livello 1. Include revisione dei log in Microsoft Sentinel, analisi degli IP, screenshot reali e una semplice spiegazione di una vulnerabilità di inclusione di file locali in un plugin WordPress.
È un normale lunedì. Sono connesso al dashboard del SOC, esaminando gli avvisi come al solito. Ne arriva uno che attira la mia attenzione:
ALLARME: Possibile tentativo di Local File Inclusion (LFI)
IP Address: 203.0.113.44
URL:/index.php?file=../../../../etc/passwd
User Agent: curl/7.81.0
Sembra che qualcuno stia cercando di accedere ai file di sistema manipolando un URL. Il mio compito è esaminarlo e decidere se deve essere escalationato.
Dopo una rapida ricerca, ho scoperto che corrisponde a una vulnerabilità nota: CVE-2025-39507. Colpisce un plugin di WordPress chiamato Nasa Core (versione 6.3.2 e precedenti). Permette agli aggressori di visualizzare file sensibili sul server modificando un parametro di input di file.
Esempio:
/index.php?file=../../../../etc/passwd
Se il plugin non convalida correttamente l'input del file, seguirà semplicemente il percorso fornito dall'aggressore.
Non ho scritto la regola di rilevamento, ma l'ho esaminata per capire cosa ha attivato l'avviso. Cerca elementi come:
Ecco una versione semplificata della regola:
CommonSecurityLog
| where RequestURL has "../"
or RequestURL has "etc/passwd"
or RequestURL has "wp-config"
| where DeviceCustomString1 contains "curl" or DeviceCustomString1 contains "python"
| project TimeGenerated, SourceIP, RequestURL, DeviceCustomString1
Ho eseguito una query per vedere se l'IP 203.0.113.44 stava tentando altro:
CommonSecurityLog
| where SourceIP == "203.0.113.44"
| summarize count() by RequestURL
Risulta che ha anche raggiunto altri percorsi come /admin/, /login.php e /wp-config.php. Questo mi ha detto che non era solo una richiesta una tantum... probabilmente era uno scanner o qualcuno che faceva ricognizione.
Ho controllato da quanto tempo l'IP era attivo nei nostri log:
CommonSecurityLog
| where SourceIP == "203.0.113.44"
| summarize FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated)
È iniziato poche ore fa ed era ancora attivo di recente. Quindi non era rumore storico — era in corso.
Ecco come l'ho documentato per l'escalation:
“Possibile scansione LFI dall'IP 203.0.113.44. Il pattern delle richieste corrisponde a CVE-2025-39507. L'IP ha acceduto a 9 percorsi unici, tra cui /etc/passwd e wp-config.php utilizzando curl. Il comportamento suggerisce ricognizione automatizzata. Si raccomanda revisione da parte del Livello 2 e possibile blocco dell'IP.”
| # | Descrizione | File |
|---|---|---|
| 1 | Elenco CVE (Patchstack) | 1_cve_selection_listing.png |
| 2 | Panoramica Patchstack | 2_patchstack_cve_overview.png |
| 3 | Esempio di vettore VulDB | 3_vuldb_exploit_vector.png |
| 4 | VM Kali Azure Creata | 4_kali_vm_deployed.png |
| 5 | Screenshot VM in esecuzione | 5_kali_vm_running_status.png |
| 6 | Accesso SSH a Kali | 6_kali_vm_logged_in.png |
| 7 | Revisione regola KQL Sentinel | 7_lfi_detection_kql_query.png |
Tutti gli screenshot si trovano nella cartella /screenshots.
Alcune domande che mi sono posto durante l'analisi:
Successivamente, eseguirò una simulazione sicura di questo attacco in un ambiente di laboratorio controllato utilizzando una piattaforma come TryHackMe. L'obiettivo è capire meglio che tipo di attività produce questo tipo di logs dal lato dell'attaccante e che tipo di log genera.
P.S. Questo laboratorio è stato condotto in un ambiente sicuro ed etico solo a scopo di formazione. Nessun sistema reale è stato preso di mira o danneggiato. Segui sempre le regole della tua organizzazione e non testare mai exploit su sistemi che non possiedi o per i quali non hai il permesso.