Ansichten eines Informatikers

Windows und die IT-Sicherheit

Hadmut
3.2.2024 14:22

Mal was Fachliches.

Wie schon oft erwähnt, habe ich es nicht so mit Windows. Ich benutze das normalerweise nicht und habe von den Interna und der Administration nur wenig Kenntnis. Die IT-Sicherheit ist ein so riesiges Gebiet geworden, dass man das auch gar nicht mehr alles wissen kann, sondern Teams und Spezialisten braucht. Ich habe zwar früher Mal Pentests gemacht, das aber irgendwann auch aufgegeben, weil man das nur dann gut kann, wenn man sich zu 100% damit beschäftigt, ich aber andere Aufgaben hatte, wie Firewalls, Vorratsdatenspeicherung, Datenschutz und solche Dinge. Beides, Windows und Pentests sind Spezialthemen, bei denen man sich nur durch sehr hohen Fortbildungsaufwand „frisch“ halten kann und den man nur leisten kann, wenn man sonst nichts anderes mehr macht, und ich habe eben anderes gemacht, zumal mich Windows auch sehr langweilt und ich Microsofts Geschäftsgebaren nicht leiden kann.

Außerdem geht es mir mehr um die Systematik und das Strukturelle und Strategische. Es ist nicht (mehr) so mein Ding, zu irgendeinem Programm all die tausend Einstellungen zu kennen, die man wissen muss, um das Ding sicher zu machen oder zu „härten“. (Grausames aus dem Leben eines Informatikers: „Sie sind doch Informatiker, Sie müssen doch wissen, wie man unter Windows … / wie man in Excel … macht!“ – Nee, keine Ahnung, verwende ich beides nicht. Man fragt ja auch nicht den Architekten oder Städteplaner, wie man die Aufzüge der Firma X repariert.)

Deshalb ist IT-Sicherheit längst Teamsache, weil man Leute mit verschiedenen Schwerpunkten braucht. Einzelkämpfer geht da eigentlich nicht mehr oder nur noch in eng umgrenzten Gebieten. Da gibt es bei Informatikern normalerweise auch keine Eifersucht, man konsultiert sich da auch gern gegenseitig.

Einer mit Schwerpunkten, die ich jetzt nicht als Schwerpunkte habe, schreibt mir – dankenswerterweise:

zu Südwestfalen IT bzw. Microsoft und Active Directory

Hallo Herr Danisch.

unter https://www.danisch.de/blog/2024/02/01/abschlussbericht-suedwestfalen-it-ransomware-vorfall/ haben Sie sich zu einem Beitrag über den Abschlussbericht geäußert. Ich las den anonymisierten, vertraulichen mutmaßlich geleakten Abschlussbericht vor einer Woche.

Kurz zu meinem Hintergrund: ich bin seit mittlerweile 25 Jahren als IT-Security Consultant tätig. Fast die gesamte Zeit mache ich Penetrationstests, d.h. ich weiß vor allem wo es klemmt – z.B. bei Microsoft Windows.

Das erwähnte Passwort vom Domänenadministrator ist ein absolutes Paradebeispiel dafür, dass Microsoft mit der Komplexität und Sicherheit überfordert ist. Wie Ihnen bekannt ist, hat Jedes Windows-System (und auch jeder UNIX-Rechner) einen lokalen Superuser (Administrator bzw. root). Wenn man überall dafür dasselbe Passwort nutzt, ist das blöd. Wenn ich lokal Administrator-Rechte habe, kann ich die SAM auslesen (“vergleichbar” mit einer /etc/shadow), d.h. ich kenne die Hashwerte der lokalen Passworte. Ist das Passwort schlecht, kann ich das per Wörterbuch/Brute-Force-Angriff offline rekonstruieren (benötigt Zeit). Wird überall dasselbe Passwort verwendet, kann ich mich dann im Netzwerk ausbreiten (“lateral movement”), wenn ich das Passwort kenne. Unter Windows ist es aber noch blöder.

