Windows 10 PE für IT-Forensik

Noch vor einigen Jahren war es wirklich aufwendig, ein Windows Betriebssystem auf einer CD/ DVD oder einem USB Stick zum Laufen zu bringen. Frühere Windows Versionen waren dafür einfach nicht optimiert. Es gab einige Projekte wie BartPE oder Windows FE (Forensic Edition), um ein Windows von einem externen Datenträger zu starten, aber in jedem Fall war ein hoher Aufwand und eine Menge Zeit notwendig.

Heute vertreibt  Microsoft selbst ein Windows to Go und es ist einfacher als jemals zuvor, seine eigene, personalisierte Version von Windows 10 PE (Preinstallation Environment) zu erstellen. Zusammen mit jedermanns präferierter Software, Scripten und Frameworks wie .NET, Java oder Python. Ein (fast) vollwertiges Windows 10, das von einem USB Stick läuft, hat zahlreiche Vorzüge:

  • Ein extern gebootetes Windows mit einer umfassenden, integrierten Treiberdatenbank ermöglicht einen schnellen und einfachen Zugriff auf marktübliche Server und Notebooks
  • Wahlweise ist lesender oder schreibender Zugriff auf Datenträger möglich
  • Zugriff auf alle Festplatten mit NTFS und FAT Dateisystemen, selbst wenn sie mit Bitlocker verschlüsselt sind
  • Die Integration von spezifischer IT-Forensik Software und selbstentwickelter Scripte ist ganz einfach, die Dateien können einfach kopiert werden
  • In der IT-Forensik häufig genutzte Spezialprogramme wie FTK Imager, X-Ways Forensics und viele andere Tools laufen problemlos innerhalb von Windows 10 PE

Eine eigens angepasste Version von Windows 10 PE, samt den bevorzugten Tools für die Extraktion von Daten, ist ein hervorragender Weg, sehr schnell auf darunterliegende Dateisysteme zuzugreifen. Ich empfehle Ihnen ausdrücklich, ein angepasstes Windows 10 PE nicht zum alleinigen Werkzeug in der Digitalen Forensik zu machen. Ein solches Windows 10 PE ist kein Ersatz für eine dedizierte Workstation für Digitale Forensik. Der riesengroße Vorteil eines solchen Mediums ist die Geschwindigkeit, mit der ein Zugriff auf Dateien und Dateisysteme – ohne Änderung relevanter Zeitstempel – möglich ist. Die sinnvollsten Untersuchungsschritte in der Digitalen Forensik, für die eine angepasste Windows 10 PE Version geeignet ist, sind die Extraktion von Dateien und Artefakten, File Carving und Malware Hunting.

Installation und Konfiguration

Unter der Annahme, dass Sie schon jetzt Windows 10 nutzen, finden Sie
hier das Windows Assessment and Deployment Kit (ADK) für Windows 10 mit den Built Nummern 1511 und 1607, je nachdem, welche Version von Windows 10 Sie aktuell installiert haben. Starten Sie nun den Download des ADK mit Namen adksetup.exe

Die passenden MD5 Hashes für diese Installer sind:
Version 1511:                    760e0dcc3440756ebe1657dc43ca6ef1
Version 1607:                    3da6239a8d2039cb8eec7c831b9c664a

Bitte führen Sie die Installationsroutine mit administrativen Rechten aus. Bei der Auswahl der Features wählen Sie mindestens die Punkte Deployment Tools (irgendwas mit Bereitstellung oder Verteilung in der deutschen Übersetzung…) und Windows Preinstallation Environment aus.

Auswahl der Features des Windows ADK

Auswahl der Features des Windows ADK

Die Installation umfasst die notwendigen Dateien für Windows PE in 32- und 64 Bit. Im weiten Verlauf dieses Artikels werden wir exemplarisch ein Windows 10 PE Medium in 64 Bit erstellen. Lassen Sie bitte alle anderen Optionen der Installation unverändert, vor allem die designierten Dateipfade. Sobald die Installation abgeschlossen ist, starten Sie die Konsole über das Menü Start – Windows Kits – Deployment and Imaging Tools Environment mit einem Rechtsklick auf „Als Administrator ausführen„. Dahinter verbirgt sich ein Link auf eine Batchdatei, die bei ihrer Ausführung diverse Umgebungsvariablen setzt. Die Konsole, die Sie gerade gestartet haben, bleibt von nun an während des ganzen Erstellungsprozesses offen. Als ersten Schritt kopieren wir die notwendigen Dateien und legen gleichzeitig einen Ordner an:

 copype amd64 C:\WinPE_amd64 

Gefolgt vom Kommando, um die Datei boot.wim mit dem eigentlichem Windows 10 PE zu mounten:

 Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount" 

Diese Befehlszeile können Sie einfach aus diesem Text herauskopieren und in das Fenster der Konsole einfügen!

Deployment Image Servicing and Management tool

Dism.exe – das Deployment Image Servicing and Management tool

Nun gilt es zu entscheiden, wie ihr Windows 10 PE beim Hochfahren mit erkannten Festplatten umgehen soll. Sollen Festplatten ignoriert werden, damit Sie die Kontrolle über den Prozess behalten? Oder sollen gefundene Festplatten ungefragt lesend und schreibend eingebunden werden? Die jeweilige Option wird als Zahl innerhalb der Kommandozeile als Parameter gesetzt:

1 alle Festplatten beschreibbar einbinden
2 – alle Festplatten einbinden, außer denen auf einem geteilten Bus
3 – keine Festplatten lesend/ schreibend einbinden

In der IT-Forensik möchten wir gern die vollständige Kontrolle über jeden einzelnen Prozessschritt behalten und machen mit der 3 weiter:

 Setsanpolicy C:\winpe_amd64\mount 3 

Das Tool diskpart.exe ermöglicht es, im laufenden Windows 10 PE System dieses Verhalten zu ändern, doch später dazu mehr. Nun ist es an der Zeit, sinnvolle Packages dem bislang absolut minimalistischem Windows Betriebssystem hinzuzufügen. Dazu habe ich ein  einfaches Script zusammengestellt, das sowohl eine Auswahl nützlicher Packages dem Windows 10 PE hinzufügt als auch die technischen Abhängigkeiten in der korrekten Reihenfolge auflöst. Dieses Script habe ich sowohl bei Pastebin unter dieser Adresse abgelegt als auch in diesem aufklappbarem Akkordeon

Packages

Sie können dieses Script komplett kopieren und in das Fenster der Konsole einfügen. Die Windows Anwendung Dism.exe installiert diese Packages nacheinander. Das Hinzufügen der Packages dauert um die 10 – 15 Minuten und anschließend haben Sie Support für:

  • WMI und WMIC (Windows Management Instrumentation – Console)
  • Das .NET Framework in Version 4.5
  • Powershell, den Windows Scripting Host und HTA Anwendungen
  • Zugriff auf mit Bitlocker verschlüsselte Dateiträger (sofern Sie das Passwort dafür haben)

Sprachen

Bis zu diesem Zeitpunkt haben wir ein US-englisches Windows 10 PE vorbereitet, das in dieser Sprache startet und ein passendes Tastaturlayout erwartet. Für alle anderen Sprachen gibt es Sprachpakete im Pfad:
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\

Dort finden Sie Ordner, die nach den unterstützen Sprachen benannt sind. Um weitere Sprachpakete hinzuzufügen, nutzen Sie wiederum das Tool Dism.exe. Möchten Sie bespielsweise Powershell auf französisch zu nutzen,  hilft

 Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\WinPE-PowerShell_fr-fr.cab" 

Das war`s! Und noch einmal: Sie können die ganze Befehlskette einfach in das Fenster der Konsole reinkopieren. Das Management Tool Dism.exe hat diverse Optionen, um Anzeigesprachen, Tastaturlayouts und Systemsprachen zu konfigurieren. Eine komplette Referenz finden Sie hier bei Microsoft Technet. Diese Referenz ist sehr ausführlich und vor allem wichtig, wenn Sie Unterstützung für asiatische Sprachen und Tastaturen benötigen. Dieser Befehl z.B. sorgt für die Integration deutschsprachiger Tastaturlayouts in das Windows 10 PE:

 Dism /Image:"C:\WinPE_amd64\mount" /Set-InputLocale:de-DE 

Und dieser Befehl setzt alle Lokalisierungen auf deutsch in Deutschland:

 Dism /Image:"C:\WinPE_amd64\mount" /Set-AllIntl:de-de 

Die eigene Werkzeugsammlung für Digitale Forensik

An diesem Punkt könnten wir das Image schliessen und ein ISO daraus machen, es würde ein minimalistisches Windows booten. Nun aber kommen wir zum Highlight und fügen unsere persönliche IT-Forensik Software und Scripte hinzu. Wir speichern diese im Ordner tools und legen erst einmal den Ordner an:

 mkdir C:\WinPE_amd64\mount\tools 

Kopieren Sie nun ihre Software einfach in den Ordner tools. In meinem Beispiel kopieren wir diverse, in der Digitalen Forensik übliche Anwendungen in den Ordner tools. Software, die als portable Software vorkonfiguriert wurde, ist am besten geeignet. In vielen Fällen kann aber auch einfach der Ordner des installierten Programms aus dem „Program Files“ Verzeichnis 1:1 kopiert werden. Manchmal klappt es nicht, aber auch hier gilt: einfach ausprobieren. Wenn einige DLL fehlen, kann man auch diese kopieren.

Wenn Windows 10 PE gebootet ist, zeigt sich als UI wiederum nur eine Konsole – in der Windows-Sprache eingedeutscht Eingabeaufforderung genannt. Daher empfehle ich, einen portablen Dateimanager in den tools Ordner zu kopieren, um graphisch durch das Dateisystem browsen zu können. Meine klare Empfehlung ist Q-Dir in 64 Bit, es ist sehr schnell und erlaubt unter anderem den Wechsel der Anzeigesprache im laufenden Betrieb. Der nächste Screenshot zeigt eine beispielhafte Auswahl von IT-Forensik Apps aus meinem Portfolio. An dieser Stelle liegt es nun an Ihnen, welche Anwendungen und Python- oder Powershell Scripte Sie kopieren und unter Windows PE nutzen möchten. Hier gilt wieder: Probieren geht über Studieren!

Auswahl von IT-Forensik Software zur Nutzung unter Windows 10 PE

Auswahl von IT-Forensik Software zur Nutzung unter Windows 10 PE

Fein, wir sind nun mit der Vorbereitung fertig. Wir haben jetzt ein portables Windows samt zusätzlicher Pakete und können später problemlos eine deutsche Tastatur nutzen. Unsere bevorzugte Software zum File Carving und zur Extraktion wichtiger Artefakte ist ebenfalls drin. Wir schliessen nun das Image und speichern alle Änderungen, die wir durchgeführt haben, mit:

 Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit 

Das dauert nun einige Minuten, je nachdem, wieviele Daten Sie in den Ordner tools kopiert haben. In der Zwischenzeit zeigt Ihnen das Tool Dism.exe einen Fortschrittsbalken zur Belustigung an.

Dism.exe speichert das Image samt aller Änderungen

Dism.exe speichert das Image samt aller Änderungen

Um eine ISO Datei, die durch eine Virtualisierungssoftware wie VMWare oder VirtualBox gebootet werden kann, zu erstellen, führen Sie den folgenden Befehl aus. Gerade bei den ersten Tests der eigenen Softwaresammlung möchte ich Ihnen dieses empfehlen, weil Änderungen sehr einfach getestet werden können.

 MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso 

Oder Sie schreiben das Image auf einen USB Stick, wobei D: der in diesem Beispiel zugeordnete Laufwerksbuchstabe  ist:

 MakeWinPEMedia /UFD C:\WinPE_amd64 D: 

Nachdem Sie die ISO Datei erstellt oder den USB Stick beschrieben haben, können Sie das Fenster der Kommandozeile schliessen.

Booting, Mounting, Carving

Starten wir nun unser Windows 10 PE, zum Testen empfehle ich Virtualbox, bis Sie mit ihrer Softwareauswahl zufrieden sind und auf physikalischer Hardware booten. Bis dahin sollten Sie auch herausfinden, wie Ihnen die Management Tools diskpart und wpeutil weiterhelfen. Beim Start sehen Sie das bekannte Logo von Windows 10 und dann auch schon die Konsole mit dem Pfad auf X:\System32\. Den Ordner tools finden Sie jetzt unter X:\tools wieder. Dieses Konsolenfenster ist die primäre Shell des laufenden Betriebssystems- wenn Sie das Fenster der Konsole schließen, führt das laufende Betriebssystem einen Reboot durch. Und schließt dabei natürlich alle Anwendungen…you have been warned.

Die gute Nachricht zuerst: ein großer Teil der Software, die in der IT-Forensik beliebt und verbreitet ist, funktioniert unter Windows PE problemlos. Ich selbst habe beispielsweise diese Anwendungen getestet:

  • X-Ways Forensics in Version 19.1 vom Dezember 2016
  • Jesse Kornblum`s md5deep und konnte rekursiv ganze Festplatten hashen
  • Der 010 Editor als Testversion
  • Diverse Apps von Joakim Schicht, um NTFS Artefakte und $MFT zu extrahieren
  • …und viele andere Software

Auf Java basierende Software ist – wie sollte es auch anders sein – quälend langsam und eigentlich nicht zu empfehlen. Autopsy und der Bulk Extractor Viewer (Beviewer) starten zwar, die Arbeit damit macht aber wirklich keinen Spaß.
Software,die auf .NET basiert, läuft sehr performant. Die Unterstützung dafür kommt aus den zuvor installierten Packages und läuft problemlos.
Selbst Python läuft unter Windows 10 als portable Laufzeitumgebung! Erfolgreich habe ich WinPython in 32- und 64 Bit testen können. WinPython hat übrigens in seinen Unterordnern diverse Scripte, mit denen Sie WinPython als Standard für die Ausführung von *.py dateien registrieren können.

Beim Testen diverser Software ist mir übrigens – mal wieder – negativ aufgefallen, wieviele IT-Forensik Softwareprodukte immer noch ausschließlich in 32 Bit existieren. 64 Bit sollten eigentlich seit über zehn Jahren Standard sein. Na gut, dies ist ein anderes Thema….

X-Ways Forensik 19.1 unter Windows 10 Preinstallation Environment. Der Treiber für den Dongle ist integriert.

X-Ways Forensik 19.1 unter Windows 10 Preinstallation Environment. Der Treiber für den Dongle ist integriert.

Zugriff auf Festplatten mit und ohne Bitlocker

Das Kommandozeilenprogramm diskpart.exe ist die integrierte Lösung für das Management aller verbundenen Datenträger. Das Programm startet interaktiv, sobald Sie auf der Konsole diskpart ausführen. Eine detaillierte Dokumentation, um eine nur als lesbar eingebundene Festplatte dennoch beschreiben zu können, finden Sie in der Microsoft Knowledgebase unter https://support.microsoft.com/en-us/kb/971436
Oben haben wir als SanPolicy die 3 gesetzt, um zu verhindern, dass Windows wahllos Signaturen in die Boot Records von angeschlossenen Festplatten schreibt. Wenn Sie keine SanPolicy setzen, haben Sie vollen Lese- und Schreibzugriff auf verbundene Festplatten. In diesem Fall sollten Sie aber genau wissen, was Sie tun und auf diese Art und Weise nur mit der dritten Kopie des Originaldatenträgers arbeiten.

Für den Zugriff auf Bitlocker gibt es das Programm manage-bde. Ebenso wie diskpart ist es auch im normalen Windows 10 zu finden. Unter Windows 10 PE sorgt manage-bde für die Entschlüsselung von Festplatten, die mit Bitlocker geschützt wurden. Sie können z.B. auch das Passwort für Bitlocker ändern, Festplatten verschlüsseln und vieles mehr bewerkstelligen. Auch für dieses Tool hat Microsoft eine brauchbare Dokumentation veröffentlicht unter
https://technet.microsoft.com/de-de/library/ff829849(v=ws.10).aspx

Netzwerk Unterstützung

Windows 10 PE startet von Hause aus ohne Netzwerk Unterstützung. Hier kommt nun das Tool wpeutil ins Spiel, es ist dazu gemacht, das laufende Windows 10 PE zu verwalten. Wenn Sie auf ein LAN oder das Internet zugreifen möchten, führen Sie den folgenden Befehl auf der Konsole aus. Windows startet dann sowohl die Unterstützung für IPv4 als auch für IPv6.

 wpeutil InitializeNetwork 

