13.04.2017

von Marco Wohler

Es gibt verschiedene Strategien und Mittel um einen Server oder Client gegen Angriffe von innen oder von aussen zu schützen. Dieser Artikel befasst sich mit Datei- und Ordner-Rechten, da diese häufig vernachlässigt werden  und so Hackern Tür und Tor öffnen.

Während Penetration Tests und Security Audits von Arbeitsstationen, Notebooks, Citrix-Systemen, Windowsbasierten Kiosk-Systemen und auch Servern werden unter anderem die Berechtigungen geprüft. Das heisst es wird nach System-, Dienst- und Programmordnern und -Dateien gesucht, deren Berechtigungen es einem Angreifer erlauben, diese zu verändern. Generell wird in solchen Fällen von «Weak Permissions» gesprochen.

Solche «Weak Permissons» auf einem System sind oft nicht eine Fehlkonfiguration vom Betriebssystem, sondern verursacht von nachträglich installierten Programmen oder Diensten. Geschieht die Installation nicht korrekt, weil ein Programm-Installer die Rechte nicht richtig setzt, ein Workaround eines Admins zum unsicheren Providurium wird, die Softwareverteilung falsch konfiguriert wurde oder Ordner und Programme von Tests übrigbleiben, kommt es vor, dass die Rechte für Dateien und Ordner nicht so gesetzt sind, wie sie sein sollten.

Wenn ein Angreifer auf ein System gelangt, in dem er z.B. über eine verwundbare Applikation Code auf dem Rechner ausführen kann, sind die weiteren Schritte meistens (entspricht dem Vorgehen bei einer Advanced Persistent Threat (APT) Attacke):

  • Persistenz erweitern
  • Rechte ausweiten
  • sich im Netzwerk verbreiten

Auch Angreifer von innen, welche als Benutzer den Rechner bedienen oder sich mit ihm verbinden können, könnten versuchen, die Rechte zu erweitern, um z.B. auf Daten anderer Benutzer zugreifen zu können. Dies kann über Berechtigungen von Dateien und Ordner erreicht werden, wenn die Berechtigungen unglücklich gesetzt sind und so Schwächen aufweisen. So kann beispielsweise eine ausführbare Datei in einem Ordner in „C:\Programm Files\“ durch eine vom Angreifer erstellte Datei ersetzt werden, wenn er dazu die nötigen Rechte besitzt. Die Datei wird beim nächsten Programmstart ausgeführt und wenn dieses Programm von einem Administrator oder vom System gestartet wird, erlangt der Angreifer dadurch automatisch die entsprechenden Rechte (Admin oder System). Im Visier sind deshalb Dienste, DLLs (Programmbibliotheken) und eben solche Programme, die mit System- oder mit Admin-Rechten gestartet werden. Mit diesen Rechten ausgestattet hat der Angreifer Zugriff auf weitere Systemdateien, andere Benutzerverzeichnisse usw.. Auf diesem Weg können oft während Penetration Tests auf Citrix-Systemen aber auch auf Clients und Kiosk-Systemen System-Admin-Rechte erlangt werden, nachdem andere Schutzmassnahmen wie z.B. ein Zugriffsverbot auf „C:\“ umgangen wurden.

Trügerische Sicherheit

Auf Kiosk-Systemen sowie in Citrix-Umgebungen fällt während Penetration Tests oft auf, dass die Systeme zwar für Benutzer den Zugriff auf „C:\“ ausblenden und verweigern, die Rechte auf Dateisystemebene jedoch nicht oder nur einmal am Anfang geprüft und angepasst wurden.

Die Sperren, die den Benutzer davon abhalten sollten auf „C:\“ und dessen Unterordner zuzugreifen, sind oft eine vordergründige Sicherheit. In vielen Fällen gelingt es trotz den Massnahmen auf „C:\Windows“ oder auf die Programm-Ordner zuzugreifen. Um die Sperren zu umgehen, kann man z.B. Alternativen zum Explorer von Windows nutzen. Per CMD und Power Shell ist dies oft schon möglich. Manchmal sind auch Programme wie 7zip auf dem System zu finden. Solche bringen einen eigenen Dateimanager mit, mit dem der Zugriff auf „C:\“ oft gelingt. Auch bei aktiviertem AppLocker sind diese Programme (meistens) zu Recht oft erlaubt, helfen jedoch auch einem Angreifer, auf Systemdateien zuzugreifen.

