Citrix: Keine Schöne, sondern nur das Biest Marc Ruef | 04.04.2006 Penetration Tests sind sinnvoll, durchaus. Aber wie jedes Werkzeug machen sie nur Sinn, wenn sie taktisch geschickt eingesetzt werden. Dies bedeutet, dass mit einem Penetration Test nie die grundlegende Sicherheit einer Umgebung bestimmt werden kann. Stattdessen sollte man sie als Ergänzung zu einem Vulnerability Assessment sehen, in dem vorgängig die potentiellen Schwächen einer Umgebung determiniert wurden. Der Penetration Test ist sodann, meist nach Umsetzung der Gegenmassnahmen, das Antreten eines proof-of-concepts zur Bestimmung der echten Sicherheit der Umgebung. Ich muss gestehen, dass ich Penetration Tests nicht so gerne mache. Der paradoxe Erfolgsdruck der meisten Kunden wird nämlich innerhalb solcher Projekte früher oder später zur komplexen Herausforderung. Kann der Penetration Tester keine Schwachstellen finden, wird er als schlecht und unerfahren abgestempelt. Kann er hingegen in Systeme einbrechen und Daten entwenden, war entweder der vorangehende Security Audit nicht umfassend genug oder irgendjemand hat während des Anstrebens der Gegenmassnahmen versagt. Unter Umständen hat der Penetration Tester also immer verloren. Trotzdem führe ich seit einiger Zeit mehr Penetration Tests weder Security Audits durch. Dies scheint eine natürliche Entwicklung des deutschsprachigen Security Consulting Markts zu sein. Die meisten Firmen haben die letzten 10 Jahre ein Höchstmass an Ressourcen investiert, um konzeptionelle und technische Schwächen in ihren Lösungen zu finden und auszumerzen. In der jetzigen Phase geht es um die Feuerprobe dieser Bestrebungen. Vor einigen Wochen fand ich mich in einem technischen Penetration Test einer internationalen Bank wieder. Ich hatte schon länger mit den dort zuständigen Personen zu tun und wusste, dass die ihre Umgebung im Griff haben. Der etablierte Security Officer ist einer der wenigen seiner Zunft die ich kenne, der sowohl gerne einen Kernel kompiliert als sich auch schon Gedanken über unternehmensweite Policies zur allgemeinen Informationssicherheit gemacht hat. Während der technischen Überprüfungen vor Ort, ich versuchte als normaler Mitarbeiter auf die speziell abgeschotteten Datenrechner zuzugreifen, bestätigten sich meine Vermutungen. Die Systeme waren auf dem neuesten Stand, geschützt mit allen erdenklichen Schutzmassnahmen, die in der modernen Computersicherheit ihren Stammplatz gefunden haben. Ich sah mich schon an der Anschlussbesprechung, wie ich dem Unternehmen eine Bestnote verteilen müsste. Mein Stolz schien schon im Vorfeld geknickt. Ein kleiner Lichtblick dieses Unterfangens war die Citrix MetaFrame Farm. Auf dieser wurde für authentisierte Benutzer ein Internet Explorer mit "freiem" Zugriff aufs Internet bereitgestellt. Mein Ziel war es nun sodann, aus dieser wohl behüteten Umgebung des Internet Explorers auszubrechen und erweiterte Rechte auf dem Citrix-System zu erlangen. Da es sich in einer der wichtigen DMZ befand, wäre dies einem Supergau für den Kunden gleichgekommen - Ich für meinen Teil hätte hingegen gute Arbeit geleistet. centerimghttp://www.computec.ch/_images/newspost_images/citrix_program_neighborhood.jpg/img /center Nachdem ich mich mit dem Citrix-Server verbunden hatte, wurde ich mit einer Willkommensseite im dediziert freigeschalteten Internet Explorer begrüsst. Es fiel mir sofort auf, dass diese nicht wie üblich durch einen Webserver mittels HTTP bereitgestellt wurde. Sondern, dass stattdessen ein lokaler Dateizugriff stattfand. Es war für mich sodann naheliegend, anstatt das übliche C:\\INET\\WELCOME.HTML mit einem C:\\WINNT\\win.ini zu ersetzn. Dies in der Hoffnung, dass ich Lesezugriff auf eine der Systemdateien erlangen könnte. So war es dann auch, denn nach dem Abschicken der Anfrage im Browser öffnete sich Notepad und zeigte mit die besagte ini-Datei an. Weitere Überprüfungen ergaben, dass ich Lesezugriff auf jede Datei des Systems hatte, die nicht speziell geschützt wurde. Praktisch alle Konfigurationsdateien und Dokumente konnte ich einsehen. Selbst schreiben konnte ich diese mit meinem kleinen Notepad-Zugriff. Lese- und Schreibrechte sind etwas schönes, in der Tat. Doch leider war ich nach wie vor in der Explorer- und Notepad-Umgebung gefangen. Dies reichte zwar, um rudimentäre Zugriffe umzusetzen, doch wirklich komfortabel schien mir dies nicht. Und da ich, so ist es hinlänglich bekannt, unendlich faul bin, machte ich mich daran, zusätzliche Applikationen starten zu können. Wie ich durch Probieren herausfand, konnte ich über den Zugriff des Internet Explorers grundsätzlich jede Datei, für die ich Lese- und Ausführrechte besass, ausführen. Doch Citrix verhinderte es, dass diese gestartet wurden. Einzig notepad.exe schien als eine der letzten Dateien übrig zu sein, die ich nach Herzenslust auf dem Server ausführen konnte. Da derlei Schutzmechanismen oftmals simpel umgesetzt werden, nahm ich einen mindestens so simplen Trick zur Hilfe, um diese Restriktion zu umgehen. So stellte ich mir im Internet die gewünschten EXE-Dateien bereit, die ich sodann in notepad.exe umbenannte und deshalb ausführen durfte. Der Taskmanager, Eingabeaufforderung (ich musste zuerst command.com als EXE-Datei zurechthacken), Portscanner und Exploits waren so schnell auf dem Server untergebracht und Betriebsbereit. Mission accomplished! Einmal mehr war dies für mich der Beweis, dass sichere Citrix-Umgebungen praktisch unmöglich umzusetzen sind. Sobald eine Anwendung bereitgestellt wird, die in sich selbst nicht sicher ist, können weitere Prozesse gestartet und immer mehr Rechte erlangt werden. Citrix ist für mich ein grosses Biest, das man nicht bändigen kann. Von den vielen Citrix Penetration Tests, die ich bisher durchgeführt habe, haben wirklich alle Umgebungen sicherheitstechnisch hochgradig versagt. Vor allem wenn Dinge wie Microsoft Word oder der Internet Explorer angeboten werden, hat ein Angreifer mit dem ersten Klick schon gewonnen.