Citrix Analyse-Notebook
Ein Jupyter-Notebook zur Unterstützung der Automatisierung einiger forensischer Analysen im Zusammenhang mit Citrix Netscaler-Hosts, die über CVE-2019-19781 kompromittiert wurden.
Hilfe zum Abrufen von zu untersuchenden Artefakten finden Sie in diesem Citrix-Triage-Skript.
Alle Notizen/Vorschläge sind willkommen. Sie können gerne Pull-Requests oder Issues einreichen.
Haftungsausschluss: Dies ist nicht als Allheilmittel gedacht, sondern nur als Hilfe für den Einstieg.
Funktionen
- Verarbeitet derzeit die folgenden Logs und Payload-XMLs, sofern verfügbar:
- HTTPAccess
- HTTPError
- Cron
- Bash
- Notice
- Sh
- Dekomprimierung von Logs
- Parsen von Logs in pandas DataFrames für eine weiterführende Analyse, falls gewünscht
- Durchsuchen von Logs nach häufigen IOCs im Zusammenhang mit einer Kompromittierung
- Parsen und Dekodieren von XML-Payload-Dateien, sofern verfügbar
- Ausgabe der Analyse in eine Excel-Ergebnistabelle zur Überprüfung
Nützliche Ressourcen
Änderungsprotokoll
v 1.0
- HTTPError-Log-Parsing hinzugefügt
- Die Notice-Analyse durchsucht jetzt nach denselben Begriffen wie die sh-Analyse (sh sind in Notice enthalten, daher müssen wir in beiden nach denselben Begriffen suchen, um dieselben Ergebnisse zu erhalten).
- DataFrames werden jetzt nicht mehr in das Ergebnistabellenblatt exportiert, wenn sie leer sind. Stattdessen wird eine Log-Nachricht anzeigen, welche DataFrames in der Excel-Schreibzelle des Notebooks leer sind.
v 0.9
- Hinzugefügt: Abruf von Start- und Enddatum, die von jedem oben aufgeführten Log abgedeckt werden.
- XML-Parsing-Code leicht umgestaltet, um den 'username'-Schlüssel zu integrieren, der das Parsen von XMLs ermöglicht, die von /xml/bookmarks abgerufen wurden.
v 0.8
- 'latin1'-Kodierung zu allen Log-Parsing-Vorgängen hinzugefügt, um Fälle zu berücksichtigen, in denen Logs nicht in UTF-8 vorlagen und Parsing-Fehler verursachten.
- searchFor in searchFor und shSearchFor aufgeteilt, da sh-Logs andere Suchkriterien haben, die in anderen Logs nicht auftauchen.
v 0.7
- Payload-Dekodierung hinzugefügt (chr() und Base64) + Aggregation aller Payloads in die Spalte 'decodedpayloads'.
v 0.6
- sh-Log-Parsing hinzugefügt.
- Gemeinsame 'searchFor'-Variable zur Konfiguration hinzugefügt, um Suchbegriffe für verdächtige Aktivitäten zu speichern, die in jedem Log durchsucht werden.
v 0.5
- Parsing für die Mehrheit der Notice-Logs hinzugefügt (siehe Fehler für Ausnahmen).
- Ausnahmen sind derzeit: sslvpn_aaad_login_handler und Session setup data send Logs, obwohl sie über Fehler ausgegeben werden, sodass Sie sie dennoch überprüfen können.
v 0.4
- Bash-Log-Parsing hinzugefügt.