
Uno script Python per l'analisi dei log degli eventi di Ivanti Secure Connect (ICS), progettato per supportare le indagini sulle vulnerabilità CVE-2025-0282, CVE-2023-46805 e CVE-2024-21887.
Questo repository fornisce uno script Python progettato per convertire i file di log .vc0 di Ivanti Secure Connect in formato CSV, per l'analisi forense digitale e la risposta agli incidenti. In particolare, il parser:
.vc0).
Lo strumento è stato inizialmente sviluppato durante le indagini su CVE-2025-0282 (una vulnerabilità RCE non autenticata che colpisce alcuni appliance Ivanti). I report di Mandiant e di altri indicano che gli attori delle minacce possono rimuovere o alterare le voci di log per nascondere le proprie attività. Analizzando e interpretando questi file .vc0, gli investigatori possono individuare più facilmente prove di compromissione, cancellazioni anomale o altri comportamenti sospetti.

Durante molteplici interventi di risposta agli incidenti che coinvolgevano Ivanti Secure Connect, alcuni appliance sono risultati avere log incompleti o manomessi: alcuni non mostravano alcuna voce finché non veniva rilevato lo sfruttamento di CVE-2025-0282 e l'appliance veniva riavviato. Inoltre, i controlli di integrità integrati, che normalmente vengono eseguiti ogni due ore, possono essere disabilitati o alterati da un attaccante. Convertendo i file in un formato CSV più facile da usare, questo strumento aiuta gli investigatori a identificare anomalie, come voci di log mancanti, tentativi di autenticazione inattesi e potenziali segni di manipolazione dei dati.
.vc0
PS F:\Case20250109001> python .\ics_logs_parser.py -h
usage: ics_logs_parser.py [-h] --input INPUT --output OUTPUT --mapfile MAPFILE
Process .vc0 files and convert them to .csv files.
options:
-h, --help show this help message and exit
--input INPUT Directory containing .vc0 files
--output OUTPUT Directory to save .csv files
--mapfile MAPFILE CSV file mapping [MessageCode, MessageType, Description]
python .\ics_logs_parser.py --input "F:\Case20250109001\root_runtime.img\[root]\runtime\logs" --output .\logs\ --map .\logmessages_map.csv
--input: Directory contenente i file di log .vc0 estratti da Ivanti Secure Connect.--output: Directory in cui verranno scritti i CSV.--mapfile: File CSV che mappa ogni codice di messaggio a un tipo di messaggio e a una descrizione.
logmessages_map.csv memorizza i codici di messaggio noti e i corrispondenti tipi di messaggio e descrizioni. Sebbene questo elenco (proveniente dalla documentazione pubblica di Ivanti e da ricerche della comunità) sia ampio, potrebbe non includere tutti i codici di messaggio esistenti. Incoraggiamo gli utenti a rivedere o personalizzare la mappatura in base alle proprie esigenze. Consultare la sezione Risorse per i riferimenti originali.
Per impostazione predefinita, i timestamp vengono convertiti in UTC. Se è necessario localizzarli o formattarli diversamente, è possibile modificare la chiamata datetime.fromtimestamp(...) nella funzione process_subline().

Se hai domande, suggerimenti o hai bisogno di assistenza, non esitare a contattarci all'indirizzo [email protected].