CVE-2021-22955, CVE-2021-22956 – DOS Angriffe auf NetScaler

CVE-2021-22955, CVE-2021-22956 – DOS Angriffe auf NetScaler

Citrix hat heute ein neues Security Bulletin veröffentlicht. Es gibt zwei neue Schwachstellen in allen NetScaler Versionen, welche eine Denial of Service Attacke ermöglichen. Eine der Schwachstellen wurde mit dem Status «Critical» versehen, da sie sich ohne Authentifizierung vom Internet aus ausnutzen lässt.

CVE-ID  Description  CWE  Affected Products  Pre-conditions Criticality 
CVE-2021-22955 Unauthenticated denial of service  CWE-400: Uncontrolled Resource Consumption Citrix ADC, Citrix Gateway Appliance must be configured as a VPN (Gateway) or AAA virtual server Critical 
CVE-2021-22956 Temporary disruption of the Management GUI, Nitro API and RPC communication CWE-400: Uncontrolled Resource Consumption Citrix ADC, Citrix Gateway, Citrix SD-WAN WANOP Edition Access to NSIP or SNIP with management interface access Low 

Was ist zu tun

Citrix stellt für alle supporteten Linien aktualisierte Versionen bereit:

  • Citrix ADC and Citrix Gateway 13.1-4.43 and later releases of 13.1 
  • Citrix ADC and Citrix Gateway 13.0-83.27 and later releases of 13.0 
  • Citrix ADC and Citrix Gateway 12.1-63.22 and later releases of 12.1 
  • Citrix ADC and NetScaler Gateway 11.1-65.23 and later releases of 11.1 
  • Citrix ADC 12.1-FIPS 12.1-55.257 and later releases of 12.1-FIPS 

Download unter https://www.citrix.com/downloads/citrix-adc.html

Zum Abdichten der Schwachstelle CVE-2021-22956 ist ausserdem eine manuelle Konfiguration notwendig, s. https://support.citrix.com/article/CTX331588

ACHTUNG:

Das Update von Firmware Versionen kleiner, oder gleich 12.1.59.x, bzw. 13.0.64.35 führt dazu, dass der SSO für viele Anwendungen nicht mehr funktioniert. Vor dem Update sollte daher unbedingt folgender Citrix eDocs Artikel gelesen werden: Enable SSO for Basic, Digest, and NTLM authentication (citrix.com)

In NetScaler 13.1.4.43 sind Classic Policies nicht mehr supportet. Vor einem Update auf 13.1.x sollte daher unbedingt eine vorherige Überprüfung der NetScaler Konfiguration durchgeführt werden, s. Classic Policy Deprecation FAQs

CVE-2021-22955, CVE-2021-22956 – DOS Angriffe auf NetScaler

Schwachstelle in Citrix NetScaler und Citrix Gateway

Letzte Aktualisierung: Samstag-25.1.2020 – 20:15
Version: 1.5

Problembeschreibung

In Citrix Application Delivery Controller (ADC), früher bekannt als NetScaler ADC und Citrix Gateway, wurde eine Schwachstelle entdeckt, die, wenn sie ausgenutzt wird, einem nicht authentifizierten Angreifer die Ausführung von beliebigem Code ermöglichen könnte.
Die Schwachstelle wurde mit der folgenden CVE-Nummer versehen: CVE-2019-19781

Betroffene Systeme

  • Citrix ADC und Citrix Gateway Version 13.0 alle unterstützten Builds
  • Citrix ADC und NetScaler Gateway Version 12.1 alle unterstützten Builds
  • Citrix ADC und NetScaler Gateway Version 12.0 alle unterstützten Builds
  • Citrix ADC und NetScaler Gateway Version 11.1 alle unterstützten Builds
  • Citrix NetScaler ADC und NetScaler Gateway Version 10.5 alle unterstützten Builds

Citrix Patch verfügbar

Citrix hat diese Woche begonnen die Patches für alle verfügbaren Version zu veröffentlichen. Es stehen nun für alle Citrix ADC Versionen, sowie Citrix SD-WAN ein Patch zum download zur Verfügung.

Weiter Informationen entnehmen Sie bitte dem nachfolgenden Artikerl.


Wichtiger Nachtrag!

Bitte kontrollieren Sie ob bei Ihnen folgender Release zum Einsatz kommt:
Citrix ADC 12.1 51.16/51.19
Citrix ADC 12.1 50.31

Bei diesen beiden Versionen funktionieren die hier beschriebene Lösungsansatz NICHT! Bitte aktualisieren Sie auf die aktuelle 12.1 Version. Danach können Sie mit dem Workaround weiterfahren. Bitte beachten Sie, dass auch diese Version noch immer den eigentlichen Fehler beinhaltet.


Ist mein System betroffen?

Die starke Medienpräsenz hat dazu geführt, dass sich die Angriffe potentiell erhöht haben. Da viele Systeme, die bis zum heutigen Tag noch nicht abgesichert wurden, tatsächlich gehackt wurden, besteht dringender Bedarf bei allen Betreibern eines Citrix ADC zu analysieren ob Sie betroffen sind und Gegenmassnahmen einzuleiten.

