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:
- 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.
- 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.
- 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.
- Über die Schwachstelle werden Systeminformationen und ähnliches abgefragt, sehr wahrscheinlich zur Vorbereitung eines weiteren Angriffs.
- 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:
- ShellShock - Die Schwachstellen und Angriffsvektoren
- ShellShock - Die Angriffe
- Eine Chronik der Entwicklung:
- ShellShock - Chronologie und Details: Tag 1 - Der 24. September 2014
- ShellShock - Chronologie und Details: Tag 2 - Der 25. September 2014
- ShellShock - Chronologie und Details: Tag 3 - Der 26. September 2014
- ShellShock - Chronologie und Details: Tag 4 - Der 27. September 2014
- ShellShock - Chronologie und Details: Tag 6 - Der 29. September 2014
- ShellShock - Chronologie und Details: Tag 8 - Der 1. Oktober 2014
Trackbacks
Dipl.-Inform. Carsten Eilers am : Links, jede Menge Links. Und ganz wenig Kommentare.
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Vor Weihnachten ist noch einiges zu tun...
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : 2014 - Das Jahr, in dem die Schwachstellen Namen bekamen
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Die GHOST-Schwachstelle - Mehr Schein als Sein
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Die "Equation Group", Carbanak, JASBUG - Namen sind in!
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Drucksache: windows.developer Magazin 4.2015 - Der Browser im Visier - ganz praktisch
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : Venom - Ein Name macht eine Schwachstelle nicht automatisch zur Katastrophe
Vorschau anzeigen
Dipl.-Inform. Carsten Eilers am : XSS-Angriffe, Teil 14: Das Browser Exploitation Framework BeEF
Vorschau anzeigen