Abbildung 1: Verhinderter Zugriff
Abbildung 2: Shell Command

Manchmal ist es für Angreifer jedoch auch einfacher, als man denkt. In einem Fall wurde schlicht eine neue Verknüpfung auf dem Desktop mit Ziel „C:\Windows“ angelegt, über die man ein Explorer-Fenster öffnen konnte. Bei Citrix, vor allem bei gestreamten Applikationen, sind sogenannte Shell-Commands interessant. Ein „Speichern unter“ oder „Öffnen“-Dialog genügt, um in der Adresszeile den entsprechenden Befehl einzugeben und an den gewünschten Ort zu gelangen.

Die wichtigsten sind folgend aufgelistet:

  • shell:system                       # öffnet C:\Windows\System32
  • shell:windows                    # öffnet C:\Windows
  • shell:programfiles             # öffnet C:\Program Files
  • shell:AppUpdatesFolder  # öffnet Installierte Updates (Systemsteuerung)
Gegenmassnahmen

Ist der Zugriff auf diese Orte nur unzureichend geschützt, gelangt der Angreifer so vergleichsweise einfach zu den wichtigen Datei- und Ordnerstrukturen auf einem System. Die genannten Shell-Commands können in der Adresszeile des Explorers eingegeben und getestet werden.

Um zumindest Zugriffe über den Explorer von Windows zu unterbinden, was bei gestreamten Applikationen wie Office und Browser vor allem Sinn macht, sollten per GPOs die folgenden beiden Einstellungen gesetzt werden:

\User Configuration\Policies\Administrative Templates\Windows Components\File Explorer\
– Hide these specific drives in My Computer
– Prevent access to drives in My Computer

Die genannten GPO-Einstellungen sollten nach den betrieblichen Anforderungen konfiguriert werden. Empfohlen wird den Zugriff auf das Systemlaufwerk (normalerweise „C:\“) per Explorer zu verhindern. Dabei ist zu beachten, dass wenn der Zugriff auf „C:\“ verboten wird, der Zugriff auf die Benutzerverzeichnisse ebenfalls gesperrt wird. Diese sollten deshalb per GPO auf eine zweite Partition oder ein Netzlaufwerk ausgelagert werden, falls sich Benutzer an diesem System anmelden sollen.

An obigen Beispielen wird gut sichtbar, dass es letztendlich immer wieder von den Datei- und Ordner-Rechten anhängt, ob ein Angreifer auf einem System wichtige Dateien verändern oder ersetzen und dadurch weitere Rechte und Möglichkeiten erlangen kann oder nicht. Gerade auf exponierten Systemen sowie Mehrbenutzersystemen sollten regelmässig die Rechte der Dateien und Ordner überprüft und wenn nötig korrigiert werden. Dabei kommt es vor allem auf die Schreibrechte an, die „Everyone“, „Users“ oder andere Gruppen mit Standardbenutzern besitzen. Dies kann man relativ einfach mit AccessEnum.exe von Sysinternals überprüfen. Das Ergebnis des Programms kann als TXT exportiert, in Excel geöffnet und anhand Schreibrechten gefiltert werden. Am meisten Beachtung sollten dabei Dateien und Ordner in „C:\Windows“, „C:\Program Files“, „C:\Program Files (x86)“ und Ordner mit Scripts und weiteren Programmen haben. Ein unprivilegierter Benutzer sollte in solchen Ordnern keine Schreibrechte besitzen. Eine gute Praktik ist der Vergleich mit Standard-Windows-Rechten nach der Installation des Betriebssystems. Verglichen werden Dateien und Ordner in der gleichen Struktur. Also z.B. „C:\Windows\System32“ mit „C:\Windows\System32“.

