Kapitel 1:
Einleitung
1.1 Ziel und Inhalt des Buchs
mimikatz hat wahrscheinlich jeder schon einmal gehört, der sich intensiver mit IT-Sicherheit auseinandersetzt. Über die Jahre hat sich mimikatz als eines der bekanntesten »Hacking-Tools« etabliert – nicht zuletzt als es für den Crypto-Trojaner NotPetya zweckentfremdet wurde, der in der zweiten Jahreshälfte 2017 um die Welt ging und unzählige Computer verschlüsselte.
Auch bei allen, die sich tiefgehend mit IT-Security auseinandersetzen, um z.B. Penetration-Tester zu werden oder als Verteidiger ihre Unternehmen zu schützen, ist mimikatz schnell im Gespräch.
mimikatz ist vor allem für die Funktion bekannt, dem Arbeitsspeicher eines PCs, auf dem mimikatz läuft, Klartextpasswörter zu entlocken. Das ist nicht verwunderlich, da Klartextpasswörter die am einfachsten zu verstehenden und weiterverwendbaren Geheimnisse darstellen, die man einem Computer entlocken kann.
Klartextpasswörter lassen sich ohne großes Verständnis dafür, wie Computersysteme und deren Sicherheitskonzepte funktionieren, weiterverwenden und beliebig an anderen Stellen ausprobieren. Nicht selten werden Passwörter für verschiedene Accounts, Dienste und Webseiten wiederverwendet, weshalb Klartextpasswörter oft zur Kompromittierung weiterer Daten und Systeme führen.
Auch liegt es in der Natur moderner Computersysteme, mittels sogenannter Single-Sign-on-Mechanismen User automatisch und bequem in alle Dienste komplexer IT-Systemlandschaften einzuloggen. Diese Vertrauensstellungen zwischen Systemen führen dazu, dass man mit einem Passwort nicht nur das System, von dem man es erhalten hat, kontrolliert, sondern auch unzählige weitere Ressourcen, wie z.B. E-Mail-Konten, Webseiten und Kollaborationsplattformen wie SharePoint und viele andere, anzapfen und auslesen kann.
1.2 Mehr als nur Klartextpasswörter
All das ist sehr effektiv und in den falschen Händen schon ziemlich gefährlich – aber auch sehr hilfreich, wenn es von Verteidigern eingesetzt wird, um zielgerichtet Awareness zu schaffen und systematisch Sicherheitslücken aufzudecken. Allerdings kann mimikatz deutlich mehr, als nur dem Arbeitsspeicher eines Windows-PCs Klartextpasswörter zu entlocken.
mimikatz ist quasi ein maßgeschneidertes Tool, um die in Windows-Domänen eingesetzten Sicherheitsmechanismen und Protokolle wie z.B. NTLM und Kerberos gezielt auszunutzen und sich mit deren Hilfe durch Windows-Domänen zu hacken.
Wie Sie in späteren Kapiteln lesen werden, ist Kerberos keine Erfindung von Microsoft und findet auch abseits von Windows Anwendung. Nicht selten werden Linux- oder Mac-Systeme mithilfe von Kerberos in Windows-Domänen integriert. mimikatz kann also auch genutzt werden, um diese Geräte anzugreifen oder über sie den Rest einer Windows-Domäne anzugreifen.
Folglich stellt mimikatz ein umfangreiches Werkzeug dar, insbesondere zum Ausnutzen des Kerberos-Protokolls.
1.3 Zielgruppe des Buchs und Voraussetzungen zum Verständnis
Jeder, der sich mit IT-Sicherheit befasst, sollte wissen, wie einfach es ist, selbst den aktuellsten Windows-Versionen Passwörter zu entlocken. Für IT-Sicherheitsverantwortliche in Umgebungen mit Windows-Domänen sollte ein Verständnis von mimikatz und den damit möglichen Angriffen daher zum Pflichtprogramm gehören.
Mit diesem Buch möchte ich Ihnen einen leicht verständlichen Einstieg in die Funktionalität von mimikatz und Windows-Domänen-Eskalation geben. Natürlich können Sie die Funktionsweise von mimikatz auch im Internet recherchieren. Doch ich möchte Ihnen mit diesem Buch die komplexen Hintergründe des Programms zusammenhängend und verständlich näherbringen. Dabei setze ich nur grundlegende Kenntnisse im Bereich der IT-Security voraus, sodass sich dieses Buch sowohl an Einsteiger als auch an langjährige Profis richtet.
Nach einer kleinen Historie zu mimikatz werde ich Ihnen zuerst aufzeigen, wie Sie sich eine kleine Testumgebung zum Nachspielen der Angriffe leicht aufbauen können.
Danach werde ich gezielt auf einige Grundlagen der Windows-Security-Architektur und auf das Kerberos-Protokoll eingehen, um die notwendigen Grundlagen für das Verständnis von mimikatz zu festigen.
Im Hauptteil des Buchs werde ich dann gängige Angriffstechniken, die durch mimikatz ermöglicht werden, im Labor Schritt für Schritt erläutern, sodass Sie diese bei Bedarf gern parallel durchspielen können.
Als kleines Highlight wird sich eines der Kapitel auch einer recht modernen Angriffstechnik – dem sogenannten Kerberoasting – widmen, die zwar nun auch schon seit ein paar Jahren bekannt, aber trotzdem noch nicht annährend jeder Firma in Deutschland ein Begriff ist.
Um die vorgestellten Angriffe und Techniken in diesem Buch nachzuvollziehen und zu üben, benötigen Sie keinen Zugriff auf eine lebendige Firmenumgebung. Heutzutage ist es recht einfach möglich, mit kostenlosen Virtualisierungslösungen und kostenlosen Microsoft-Testinstallationen komplexe Windows-Domänen nachzustellen. Sie können problemlos alle Techniken in einer sicheren, abgeschotteten Testumgebung erproben, ohne Gefahr zu laufen, die eigene Firma zu beeinträchtigen. Des Weiteren können Sie problemlos, auch ohne Zugriff auf eine Firmenumgebung, wertvolles Know-how aufbauen und für den produktiven Einsatz erproben.
Zusammenfassend, ist dieses Buch für jeden interessant, der noch kein mimikatz-Veteran ist und Interesse an IT-Security hat oder seinen Marktwert steigern möchte.
1.4 Rechtliches
Wahrscheinlich kommt kein Buch, das sich um IT-Security dreht, ohne einen entsprechenden Warnhinweis aus: Das unbedarfte und unkontrollierte Anwenden von Werkzeugen wie mimikatz kann (gegebenenfalls versehentlich) zu Straftaten führen. Es verstößt gegen deutsches Gesetz, IT-Systeme ohne Erlaubnis der Eigentümer auf Schwachstellen hin zu überprüfen oder gar Schwachstellen in diesen Systemen auszunutzen. Selbst mit Erlaubnis und Einverständniserklärung der Eigentümer kann es durchaus nicht rechtens sein, IT-Systeme zu auditieren. Nehmen wir einmal das Beispiel eines Mailservers in der eigenen Firma. Auf diesem Mailserver liegen gegebenenfalls vertrauliche oder private E-Mails, die dem deutschen Postgeheimnis entsprechend zu behandeln sind.
Auch Shared-Hosting-Umgebungen, wie sie z.B. bei jeglichen Cloud-Providern vorliegen, stellen ein Problem dar: Entdecken oder nutzen Sie gar eine Schwachstelle in der unterliegenden Infrastruktur des Cloud-Providers, können Sie gegebenenfalls an Daten anderer Nutzer dieser Infrastruktur gelangen. Dies gilt es unbedingt zu vermeiden und bedarf ganz klarer vertraglicher Regelungen mit dem jeweiligen Provider.
Lassen Sie sich hiervon aber nicht abschrecken. Sicherheitsaudits sind auch in diesen Umgebungen sehr nützlich und wichtig. Gute Cloud-Provider lassen Sicherheitsaudits unter abgesteckten Bedingungen zu.
Auch könnte der Internet-Service-Provider, über dessen Infrastruktur ein einfacher Portscan durchgeführt werden soll, Portscans verbieten. Viele Internet-Service-Provider haben hierzu Klauseln in den Verträgen. Gerade bei privaten Anschlüssen wird das Portscanning gern pauschal verboten. Ich selbst habe zwar noch keine Fälle erlebt, bei denen Internet-Provider aufgrund des Verstoßes gegen dieses Verbot Anschlüsse gekündigt oder Kunden abgemahnt hätten, aber Sie gehen auf Nummer sicher, wenn Sie sich auch hier explizit eine Freigabe einholen.
Zu guter Letzt sollten Sie bedenken, dass es ein Kündigungsgrund sein kann, wenn Sie unbedarft mit mimikatz bei Ihrem Arbeitgeber experimentieren, selbst wenn Sie dabei nichts zerstören und nur gute Beweggründe haben.
Die Einverständniserklärung
Zu jedem Penetrationstest und jedem Schwachstellenaudit gehört also immer eine schriftlich und vertraglich festgehaltene Einverständniserklärung des Eigentümers der Infrastruktur und aller beteiligten Provider. Vorlagen hierfür bekommen Sie beim Beauftragen von Schwachstellenscans und Penetrationstests bei professionellen Anbietern oder sicherlich auch frei verfügbar im Internet. Lassen Sie eine solche Vorlage aber vorsichtshalber durch Anwälte prüfen, bevor Sie größere Audits unternehmen.
Dieses Buch stellt keine fundierte Rechtsberatung dar.
Ich möchte an dieser Stelle lediglich darauf hinweisen, dass die rechtlichen Rahmenbedingungen der IT-Security sehr ernst genommen werden müssen.
Im Zweifelsfall arbeiten Sie beim Lesen und Nachvollziehen dieses Buchs komplett auf virtuellen Maschinen auf Ihrem privaten Computer oder besuchen entsprechend vorbereitete Workshops oder Weiterbildungen, die abgeschottete Demo-Umgebungen bereitstellen.
1.5 Begrifflichkeiten und Glossar
Zu guter Letzt möchte ich darauf hinweisen, dass es bei tiefgehenden Themen wie mimikatz und IT-Security immer mal wieder vorkommen kann, dass Ihnen einzelne Begriffe oder Hintergründe unklar sind. Ich habe daher versucht, entsprechende Begriffe direkt im Text durch Fettschrift kenntlich zu machen und sie im Glossar am Ende des Buchs zu beschreiben.
Sollte Ihnen trotzdem beim Lesen noch etwas unklar sein, scheuen Sie sich nicht davor, den Begriff einfach in die Suchmaschine Ihrer Wahl einzugeben. Ich versichere Ihnen, dass Sie zu allen Inhalten in diesem Buch eine Vielzahl von Webseiten finden werden, die Ihnen die Hintergründe weiterführend erläutern.
Kapitel 2:
Hintergrundinformationen zu mimikatz
mimikatz ist eines der bekanntesten IT-Security-Werkzeuge auf der ganzen Welt. Doch wie kam es zur Entstehung von mimikatz?
Anscheinend war es ein Experiment:
»mimikatz is a tool I've made to learn C and make some experiments with Windows security.«
So schreibt es jedenfalls Benjamin Delpy, der Programmierer von mimikatz, auf der GitHub-Projektseite:
https://github.com/gentilkiwi/mimikatz
Benjamin Delpy ist dem einen oder anderen Leser möglicherweise besser bekannt unter dem Nickname »gentilkiwi«. »Kiwi« meint übrigens sowohl die Frucht als auch den Vogel:
»Its symbol/icon is a kiwi, sometimes the animal, but mostly the fruit!«
An dieser Stelle möchte ich Benjamin Delpy in Form seines Twitter-Profils eine Seite dieses Buchs widmen. Es ist nicht selbstverständlich, dass Menschen ihre Zeit investieren, um Werkzeuge zu bauen, die sie der Welt kostenlos zur Verfügung stellen. Mit seiner Arbeit trägt Benjamin Delpy dazu bei, die Welt ein Stück weit sicherer zu machen, und er ermöglicht Menschen wie z.B. Pentestern oder Administratoren, auf Basis seines Programms ihren Lebensunterhalt zu verdienen.
Mit kostenloser Software wie mimikatz, Kali Linux sowie Metasploit und unzähligen weiteren Tools kann sich jeder, der das Geld für ein günstiges Notebook und genug Zeit investiert, wertvolles Know-how aneignen und damit Geld verdienen. Gleichzeitig steigert er auf diese Weise seinen eigenen Marktwert und somit sein Gehalt.
2.1 Die erste Version von mimikatz
mimikatz wird ständig weiterentwickelt! So ist der Funktionsumfang, während ich dieses Buch schreibe, deutlich größer als in den ersten Monaten und Jahren nach Veröffentlichung der ersten Version. In IT-Security-Kreisen wurde mimikatz zuerst als das Programm bekannt, das dem Arbeitsspeicher von Windows-Systemen Klartextpasswörter entlocken konnte.
Benjamin Delpy selbst schreibt in einer seiner öffentlich verfügbaren Präsentationen, dass mimikatz im Mai 2011 das erste Klartextpasswort aus dem WDigest-Credential-Provider von Windows extrahierte.
Danach folgten in kurzer Zeit viele weitere mächtige Funktionen – nicht zuletzt komplexe Kerberos-Integrationen. mimikatz befindet sich bis heute in der Entwicklung; sehr wahrscheinlich wird es auch zukünftig noch durch weitere spannende Funktionen ergänzt und damit neue Angriffe auf Windows-Systeme ermöglichen.
Wenn Sie an dieser Stelle noch nichts mit Begriffen wie Credential-Provider, WDigest oder Kerberos anfangen können oder nur eine grobe Vorstellung davon haben, was sie bedeuten könnten, seien Sie nicht abgeschreckt. Dieses Buch wird zur richtigen Zeit jeweils auf die notwendigen Hintergründe eingehen und es Ihnen ermöglichen, die vorgestellten Funktionen und Angriffe nachzuvollziehen.
2.2 Wie es zu der Open-Source-Veröffentlichung von mimikatz kam
Ich selbst bin erst kürzlich auf die Geschichte rund um die Open-Source-Veröffentlichung von mimikatz gestoßen, als ich das im November 2019 erschienene Buch Sandworm von Andy Greenberg gelesen habe.
In dem Buch geht Greenberg unter anderem auf die Geschichte rund um die Open-Source-Veröffentlichung von mimikatz durch Benjamin Delpy ein.
Ein Auszug dieser Geschichte wurde bereits 2017 in einem Artikel auf der Wired-Webseite veröffentlicht:
https://www.wired.com/story/how-mimikatz-became-go-to-hacker-tool/
Im Jahr 2012 hat der damals 25 Jahre alte Benjamin Delpy einen Vortrag über mimikatz auf der Security-Konferenz »Positive Hack Days« gehalten. Man findet im Internet weiterhin die Ankündigung für diesen Talk:
Benjamin Delpy reiste zwei Tage vor der Konferenz in Russland an und übernachtete im President Hotel in Moskau. Allerdings funktionierte das Internet in seinem Zimmer nicht, und Delpy begab sich zur Rezeption.
An der Rezeption wurde er dazu aufgefordert, in der Lobby zu warten, bis ein Techniker das Problem in seinem Zimmer behoben haben würde. Als Delpy zu seinem Zimmer zurückkehrte, fand er dort einen Mann im schwarzen Anzug an seinem eingeschalt...