Skip to content

Alles, was Sie über ShellShock wissen müssen

ShellShock ist der Name für eine Schwachstelle in der Unix-Shell Bash, über die durch präparierte Environment-Variablen beliebige Befehle eingeschleust werden können. Was es damit genau auf sich hat erfahren Sie hier.

Die Bash

Bash ist ausgeschrieben die GNU Bourne-Again Shell, ein Kommandozeile für Unix-Systeme (und damit auch für Linux, Mac OS X und *BSD). Unter Linux und Mac OS X ist die Bash sogar die Standard-Shell.

Und die kommt nicht nur zum Einsatz, wenn ein Benutzer über die Konsole (oder heutzutage meist ein Terminalfenster) Befehle eingibt, sondern auch wenn dafür geschriebene Skripte ausgeführt werden. Was zum Beispiel auch in Form einer Webanwendung als sogenanntes CGI-Skript möglich ist.

Die Shellshock-Schwachstelle

Ursprünglich gab es nur eine Schwachstelle, eben die auf den Namen ShellShock getaufte Schwachstelle mit der CVE-ID CVE-2014-6271. Die wurde am 24. September veröffentlicht und betrifft den Umgang der Bash mit Funktionsdefinitionen in Environmentvariablen. Ein Angreifer kann darüber Shellbefehle einschleusen, die die Bash beim Auswerten des Environments ausführt.

Die große Gefahr der Schwachstelle besteht darin, dass eine Environment-Variable mit beliebigen Namen als "Träger" einer bösartigen Funktionsdefinition mit angehängten Befehlen dienen kann. Als erster Haupt-Angriffsvektor wurden HTTP-Requests an CGI-Skripte identifiziert. Dabei werden Teile des Requests in Environmentvariablen gespeichert, über die dadurch die präparierten Funktionsdefinitionen eingeschleust werden können.

Wird das CGI-Skript mit der Bash verarbeitet, wird das Environment importiert und dabei die eingeschleuste Funktionsdefinition ausgewertet. Und aufgrund der Schwachstelle werden dann die angehängten Befehle ausgeführt.

Die weiteren Schwachstellen

Nach der ShellShock-Schwachstelle wurden weitere Schwachstellen in der Bash gefunden:

  • CVE-2014-7169 - Der Patch für die ShellShock-Schwachstelle behebt die Schwachstelle nicht vollständig, der "Rest" wird unter dieser CVE-ID geführt. Inzwischen gibt es einen Patch, der auch diese Schwachstelle beseitigt.
  • CVE-2014-7186 - Eine von ShellShock unabhängige Pufferüberlauf-Schwachstelle, die unter Umständen das Einschleusen von Code erlaubt. Für diese Schwachstelle gibt es bisher keinen Patch.
  • CVE-2014-7187 - Ein Off-by-One-Fehler, der ebenfalls von der ShellShock-Schwachstelle unabhängig ist und auch die Ausführung eingeschleusten Codes erlauben kann. Auch für diese Schwachstelle gibt es bisher keinen Patch.
  • CVE-2014-6277 - Eine aus der Ferne ausnutzbare Parsing-Schwachstelle, die die Ausführung eingeschleusten Codes erlaubt. Für diese Schwachstelle gibt es bereits einen Patch.
  • CVE-2014-6278 - Eine leicht ausnutzbare Möglichkeit zum Ausführen beliebigen Codes aus der Ferne, die ihr Entdecker Michal Zalewski für äquivalent zur ursprünglichen ShellShock-Schwachstelle hält. Auch für diese Schwachstelle gibt es einen Patch.

Die Angriffsvektoren und Angriffe

Es wurde eine ganze Reihe von Angriffsvektoren für die ShellShock-Schwachstelle entdeck. Außer HTTP-Requests für CGI-Skripte sind das zum Beispiel bestimmte Konfigurationen von OpenSSH, Mailservern und OpenVPN sowie DHCP-Clients, die Daten nicht vertrauenswürdiger Server verarbeiten. Die Angriffe konzentrieren sich zur Zeit aber auf Webserver.