Mehr braucht es nicht, um das Netzwerk zu starten. Danach startet der integrierte DHCP Service und sucht seine IP Konfiguration. Die Details der Netzwerkkonfiguration erfahren Sie mit:

 netsh interface ipv4 show config 

Auf diese Weise erhalten Sie auch den Namen der Netzwerkverbindungen. Diesen wiederum brauchen Sie, falls Sie ohne DHCP arbeiten und eine statische Adresse vergeben möchten. Hier ein Beispiel, wie Sie eine statische Adresse, Subnetzmaske und IP Gateway vergeben:

 netsh interface ipv4 set address name=”Ethernet” static [IP Address] [Subnet Mask] [Gateway] 

Sobald das gebootete Windows 10 Preinstallation Environment über eine IP Adresse verfügt, können Sie z.B. ein Netzlaufwerk mit net use lesend/ schreibend mounten und darauf gefundene Dateien ablegen. Ab diesem Moment sind auch die Frameworks Python, Powershell und WMIC voll netzwerkfähig. Clever ist es, mit dem Netzwerk Support auch gleich die Windows Firewall zu starten:

 wpeutil EnableFirewall 

wpeutil benötigen Sie auch, wenn Sie das Betriebssystem neu starten, ein Pagefile anlegen und zahlreiche andere Dinge ändern möchten. Mit diesem Tool können Sie auch im laufenden Betrieb Sprachen und Tastaturlayouts ändern. Dies ist der Unterschied zu Dism.exe: das Windows PE System wird damit vorkonfiguriert, bevor das Image gespeichert und auf USB/ DVD geschrieben wird. Für Änderungen der (teilweise identischen) Parameter im laufenden Betrieb ist wpeutil zuständig.

Fehlerquellen

Wenn es zu Problemen bei meinen Tests und dem Zusammenstellen des Datenträgers kam, lag der Fehler bei:

  • Fehlenden Adminstratorrechten
  • Falschen Pfaden zu den *.cab Dateien der Packages und meiner Verwechslung von 32- und 64 Bit Packages
  • Nicht mit „Anführungszeichen“ maskierte Pfade, was mich schon mehrfach auf die Idee brachte, den Erfinder von Program Files und Eigene Dateien mit einem nassen Handtuch zu bewerfen
  • Antivirensoftware, die für Abbrüche und merkwürdige Fehlermeldungen beim Hinzufügen der Packages verantwortlich ist
  • Software, die gern temporäre Daten schreiben wollte und dies nun einmal nicht auf einer abgeschlossenen DVD tun kann

In diesem Fall könnten Sie diese Software auf ein gemountetes Netzlaufwerk, ein RAM Drive oder einen zweiten USBV Stick kopieren, auf dem Sie schreibenden Zugriff haben. Oder Sie führen

 setsanpolicy C:\winpe_amd64\mount 1 

aus bei der Vorbereitung des Windows 10 PE Datenträgers. Aber bedenken Sie, daß in diesem Fall das Windows Betriebssystem ungefragt alle Datenträger schreibend einbindet. Die größte Änderung aber, die dabei durchgeführt werden könnte, ist lediglich das Schreiben einer Signatur in den Boot Record der Festplatte. Sollten Sie Fehlermeldungen von Dism.exe erhalten, sollten Sie testweise den Virenscanner deaktivieren und einen Blick in das eigene Logfile im Pfad C:\Windows\Logs\DISM\dism.log werfen.

Fazit

Ein vorbereiteter Datenträger mit Windows 10 PE und der persönlich favorisierten IT-Forensik Software erlaubt einen sehr schnellen Zugriff auf Server, Notebooks und Workstations. Einfach den USB Stick einstecken, booten und Sie haben vollen Zugriff auf alle Windows Dateisysteme, auch wenn diese mit Bitlocker verschlüsselt sind. Gerade im Bereich der Incident Response, wenn Geschwindigkeit wichtiger ist als die Datenintegrität für ein eher theoretisches Gerichtsverfahren gegen russische Hacker, kann ein vorbereitetes Windows 10 PE auf einem USB Stick sehr nützlich sein. Für die Extraktion von Artefakten ist Windows PE sehr gut geeignet, für eine Analyse der gefundenen Dateien aber keinesfalls.