Die Rechte auf einem System, besonders Mehrbenutzersysteme und Kiosk-Systeme, sollten bedacht konfiguriert und regelmässig auditiert werden.

Abbildung 3: AccessEnum.exe

Sollte es aus irgendwelchen Gründen Ausnahmen geben, wird empfohlen, diese gut zu dokumentieren und das Risiko abzuschätzen. Folgende Faktoren können für die Einschätzung eine Rolle spielen:

  • Wie wichtig/kritisch ist das System (oder die darauf gespeicherten Daten) für das Unternehmen?
  • Welche Personen müssen darauf zugreifen können?
  • Wo und in welcher Zone (Netzwerk) befindet sich das System?
  • Wie gut können weitere Massnahmen zur Überwachung umgesetzt werden?

Wird entschieden, die Ausnahme zu genehmigen, sollten weitere Massnahmen ergriffen werden.

Der entsprechende Ordner könnte z.B. auf Zugriffe überwacht und protokolliert werden. Im Falle eines Falles könnte man so nachvollziehen, wer wann mit welchen Rechten auf die Dateien und Ordner zugegriffen hat. Eventuell könnten Schreibvorgänge neben der Protokollierung auch einen Alarm auslösen.

Abbildung 4: File System Events

Neben den Datei- und Ordner-Rechten wird aus Erfahrungen von verschiedenen Client Audits und Penetration Tests noch kurz auf folgende zwei Massnahmen eingegangen:

  • AppLocker
  • Zugriffssperre auf administrative Tools

Oneconsult empfiehlt, eine Anwendungssteuerung wie AppLocker einzusetzen und ebenfalls den Zugriff auf administrative Tools wie CMD, Power Shell, mmc usw. für Benutzer zu verbieten. Dem Angreifer mag es gelingen, über eine unbekannte Schwachstelle oder auf sehr aufwändige Art und Weise Code auszuführen. Danach sollte er jedoch nicht mit Hilfe von einfachen Mitteln weit(er) kommen, da das Nachladen von Programmen sowie das Starten durch AppLocker verhindert und keine für den Administrator vorgesehenen Tools wie CMD oder Powershell verwendet werden können, die dem Angreifer dazu dienen, das System auf weitere Schwachstellen zu prüfen und die Datei- und Ordner-Rechte zu evaluieren. Wie zahlreiche Penetration Tests zeigen, sind dies sehr wirkungsvolle Massnahmen, die mit Hilfe von GPOs umgesetzt und Angreifern sowie Penetration-Testern das Leben erschweren können.

Abbildung 5: Geblocktes AccessEnum.exe

Marco Wohler ist CISO, System Engineer & Penetration Tester bei der Oneconsult AG

Über Oneconsult

Die Oneconsult AG ist ein Schweizer Cyber Security Consulting Unternehmen mit rund 30 Mitarbeitern, Büros in der Schweiz und Deutschland und einem Kundenstamm von 300+ Organisationen und 1200+ weltweit durchgeführten Projekten. Wir sind Ihr vertrauenswürdiger Partner für einen umfassenden Cyber Security Ansatz gegen externe und interne Cyber-Bedrohungen wie APT, Hacker-Angriffe, Malware-Befall, digitalen Betrug und Datenverlust. Die Kerndienstleistungen von Oneconsult sind Penetration Tests, ISO 27001 Security Audits und IT-Forensik. Zum Schutz Ihrer Organisation und um spezifische Informationssicherheitsrisiken anzugehen, sind auch praxisorientiertes Security Consulting, Security Training und Virtual Security Officer Services Teil des Portfolios. Eigene IT Security Researcher, IT-Forensik-Experten (GCFE, GREM), ISO Security Auditoren (ISO 27001 Lead Auditor) und ein grosses Team an zertifizierten Penetration Testern (OPST, OSCP etc.) stehen Ihnen kompetent zur Verfügung.

www.oneconsult.com