Bei den Angriffen gibt es im Grunde fünf Varianten:

  1. Es wird direkt in der Bash eine Reverse Shell geöffnet, also eine Shell, auf die der Angreifer von außen zugreifen und den Server steuern kann.
  2. Es wird Schadsoftware eingeschleust. Bisher handelt es sich dabei um Hintertüren und Botnet-Client-Software, über die die Angreifer den Server steuern und zum Beispiel für DDoS-Angriffe missbrauchen können.
  3. Die Schwachstelle wird ausgenutzt, um den angegriffenen Server zum Senden eines Requests an einen anderen Server zu bewegen. Das kann zum Beispiel für Klickbetrug genutzt werden.
  4. Über die Schwachstelle werden Systeminformationen und ähnliches abgefragt, sehr wahrscheinlich zur Vorbereitung eines weiteren Angriffs.
  5. Es handelt sich um reine Scans. Dabei werden Befehle eingeschleust, durch die angreifbare Server zum Beispiel ein Ping-Signal an den Server der Angreifer senden oder ihm eine E-Mail schicken.

Nachtrag 2.10.:
FireEye hat Angriffe auf NAS-Systeme beobachtet. Bisher überwiegend in Japan und Korea sowie einen vereinzelten Angriff in den USA, aber das hat ja nicht viel zu bedeuten. Übers Internet ist jedes NAS nur ein Paar Klicks vom Angreifer entfernt.
Bisher konzentrieren sich die Angriffe auf Qnap-Systeme, auf denen der bereits veröffentlichte Patch nicht installiert ist. Die Angreifer verschaffen sich Zugriff auf das NAS und fügen ihren SSH-Schlüssel zu den vertrauenswürdigen Schlüsseln in der Datei authorized_keys hinzu und installieren eine Hintertür. Dadurch können sie danach jederzeit auf das NAS zugreifen. Der Angriff wird in FireEyes Bericht ausführlich beschrieben.
Ende des Nachtrags vom 2.10.

Wer ist gefährdet?

Fangen wir damit an, wer nicht gefährdet ist: Windows-Nutzer. Es sei denn, sie hätten sich sehr bemüht, angreifbar zu sein. Und dafür müsste man schon zum Beispiel cygwin installieren und über einen Webserver erreichbar machen.

Gefährdet sind nur Unix und Unix-artige Systeme wie Linux und Mac OS X sowie *BSD, sofern die Bash installiert ist. Was unter den meisten Linux-Varianten und Mac OS X der Defaultfall ist.

Und dann kommt es noch auf die Art des Rechners an. In erste Linie sind Server gefährdet, da diese aus dem Internet erreichbar sind und sich die Angriffe zumindest noch auf Webserver konzentrieren.

Desktops sind in der Regel kaum gefährdet, da sie keine Dienste nach außen anbieten. Es gibt aber zum Beispiel für Mac OS X einen Exploit für eine Privilegieneskalation, mit denen sich ein Angreifer mit Zugriff auf den Rechner root-Rechte verschaffen kann.

Nachtrag 2.10.:
FireEye hat Angriffe auf NAS-Systeme beobachtet.
Ende des Nachtrags vom 2.10.

Was ist zu tun?

Für die meisten betroffenen Systeme etc. gibt es einen Patch, der zumindest die Shellshock-Schwachstelle behebt. Und der sollte schnellstmöglich installiert werden, sofern das noch nicht passiert ist.

Sehr wahrscheinlich werden weitere Patches folgen, da es für zwei der neu entdeckten Schwachstellen ja noch gar keinen gibt. Diese Patches müssen natürlich ebenfalls zügig installiert werden. Wirklich kritisch ist zur Zeit aber nur der ShellShock-Patch, da diese Schwachstelle ausgenutzt wird.

