Excel Forensik - Aktivitäten ohne Track Changes erkennen

Excel Forensik

Aktivitäten ohne Track Changes erkennen

Marc Ruef
von Marc Ruef
Lesezeit: 7 Minuten

Keypoints

  • Forensische Untersuchungen fokussieren sich traditionell auf das Dateisystem
  • Manipulationen an Office-Dokumenten können ebenfalls von Wichtigkeit sein
  • Die aktivierte Funktion Track-Changes wird bevorzugt herangezogen
  • Die Analyse des Excel-Dateiformats zeigt zusätzlich eine chronologische Anpassung von Daten auf
  • Dadurch werden Abläufe erkennbar und nachvollziehbar

Die forensische Untersuchung von manipulierten Dateien konzentriert sich traditionell auf Fragmente auf dem Dateisystem. Moderne Dateiformate können jedoch ihrerseits Daten enthalten, die Rückschlüsse auf Aktivitäten und Benutzer geben können. Im Rahmen eines kundenspezifischen Projekts haben wir einen neuartigen Ansatz gefunden, wie dies bei Excel-Dokumenten umgesetzt werden kann.

Der Fall

Der Kunde benutzt ein Excel-Dokument des Formats XLSX, um eine Dokumentation zu erstellen. Diese Datei befindet sich auf einem Dateiserver und kann deshalb durch verschiedene Benutzer bearbeitet werden.

Einer der legitimen Benutzer hat eine illegitime Manipulation des Dateiinhalts vorgenommen. Diese hat zu einem Schaden geführt, weshalb der Auftrag darin bestand herauszufinden, wer diese böswillige Anpassung vorgenommen hat.

Forensische Untersuchung

Der Kunde hat uns die Datei zur Verfügung gestellt, um eine Analyse durchführen zu können. Seit der böswilligen Manipulation wurden verschiedene legitimen Modifikationen am Dateiinhalt vorgenommen. Zudem wurde die illegitime Manipulation in einem letzten Schritt rückgängig gemacht (überschrieben). Diese Intrusivität ist eine suboptimale Ausgangslage für eine forensische Untersuchung.

Traditioneller Ansatz: Track Changes

Als traditioneller Ansatz wird die Prüfung der durch die Funktion Track Changes angelegten Daten angesehen. Diese Funktion kann in Excel (und anderen Office-Produkten) aktiviert werden, um Veränderungen zu protokollieren. Jede Anpassung des Dateiinhalts über Office wird dokumentiert, kann eingesehen, akzeptiert oder rückgängig gemacht werden.

Der Nachteil dieses Ansatzes ist, dass die Funktion explizit aktiviert werden muss. Sie ist standardmässig nicht aktiviert oder kann durch den Benutzer nachträglich wieder abgeschaltet werden.

In unserem Fall war Track Changes nicht aktiviert, weshalb auf dieser Ebene keine verwertbaren Daten zusammengetragen werden konnten.

Erweiterte Möglichkeiten: Shared Strings

Excel-Dokumente, die im XLSX-Format gespeichert werden, bestehen aus XML-Dateien auf der Basis des XML Spreadsheet Format, die ihrerseits in einem ZIP-Archiv gepackt sind. Wenn man also die Dateiendung von .xlsx zu .zip umbenennt, kann sie regulär entpackt werden (z.B. mittels 7zip). Darin finden sich nun einzelne Dateien und Unterverzeichnisse.

Inhalt einer XLSX-Datei

Im Unterverzeichnis xl/ sind die XML-Dokumente abgelegt. Darin findet sich eine Datei namens sharedStrings.xml. In dieser sind alle Werte enthalten, die mindestens einmal in einer Zelle im Excel-Dokument vorkommen. Falls sie mehrfach vorkommen, können sie nämlich in den Worksheets in xl/worksheets/ referenziert werden. Durch diese referenzielle Nutzung lassen sich, ähnlich wie bei relationalen Datenbanken, Ressourcen sparen.

Das Spannende an dieser Datei ist, dass die abgelegten Shared Strings in chronologischer Reihenfolge vermerkt werden. Wenn also in einer Zelle der Wert Test 1 und danach in einer anderen Test 2 eingegeben wird, sind diese beiden Werte genau in dieser Reihenfolge gespeichert.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="3" uniqueCount="3"><si><t>Die erste Eingabe</t></si><si><t>Die zweite Eingabe</t></si><si><t>Die dritte Eingabe</t></si></sst>

Dadurch wird es also möglich nachzuvollziehen, in welcher Reihenfolge welche Daten eingegeben wurden. Überschriebene Zellen werden auch in Shared Strings ersetzt. Und gelöschte Zellen gelöscht. Das Injizieren von Tags ist nicht möglich, da ein HTML-Encoding von Sonderzeichen (z.B. spitze Klammern) durchgesetzt wird.

Aktion in Excel Effekt in sharedStrings.xml
Zelle ausfüllen Neuer Eintrag am Schluss der Liste
Zelle überschreiben Bestehenden Eintrag an gleicher Stelle ersetzen
Zelle löschen Bestehenden Eintrag ersatzlos löschen

In diesem spezifischen Fall war es anhand der individuellen Daten möglich zu erkennen, wer vor und wer nach nach der böswilligen Manipulation Daten eingegeben hat. Dadurch konnte der Kreis möglicher Täter enorm eingeschränkt werden.

Fazit

Ein guter Forensiker muss kreativ mit den ihm zur Verfügung stehenden Mitteln umgehen können. Moderne Computersystemen bieten eine Vielzahl an Datenquellen, die für eine Auswertung herhalten können. Dies kann ein entscheidender Vorteil sein, sind diese Möglichkeiten nämlich den Tätern oftmals nicht bekannt. So auch in diesem Fall, in dem durch das Analysieren der Umstände die Ermittlungen massgeblich vorwärts gebracht werden konnten.

Über den Autor

Marc Ruef

Marc Ruef ist seit Ende der 1990er Jahre im Cybersecurity-Bereich aktiv. Er hat vor allem im deutschsprachigen Raum aufgrund der Vielzahl durch ihn veröffentlichten Fachpublikationen und Bücher – dazu gehört besonders Die Kunst des Penetration Testing – Bekanntheit erlangt. Er ist Dozent an verschiedenen Fakultäten, darunter ETH, HWZ, HSLU und IKF. (ORCID 0000-0002-1328-6357)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Konkrete Kritik an CVSS4

Konkrete Kritik an CVSS4

Marc Ruef

scip Cybersecurity Forecast

scip Cybersecurity Forecast

Marc Ruef

Voice Authentisierung

Voice Authentisierung

Marc Ruef

Bug-Bounty

Bug-Bounty

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv