Verteidiger denken in Listen, Angreifer in Vektoren


"Das größte Problem bei der Netzwerkverteidigung ist, dass Verteidiger in Listen denken. Angreifer denken in Vektoren. Solange das so ist, gewinnen die Angreifer."
John Lambert

Das Zitat ist 10 Jahre alt und noch immer brandaktuell – aber was bedeutet es?

Es ist eine Aufforderung, unser Netzwerk durch die Augen eines Hackers zu sehen. Angreifer sehen einen Haufen Endpunkte, die durch gegenseitige Abhängigkeiten und zentralisierte Management-Tools miteinander verbunden sind.

Credentials (Zugangsdaten) geben dir Zugriff auf die Endpunkte.

Admin-Credentials geben dir Macht über die Endpunkte.

Auf diesen Endpunkten gespeicherte Credentials geben dir noch mehr Zugriffe und noch mehr Macht.

Daraus resultiert dann ein Vektor – ein Angriffspfad.

Angreifer springen von einem Vektor zum Nächsten

Hacker brauchen in Netzwerken entweder Schwachstellen oder Zugangsdaten, um sich zwischen den Endpunkten fortzubewegen. Wenn der erste Eintrittspunkt zum Beispiel ein normaler Office-Client in der Finanzabteilung ist, dann ist der Bewegungsradius zunächst sehr begrenzt. Wenn sich aber dort jemand vom Service-Desk für den IT-Support mit Admin-Credentials anmeldet, können sie gestohlen und auf anderen Clients wiederverwendet werden. Das können welche aus anderen Abteilungen sein, aber auch Clients aus der globalen IT, die wiederum Zugriff auf zentrale Steuerungs-Dienste wie Active Directory, File-Server oder Mail-Server haben.

Wenn Angreifer an Master-Secrets kommen, also an kryptografische Schlüssel auf Domain Controllern oder die Root Certificate Authority, können sie auch Credentials fälschen. Das verschafft ihnen natürlich einen massiven Vorteil, um sich ungehemmt auszubreiten. Game Over!

Folge den Credentials, nicht irgendwelchen Listen

Zentrale Systeme wie Active Directory, Software-Verteilung (SCCM) und Endpoint Protection (Anti-Virus) verwalten den Großteil deiner Endpunkte im Netzwerk. Damit die Systeme ihre Arbeit machen können, brauchen sie bestimmte Rechte. Diese Rechte werden über Service-Accounts bereitgestellt.

Wenn du nur einen einzigen Service-Account für die Verteilung der Software auf allen Clients verwendest, dann reicht es, wenn ein Angreifer lediglich einen Client kompromittiert, um automatisch Zugriff auf alle zu erhalten. Verwendest du pro Client eigene Zugangsdaten, dann könnten Hacker deinen Server für die Software-Verteilung kompromittieren, um die Kontrolle über alle Clients zu erhalten.

Hier ein paar Beispiele, wie die Rechte über das Active Directory indirekt vergeben werden:

  • Client-Management: Der Domain Admin meldet sich von seinem Office-Client (E-Mail, Office, Internet) auf den Domain Controllern an. Die Admin-Credentials werden lokal verarbeitet (er gibt das Passwort ein) und sind im Arbeitsspeicher verfügbar. Die Client-Admins können den Arbeitsspeicher auslesen und werden so zu Domain Admins.
  • Software-Verteilung: Wenn Updates über die Software-Verteilung auf den Domain Controllern verteilt werden, dann sind die Software-Paketierer automatisch auch Domain Admins, denn sie können dort beliebigen Code ausführen.
  • Server-Backup: Wenn die Domain Controller vom Backup-Dienst gesichert werden, dann liegt die Active Directory Datenbank mit allen Passwort-Hashes auf den Backup-Servern. Die Backup-Admins sind dann auch Domain Admins. Das Active Directory selbst hat auch Service Accounts, die automatisch nicht geändert werden. Das heißt, selbst ein 5 Jahre altes Backup würde zur totalen Kompromittierung führen.

Was tun, Fisch? Wir haben doch keine Wahl, Fisch!

Wir müssen lernen umzudenken, was den Umgang mit Credentials betrifft, ohne die IT bei der Arbeit zu behindern.