Ich muss das Passwort nicht kennen, denn ich kann mich mit dem Hashwert des Passworts (den ich auslesen kann) anmelden! Das geht natürlich nicht mit den Windows-Tools, aber selbst smbclient (in Samba enthalten) kann das seit mehr als einem Jahrzehnt. Das ist unter Windows (ohne manuell durchgeführte Härtungsmaßnahmen) auch mit Windows 11 und Server 2022 noch so, dass man sich ohne Kenntnis des Passworts sondern lediglich mit dem Hashwert des Passworts anmelden kann!

Mit Server 2008 (d.h. etwa 2008) hat Microsoft ein Feature eingeführt, damit man zumindest das Passwort ändern kann. Dazu wird eine verschlüsselte XML-Datei vom Client ausgewertet (Gruppenrichtlinienobjekt – group policy object GPO). Das wurde in Whitepaper-Dokumenten von Microsoft auch jahrelang so als Empfehlung publiziert (kuriosweise m.W. noch mindestens bis 2015, s.u.).

Doch wie macht es Microsoft? Auf allen Windows Systemen weltweit wird ein und derselbe AES-Schlüssel zur Ver- und Entschlüsselung benutzt, und publiziert: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gppref/2c15cbf0-f086-4c74-8b70-1f2fa45dd4be
D.h. jeder der Zugriff auf ein AD hat, kann die GPO auslesen und entschlüsseln. Wenn man dann (wie wohl bei Südwestfalen IT der Fall) lokal dasselbe Passwort wie für den Domänenadmin nutzt (keine gute Idee), kann man das Domänenpasswort auslesen.

