Archive

Kategorien

Lücke in Bash aka ShellShock

Gestern wurde bekannt, dass eine recht massive Lücke in der Bash (Shell) existiert: CVE-2014-6271 Diese ermöglicht es von Remote Kommandos auf dem System auszuführen. Allerdings nur unter bestimmten Voraussetzungen. So muss ein Programm von extern erreichbar sein, welches die Bash nutzt resp Bash-Subshells startet. Ob das eigene System für diese Lücke anfällig ist kann man folgendermassen testen

env x='() { :;}; echo Verwundbar!' bash -c "echo Dies ist ein Test."

Wie sich herausstellte waren die Patches des Distriburtoren aber nicht fehlerfrei. Darum wurde CVE-2014-7169 eröffnet. Ob man trotz Patch für den zweiten CVE anfällig ist kann man so testen

env -i  X='() { (a)=>\' bash -c 'echo date'; cat echo

Aktuell ist diese Lücke ein grosses Thema in den Medien. Auch Heise berichtet

Obwohl also weniger Server anfällig zu sein scheinen als bei Heartbleed, ist die Sicherheitslücke für betroffene Systeme doch gravierend, da der Angreifer sofort die volle Kontrolle über den Server an sich reißen kann.

Diese Formulierung ist etwas unglücklich, da sie nahelegt, dass man die Kontrolle über den Server sofort habe, was eigentlich das Absetzen eines Kommandos mit root-Rechten voraussetzen würde. Das wäre eine sogenannte Privilege Escalation. Das ist aber ganz klar NICHT der Fall. Für eine solche Ausweitung der Rechte braucht es eine weitere Lücke. Die Bash-Lücke alleine reicht nicht. Denn die Kommandos werden im Userkontext des laufenden Prozesses ausgeführt, damit auch mit den Rechten des Users, unter dem der Prozess läuft z.B. www-data beim Webserver.
Das sieht man hier: in ein Verzeichnis wechseln wo der User keine Rechte hat z.B. /root und dann testen

zabbix@zab1:/root$ env -i  X='() { (a)=>\' bash -c 'echo date'; whoami
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
bash: echo: Permission denied
zabbix

der Permission Denied zeigt, dass dem User zabbix die Rechte fehlen die Datei echo im Verzeichnis /root anzulegen.

Eine sehr gute Zusammenstellung der Lücke kann man hier finden

4 comments to Lücke in Bash aka ShellShock

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

  

  

  

4 × 5 =

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .