Notebook di Analisi Citrix
Un notebook Jupyter per aiutare ad automatizzare parte dell'analisi forense relativa agli host Citrix Netscaler compromessi tramite CVE-2019-19781.
Per assistenza nel recupero degli artefatti da esaminare, consulta questo script di triage Citrix.
Tutti i commenti/suggerimenti sono ben accetti. Sentiti libero di inviare pull request o segnalare problemi.
Disclaimer: Non è inteso come una soluzione completa e definitiva, serve solo per aiutarti a iniziare.
Funzionalità
- Attualmente gestisce i seguenti log e XML di payload, se disponibili:
- HTTPAccess
- HTTPError
- Cron
- Bash
- Notice
- Sh
- Decompressione dei log
- Parsing dei log in dataframe pandas per ulteriori analisi, se desiderato
- Ricerca nei log di IOC comuni associati a compromissione
- Parsing e decodifica dei file XML di payload, se disponibili
- Output dell'analisi in un foglio di risultati Excel per la revisione
Risorse Utili
Registro delle Modifiche
v 1.0
- Aggiunto parsing del log httperror
- L'analisi Notice ora cerca gli stessi termini dell'analisi sh (gli sh sono inclusi in notice, quindi dobbiamo cercare gli stessi termini in entrambi per ottenere gli stessi risultati)
- I dataframe non verranno più esportati nel foglio dei risultati se sono vuoti. Invece, un messaggio di log mostrerà quali dataframe sono vuoti nella cella di scrittura Excel del notebook.
v 0.9
- Aggiunta estrazione della data di inizio e fine coperte da ciascun log elencato sopra
- Leggero refactoring del codice di parsing XML per incorporare la chiave 'username' che consente il parsing degli XML recuperati da /xml/bookmarks
v 0.8
- Aggiunta codifica 'latin1' a tutto il parsing dei log per gestire i casi in cui i log non erano in utf-8 e causavano errori di parsing
- Suddiviso searchFor in searchFor e shSearchFor poiché i log sh hanno criteri di ricerca diversi che non compaiono in altri log
v 0.7
- Aggiunta decodifica del payload (chr() e base64) + aggregazione di tutti i payload nella colonna 'decodedpayloads'
v 0.6
- Aggiunto parsing del log sh
- Aggiunta variabile comune 'searchFor' alla configurazione per contenere termini di ricerca per attività sospette che verranno cercati in ogni log
v 0.5
- Aggiunto parsing per la maggior parte dei log notice (vedi errori per eccezioni)
- Le eccezioni attuali sono: sslvpn_aaad_login_handler e Session setup data send log, anche se vengono stampati tramite errori, quindi puoi comunque ispezionarli
v 0.4
- Aggiunto parsing del log bash