Nachtrag 2.10.:
FireEye hat Angriffe auf NAS-Systeme beobachtet.
Bisher werden nur Qnap-Systeme angegriffen, aber das kann sich schnell ändern. Wenn Sie ein Qnap-NAS besitzen, sollten Sie die bereit gestellten Updates schnell installieren. Egal ob Sie das NAS nun mit dem Internet verbunden haben oder nicht, denn die aktuellen Angriffe erfolgen zwar über das Internet, aber auch nur im lokalen Netz erreichbaren NAS könnten angegriffen werden, zum Beispiel über infizierte Rechner im lokalen Netz. Aber das ist zumindest zur Zeit noch eine theoretische Bedrohung, wirkliche Gefahr droht nur den mit dem Internet verbundenen Geräten.
Wenn Sie ein NAS von einem anderen Hersteller besitzen, sollten Sie zunächst auf der Website des Herstellers prüfen, ob es von der ShellShock-Schwachstelle betroffen ist und ob es einen Patch gibt. Gibt es einen, und das ist zumindest für Synology-Geräte der Fall, muss der schnell installiert werden. Gibt es keinen, sollten Sie ihr NAS sicherheitshalber nicht mit dem Internet verbinden, bis die Schwachstelle behoben wurde.
Ende des Nachtrags vom 2.10.

Weiterführende Informationen

Ich habe einige Texte mit ausführlicheren Informationen veröffentlicht:

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Links, jede Menge Links. Und ganz wenig Kommentare.

Vorschau anzeigen
Da mir die Zeit heute etwas knapp geworden ist gibt es mal wieder nur jede Menge Links und ganz wenige Kommentare. Neues zu den aktuelle 0-Day-Exploits Los geht es mit den aktuellen 0-Day-Exploits für die OLE- Schwachstellen: F-Secure

Dipl.-Inform. Carsten Eilers am : Vor Weihnachten ist noch einiges zu tun...

Vorschau anzeigen
Es ist bald Weihnachten, und bis dahin ist noch einiges zu tun. Und damit meine ich nicht die üblichen Aufgaben wie "Im letzten Moment die Geschenke kaufen" und "Am 23.12. Lebensmittelvorräte für die nächsten 4 Wochen einkaufen, w

Dipl.-Inform. Carsten Eilers am : 2014 - Das Jahr, in dem die Schwachstellen Namen bekamen

Vorschau anzeigen
2014 wird als das Jahr in die Geschichte eingehen, in dem die Schwachstellen Namen bekamen. Vorher gab es bereits Namen für Schadsoftware, aber für Schwachstellen haben die sich erst dieses Jahr wirklich durchgesetzt. Die Schwachstelle von

Dipl.-Inform. Carsten Eilers am : Die GHOST-Schwachstelle - Mehr Schein als Sein

Vorschau anzeigen
Es gibt mal wieder eine neue Schwachstelle mit Namen: GHOST. Aber die ist bei weitem nicht so gefährlich wie zum Beispiel der Heartbleed-Bug oder die ShellShock-Schwachstelle. Eine uralte Schwachstelle spukt auf Linux-Systemen Erst

Dipl.-Inform. Carsten Eilers am : Die "Equation Group", Carbanak, JASBUG - Namen sind in!

Vorschau anzeigen
Es gibt neue Angriffe und Schwachstellen mit mehr oder weniger schönen Namen: Die "Equation Group", den Schädling Carbanak, und den JASBUG. Mit dem sich seine Entdecker gerne ein Denkmal setzen würden. Die "Equation Group" - Cyberk

Dipl.-Inform. Carsten Eilers am : Venom - Ein Name macht eine Schwachstelle nicht automatisch zur Katastrophe

Vorschau anzeigen
Es gibt eine neue Schwachstelle mit Namen: Venom. Das ist seit letztem Jahr ja üblich. Aber nur, weil eine Schwachstelle einen Namen hat, wird sie dadurch nicht automatisch ganz besonders schlimm. Auch wenn manche das zu meinen scheinen.

Dipl.-Inform. Carsten Eilers am : XSS-Angriffe, Teil 14: Das Browser Exploitation Framework BeEF

Vorschau anzeigen
Zum Abschluss der Serie über XSS-Angriffe darf der Klassiker zur Demonstration von Angriffen auf und über den Webbrowser nicht fehlen: Das Browser Exploitation Framework BeEF. BeEF im Überblick Das Browser Exploitation Framewor