Auch Microsoft ist aufgefallen, dass das irgendwie blöd ist. Immerhin mehr als ein halbes Jahrzehnt, nachdem dieses Feature bereitgestellt wurde.
Deshalb kam im Jahr 2014 ein Patch heraus, sodass man keine neuen GPOs mit dieser Verschlüsselung mehr erstellen kann (https://learn.microsoft.com/en-us/security-updates/SecurityBulletins/2014/ms14-025). Vorhandene GPOs werden aber nicht angefasst, d.h. die bleiben erhalten! Wenn man nix macht, bis heute! So wird es wohl bei der Südwestfalen IT gewesen sein.

Dort wurde also das Domänenadmin-Passwort seit mehr als 10 Jahren nicht geändert, obwohl es zwischenzeitlich erhebliche Sicherheitslücken in Microsoft Windows gab. Aus Sicht eines Pentesters wurde außerdem in den letzten 10 Jahren auch kein Pentest (der den Namen verdient) durchgeführt, denn das mit den GPOs ist mit das erste, wonach man sucht. Und das ist m.E. auch ein IT-Management Desaster, das man da keine derartige Qualitätssicherungsmaßnahme (d.h. einen Pentest) durchgeführt hat bzw. durchführen hat lassen.

Das passt zu einem anderen Fakt der Südwestfalen IT. Laut https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Zertifizierung-und-Anerkennung/Zertifizierung-von-Managementsystemen/ISO-27001-Basis-IT-Grundschutz/ErteilteZertifikate/iso27001zertifikate_node.html ist deren Rechenzentrum ISO 27001 zertifiziert. Mit dem schönen Nachsatz: “Die Netzanbindungen, sowie die im Rechenzentrum betriebene IT-Infrastruktur, sind ausgenommen.” Sämtliche Vorurteile über Zertifizierungen werden damit auch bestätigt.

Ich hoffe, Sie nicht gelangweilt zu haben. Microsoft ist natürlich nicht die einzige Firma, die solchen Murks macht. Das gilt z.B. auch für Cisco.

Viele Grüße,

Da stehen ein paar Dinge drin, die ich nicht wusste, etwa dass man sich auch mit dem Passwort-Hash statt mit dem Passwort anmelden kann. (Wer baut denn so eine Scheiße?) Oder dass die überall denselben Schlüssel verwenden.

Was ich da lese, wäre, wenn das so stimmt, ein so katastrophaler Murks, dass man Windows niemals irgendwo hätte einsetzen dürfen, wo die Sicherheitsanforderungen über Null sind und wo Angreifer in Kontakt mit der Maschine kommen können (also das System nicht völlig isoliert/air-gapped) ist.

Ich habe mich schon seit Jahren immer wieder mal gewundert, warum die Kollegen von der Windows-Front so auf „Härtung“ herumreiten. Der Begriff ist zwar allgegenwärtig und wird überall, auch in den Zertifizierungen ständig und überall gefordert, ist aber nicht sinnvoll. Denn eigentlich dürften Systeme gar nicht so gebaut sein, dass man sie für den Realeinsatz erst noch „härten“ muss (ich finde schon den Begriff bekloppt), sondern die müssten out-of-the-box robust arbeiten. Das darf eigentlich gar nicht sein, dass man etwas „härten“ muss, es darf eigentlich nur „aufweichen“ geben (wenn man sagen kann, dass ein bestimmter Angriff aufgrund anderer Umstände ausgeschlossen werden kann oder aufgrund einer Entscheidung bewusst in Kauf genommen wird). Deshalb habe ich auch eigentlich gar kein Verständnis für Software, bei der man noch Spezial-, Fremd-, Dritt-Wissen oder -Tools braucht, um sie feindeslandtauglich zu machen.

Wenn ich ein Auto kaufe, muss ich ja auch nicht erst in irgendwelchen Foren und Autorenbüchern nachlesen, wie ich da die Bremsen aktiviere und einen Sicherheitsgurt einbaue, und wie ich den Airbag und die Beleuchtung so konfiguriere, dass sie funktionieren.

Sowas geht in gewisser Weise dann, wenn ich selbst etwas baue. Wenn ich einen Webserver aufstelle oder eine Webapplikation baue, dann ist das richtig (wenngleich auch da schon dubios, weil die zugrundeliegenden Tools und Bibliotheken eigentlich nicht so gebaut sein dürften), dass es einen Katalog von Ratschlägen gibt mit „das darfst Du keinesfalls tun“ und „das musst Du unbedingt tun“. Wenn ich aber nicht selbst baue, sondern ein – teures – System wie Windows kaufe und einfach nur einsetze, dann darf das eigentlich nicht sein, dass das Ding noch eine zusätzliche „Härtung“ braucht.

Ich habe ja noch nie viel von Windows gehalten. Wenn ich das jetzt aber lese, und wenn das so stimmt, dann darf Windows (oder die Versionen, auf die sich das bezieht) eigentlich in Firmen, die Pflichten wie Datenschutz usw. haben, und auch in Behörden, Gerichten und so weiter, gar nicht zum Einsatz kommen.

Mal so blöd gefragt: Wie stellt man eigentlich sicher, dass der Urteilstext eines Gerichtsurteils, das man von der Geschäftsstelle des Gerichts bekommt, mit dem übereinstimmt, was der Richter entschieden hat?

Was der mir da schreibt, ist – wenn es stimmt – ein komplettes No-Go.

Denn selbst wenn man das „härten“ und patchen kann, wie kann man denn überhaupt einer Software trauen, die solche katastrophalen Brachialfehler enthält, und davon wahrscheinlich noch mehr?

Und das kann ja nur noch schlimmer geworden sein, denn in den USA hat man ja mit Diversität, Frauenquote und so weiter seither die Qualifikationsanforderungen an Mitarbeiter noch viel weiter, schier auf Null gesenkt (Quality is a myth.)

Und jetzt jammern wir, dass ein Krankenhaus nach dem anderen, eine Uni nach der anderen, eine Stadtverwaltung nach der anderen, ein Gericht nach dem anderen vor Hackern in die Knie gehen und die mit Ransomware vollgepumpt werden?