Ob Ihr ADC angreifbar ist, können Sie mittels eines simplen CURL Befehles feststellen

curl -v https://MeineGatewayURL.company.com/vpn/../vpns/cfg/smb.conf –path-as-is

Ausserdem wurden folgende Test Methoden beschrieben und veröffentlicht:
• https://github.com/projectzeroindia/CVE-2019-19781
• https://github.com/trustedsec/cve-2019-19781/
• https://support.citrix.com/article/CTX267027
• https://www.virustotal.com/gui/file/2052f1e7830e2d86a356a0532d3c2728b88d674a4384727ea7df1d3522a5ed05

Wurden vom Attacker CronTab Jobs hinterlegt?

Überprüfen Sie ob Angreifer auf Ihre  Cron-Jobs“ im BSD Zugriff erhalten haben um Zugriff auch  dann weiterhin zu erhalten nachdem  wenn die Lücke  behoben wurde. Überprüfen Sie Ihre Crontab-Datei:

cat /etc/crontab
crontab -l -u nobody

Finden Sie crontab jobs die unter dem Benutzer “nobody laufen” oder die sich nicht kennen und die dort nicht hingehören  so wurde Ihr System gehackt und Gegenmassnahmen müssen getroffen werden.

Überprüfen Sie Ihre HTTP access logs ob Verdächtige Zugriffe stattgefunden haben:

Mithilfe der folgenden Befehle können Sie Überprüfen ob Ihr System kompromittiert wurde:

gzcat /var/log/httpaccess.log.*.gz | grep vpns | grep xml
gzcat /var/log/httpaccess.log.*.gz | grep “/\.\./”
cat /var/log/httpaccess.log | grep vpns | grep xml
cat /var/log/httpaccess.log | grep “/\.\./”

Sehen Sie verdächtige .xml uploads in den Logs oder sehen Sie Zugriffe die in den URLs /../ enthalten, so wurde Ihr System attackiert und Gegenmassnahmen müssen dringend ergriffen werden.

Überprüfen der Template Dateien:

Die am häufigsten gesehene Attacke kann nachgewiesen werden, indem überprüft wird, ob verdächtige .xml Dateien auf Ihren ADC hochgeladen wurden.

Mit Hilfe der folgenden Befehle können Sie das überprüfen:

ls -lh /var/vpn/bookmark/*.xml
ls -lh /netscaler/portal/templates/*.xml
ls -lh /var/tmp/netscaler/portal/templates

Finden Sie in den Verzeichnissen verdächtige .html, .html.ttc2 oder andere Dateien die dort nicht liegen sollten 
so wurde Ihr System attackiert und Gegenmassnahmen müssen dringend ergriffen werden.

Überprüfen ob Backdoor Skripte  Implementiert wurden:

Backdoor Skripten oder anderen böswilligen Aufgaben können  als Perl- oder Python-Skript Ihr System Infizieren.
So überprüfen Sie, ob aktive Perl- oder Python-Tasks ausgeführt werden:

ps -aux | grep python
ps -aux | grep perl

Überprüfen ob fremde Dienste oder Crypto Miner  Implementiert wurden:

In einigen Fällen wurde versucht Crypto Miner und andere Dienste zu installieren.
Sie können diese identifizieren, indem Sie sich die CPU-intensiven Prozesse ansehen und bewerten:

top -n 10

Sollten Sie andere Prozesse als NSPPE-00, NSPPE-01, NSPPE-002 NSPPE-03, NSPPE-04, NSPPE-05 sehen, die eine hohe CPU-Auslastung aufweisen,
so haben Sie möglicherweise einen Crypto Miner gefunden!

Problembehebung

Die folgenden Konfigurationsänderungen dienen der Abschwächung der oben genannten Schwachstelle.

Standalone System

Führen Sie die folgenden Befehle über die Befehlszeilenschnittstelle der Appliance aus, um eine Responder-Aktion und -Richtlinie zu erstellen:

enable ns feature responder
add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""
add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\")) || http.req.header(\"NSC_USER\").Contains(\"/../\") || http.req.header(\"NSC_NONCE\").Contains(\".pl\")" respondwith403
bind responder global ctx267027 1 END -type REQ_OVERRIDE
save config .

Stellen Sie sicher, dass die Änderungen auch für die Management-Schnittstellen gelten. Führen Sie von der Kommandozeilenschnittstelle aus die folgenden Befehle aus.

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"
reboot

HA Pair

On Primary:

enable ns feature responder
add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""
add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\")) || http.req.header(\"NSC_USER\").Contains(\"/../\") || http.req.header(\"NSC_NONCE\").Contains(\".pl\")" respondwith403
bind responder global ctx267027 1 END -type REQ_OVERRIDE
save config 
shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"
reboot

Auf dem sekundären System, nachdem das primäre System wieder erreichbar ist:

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"
reboot