Selbst wenn du 100.000 Endpunkte in deinem Netzwerk hast, sind es immer nur eine Handvoll, die alle Systeme zentral verwalten. Die IT ist es gewohnt, ihre Systeme nach Teams, Aufgaben und Abteilungen zu managen. Aber wenn es um Cybersecurity geht, reicht das nicht. Wir müssen uns fragen: "Wo werden Credentials verarbeitet?" und "Wer kann darüber verfügen?"

  • Tipp #1: Verwende so viele "lokale Credentials" wie möglich. Clients und Server kannst du in per LAPS super managen. "Virtuelle Accounts" gibt es seit Server 2008 R2 und fast niemand kennt sie. Damit kannst du lokale Dienste isolieren.
  • Tipp #2: Domain Admins dürfen sich nirgendwo, außer auf Domain Controllern anmelden. Das kannst du über "Authentication Policies" einfach steuern. Hast du Service Accounts die Domain Admins sind? Falls ja, weg damit! Es gibt effektiv keinen Grund, uneingeschränkte Berechtigungen zu delegieren. Das kannst du im Active Directory sehr einfach und sehr granular umsetzen.
  • Tipp #3: Vermeide "Super Credentials" – also alle Service Accounts und Berechtigungsgruppen, die du auf eine relativ große Anzahl an Endpunkten verteilst. Müssen deine Server-Admins wirklich ständig auf hunderten, oder sogar tausenden Servern Berechtigungen haben? Konzepte wie "Just in Time Access" haben hier enorme Vorteile.

Tools wie Bloodhound können dir bei der Analyse helfen. Die sind auf den ersten Blick nicht unbedingt einfach zu verstehen, aber wenn du dich ein wenig mit ihnen beschäftigst, kriegst du das bestimmt hin. Falls du Hilfe brauchst, sprich mich gerne an.

Fazit

Es ist zwar wichtig, alle Systeme zu betreuen, abzusichern und zu aktualisieren, aber dabei darfst du das "Wie" nicht aus den Augen verlieren. Credentials sind wie eine Schattengesellschaft, die sich unbemerkt über deine IT-Systeme ausbreiten.

Sichere IT passiert nicht einfach so, schon gar nicht in verwobenen Strukturen, man muss sie sich MACHEN.

Michael Mayer, Modecenterstraße 22, Wien, 1030
Abbestellen · Einstellungen

Michael Mayer

MACH dir deine Security selbst. Jeden Samstagmorgen, teile ich anwendbare Tipps & Tricks, Strategien und Anekdoten aus der Welt der Cyber Security. Ganz ohne Fachchinesisch!

Read more from Michael Mayer

Fleißige Mitarbeiter steigen in Unternehmen nicht nur die Karriereleiter empor. Auch ihre Rechte wachsen mit ihnen. Die Geschichte vom Praktikanten, der CIO wird, erwärmt viele Herzen. Dass er noch immer Drucker-Toner bestellen darf, weiß kaum jemand mehr und würde den CISO vermutlich auch nicht happy machen. Und jetzt mal Hand aufs Herz? Wer traut sich schon, den Chef-Chef-Chef aus dem Portal zu kicken? Womöglich kriegt er darüber noch eine Benachrichtigung per E-Mail. 😱 Warum alte Rechte...

So ähnlich wie im Titel kamen mir oft Admins vor, die den Windows Remote Desktop Port von 3389 auf 8888 gelegt haben, mit der Begründung die Server abzusichern. Der Fachbegriff dazu heißt “Security by Obscurity” und auch ich bekenne mich schuldig. Ich habe auch schon öfters den Schlüssel auf den Reifen gelegt, wenn ich jemandem mein Auto geborgt habe. 🛞🔑 Wenn aber jemand weiß, wo der Schlüssel, die Datei oder der Port ist, dann taugt das "Sicherheitskonzept" auch nicht mehr. Ein paar...

Keine Angst, der Inhalt wird besser als der Reim im Titel. 😂 Geben wir dem Security-Kind einen Namen: Es verschlingt Unmengen an Zeit Es kostet einen Haufen Geld Es behindert beim Arbeiten Es wirkt sich nicht positiv auf die Bilanz aus 🖲️ MÄÄÄP: Falsch! Wenn du es richtig machst, kannst du mit Security auch viel Geld verdienen. Nein, du musst jetzt keine lustigen AI-Cyber-Lösungen (🐍🛢️) verkaufen, sondern ich spreche wirklich davon, IT-Security Maßnahmen in deiner Firma umzusetzen und damit...