SHELLSHOCK: Schwere Sicherheitslücke in OS X - was tun?

Interessant wäre, wie weit Apple wirklich gefixt hat, wenn du bashcheck aus #105 ausführst und das Ergebnis hier postest.

das ist einfach nur bash 3.2.53 …
wobei das binary 1/3 größer ist als das selbst kompilierte.
vielleicht weil signiert?

aus dem heise artikel kriegst auch die links zu den versionen für 10.8 und 10.7, leider kein 10.6 dabei…
 
  • Gefällt mir
Reaktionen: Olivetti
ES gibt für alle Versionen ein OS X bash Update

Leider nicht.

... - mal sehen ob die neuen Fundstellen auch alle gepostet werden ???

Die bisherigen sechs CVE-Nummern und Links kannst du im bashcheck-Link sehen.

Vorher: / Nachher:

Danke. Und dafür hat Apple eine Woche gebraucht. :p

@oneOeight
Ich habe auf den 10.6ern macports bash 4.3.27(1)-release drauf und die Apple bash/sh endgültig geplättet.
Code:
$ echo $BASH_VERSION
4.3.27(1)-release

$ ./bashcheck 
Not vulnerable to CVE-2014-6271 (original shellshock)
Not vulnerable to CVE-2014-7169 (taviso bug)
./bashcheck: Zeile 18: 45212 Bus error               bash -c "true $(printf '<<EOF %.0s' {1..79})" 2> /dev/null
Vulnerable to CVE-2014-7186 (redir_stack bug)
Test for CVE-2014-7187 not reliable without address sanitizer
Variable function parser inactive, likely safe from unknown parser bugs
 
Zuletzt bearbeitet:
Nicht für alle! Die immer noch zahlreichen 10.6.8 User gehen leer aus...
Die Lionversion kann man für SL benutzen, wenn man nur bestimmte Teile aus dem Paket benutzt.
Rastafari schreibt im Nachbarforum: "Du brauchst nur /bin/sh und /bin/bash (und zwar beide)
Der Rest ist optional
Nur die Dateien unter /private/etc enthalten Änderungen die nur für Lion+ sind"
 
  • Gefällt mir
Reaktionen: Madcat
Das ist jetzt nicht dein Ernst? Reicht eine grobe Beschreibung oder brauchst Du eine Schritt für Schritt Anleitung? Da sind zum Glück die Regeln des Forums davor (wenn sie denn schnell genug funktionieren) Die Theorie diskutieren ist ok, praktisch sollten alle die ein bisschen davon verstehen Zurückhaltung üben, oder fändest Du es in Ordnung wenn hier jemand detailliert erklärt wie man einem iPhone die login Daten entlockt? (Ja das ist technisch anspruchsvoll und erfordert auch einen manuellen Ansatz, aber es geht. Ich glaube / kenne das auch erst seit kurzem)

Bezüglich des Thread-Problems hat Apple mal schnell nachgelegt, da haben sicher einige nächtens Überstunden geschoben.

Ich hätte gerne schon eine detailierte Anleitung, gerne auch per PN. Warum? Nun, ich sags mal so: Als mir meine Mama sagte das Küchenmesser sei scharf glaubte ich ihr das schon, ein Riesen Argument dafür war es jedoch als ich das auch selbst mal testen konnte.
Ich hab hier also zwei Macs und mich würde es schon interessieren wie ich mich in den jeweils anderen Mac reinhacken kann ohne irgendwelche Benutzer- oder Admin-Passwörter zu verwenden. Das konnte mir nur bisher noch nie jemand beschreiben, egal um welche Sicherheitslücke es ging.

Ich wills noch mal anders ausdrücken: Ich behaupte, solange der User dem Hacker nicht hilft durch die Installation von Software bzw. das Aufrufen von Scripts des Hackers ist jeder Mac sicher. Und somit ist auch der Shellshock mehr Schein als Sein.
 
Ich behaupte, solange der User dem Hacker nicht hilft durch die Installation von Software bzw. das Aufrufen von Scripts des Hackers ist jeder Mac sicher. Und somit ist auch der Shellshock mehr Schein als Sein.

.... und genau so ist es !:Waveypb:
 
Man muss bei diesem Problem etwas unterscheiden zwischen Servern und Desktops. Auf einem normalen Mac ohne Dienste nach aussen dürfte sich die Gefahr in Grenzen halten. Bei Servern (ob OS X oder Linux oder Unix) welche Dienste nach aussen anbieten sieht das etwas anders aus.
 
Für 10.6.8 User gibt es hier eine detaillierte Anleitung, wie sich sh und bash fixen lassen.

Ich hab's gerade durchgeführt (war in wenigen Minuten erledigt) und alle 5 bekannten Schwachstellen sind nach nochmaliger Überprüfung im Terminal gefixt. Zuvor waren bei mir alle 5 Schwachstellen vorhanden.

Achtet darauf, dass Ihr die Version 4.3.28 von der obigen Seite runterladet, die vorherigen Versionen fixen nicht alle 5 Schwachstellen.

Und wer die sh/bash aus dem Apple Lion Patch für SL extrahiert hat, sollte auf jeden Fall mal die 5 beschriebenen Terminal-Tests durchführen, um sicher zu gehen, dass Apple alle 5 Schwachstellen gefixt hat.
 
  • Gefällt mir
Reaktionen: Difool
Quick & (not)Dirty: für Snow Leopard > 10.6.8 = Quelle

Download: bash-4.3.28-10.4u.gz

Code:
Close all terminal windows and programs just to make sure you won't stomp on bash while a program is trying to call it.
Start Terminal and have exactly one window open.

In that terminal window:

    exec tcsh
    chmod +x bash-4.3.28-10.4u

    If you replaced /bin/bash (and/or /bin/sh) with any earlier version of these patched bashes, DO NOT DO THE NEXT TWO COMMANDS.
    If you have never replaced them, go ahead; these will put the old ones in a safe place, just in case.

    sudo mv /bin/bash /bin/bash_old (enter your password)
    sudo mv /bin/sh /bin/sh_old (enter your password if needed)

    Everybody does these:

    sudo cp bash-4.3.28-10.4u /bin/bash (enter your password if needed)
    sudo cp bash-4.3.28-10.4u /bin/sh (enter your password if needed)

support.apple.com:
Bash Update for Mavericks (OS X 10.9.5+ required)
Bash Update for Mountain Lion (OS X 10.8.5)
Bash Update for Lion (OS X 10.7.5)
 
  • Gefällt mir
Reaktionen: Madcat
Danke für Dein "Danke", Difool ;)

Hier nochmal eine Übersetzung der erforderlichen Schritte für Snow Leopard Nutzer im Terminal. Quelle: http://tenfourfox.blogspot.de/2014/09/bashing-bash-one-more-time-updated.html


1. Download des Patches unter bash-4.3.28-10.4u.gz (siehe auch Difools Link im vorherigen Beitrag). Die Datei bash-4.3.28-10.4u.gz im Home-Verzeichnis ablegen und dort extrahieren (zum Extrahieren genügt ein Doppelklick auf die Datei).

_______________


2. Terminal öffnen.
Anm.: Am besten Ihr kopiert die folgenden Befehle in den Code-Blöcken um Tippfehler zu vermeiden.

_______________


3. Hinter "EuerName$" folgenden Befehl eingeben:
Anm.: "EuerName$" ist der Name Eures Home-Verzeichnisses.
Code:
exec tcsh
Return.

_______________


4. Anschließend folgendes eingeben:
Code:
chmod +x bash-4.3.28-10.4u
Return.

_______________


5. Jetzt folgendes eingeben.
Code:
sudo mv /bin/bash /bin/bash_old
Return.

Anm.: Es erfolgt Abfrage des Admin-Passwortes. Passwort eintippen (das Eintippen erscheint nicht im Terminal).

Return.

_______________


6. Jetzt folgendes eingeben:
Code:
sudo mv /bin/sh /bin/sh_old
Return.

Anm.: Die beiden letzten Befehle 5. + 6. legen eine Sicherungskopie der alten bash- und sh-Dateien an.

_______________


7. Jetzt folgendes eingeben:

Code:
sudo cp bash-4.3.28-10.4u /bin/bash

Return.

_______________


8. Jetzt folgendes eingeben:
Code:
sudo cp bash-4.3.28-10.4u /bin/sh
Return.


Das war's.

__________________________________________________
__________________________________________________


Um nun zu testen, ob alles wie geplant funktioniert hat, folgende 5 Tests durchführen (man kann die Tests auch vor dem Installieren des Patches ausführen, um zu sehen, ob die Schwachstellen vorhanden sind; sind sie aber ganz sicher).

Code:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Ergebnis für bestandenen Test:
this is a test

Vor Installieren des Patches steht hier:
vulnerable
this is a test


_______________

Code:
env X='() { (a)=>\' sh -c "echo date"; cat echo

Ergebnis für bestandenen Test:
date
cat: echo: No such file or directory


Vor Installieren des Patches steht hier:
bash: X: line 1: syntax error near unexpected token `='
bash: X: line 1: `'
bash: error importing function definition for `X'
Fr 3 Okt 2014 16:11:33 CEST


Nach diesem Test folgendes eingeben, um den zuvor angelegten file zu löschen:
Code:
rm echo

_______________

Code:
env foo='() { echo not patched; }' bash -c foo

Ergebnis für bestandenen Test:
bash: foo: command not found

Vor Installieren des Patches steht hier:
not patched

_______________

Code:
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "vulnerable"

Ergebnis für bestandenen Test:
bash: line 1: warning: here-document at line 0 delimited by end-of-file (wanted `EOF')
...
bash: line 1: warning: here-document at line 0 delimited by end-of-file (wanted `EOF')


Vor Installieren des Patches steht hier:
bash: line 1: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')
...
bash: line 1: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')
Bus error
vulnerable


_______________

Code:
bash -c '( for x in {1..200} ; do echo "for x$x in ; do :" ; done ; for x in {1..200} ; do echo done ; done )' | bash || echo "vulnerable"
Ergebnis für bestandenen Test:
Es erscheint nichts. Das ist korrekt!

Gegencheck:
Code:
bash -c '( for x in {1..200} ; do echo "for x$x in ; do :" ; done ; for x in {1..200} ; do echo done ; done )' | bash && echo "not vulnerable"
Ergebnis für bestandenen Test:
not vulnerable

Vor Installieren des Patches steht hier:
bash: line 129: syntax error near `x129'
bash: line 129: `for x129 in ; do :'
vulnerable
 
  • Gefällt mir
Reaktionen: macuser, Tobich, Macothan und 5 andere
Wer die *sh_olds tatsächlich aufheben will, sollte noch
Code:
sudo chmod -x /bin/bash_old /bin/sh_old
machen.
 
Auch wenn ich wegen des Shellshocks etwas zwiegespalten bin habe ich den Patch auch bei mir installiert. Die Anleitung von Jo* ist da wirklich sehr gut. Man kann sogar die Bash von Mac OS Tiger damit updaten, ich habs grade auf dem retroFit getestet ;)
 
  • Gefällt mir
Reaktionen: Schiffversenker
Schön aufgedröselt und auch noch gut erklärt.
Anm.: "EuerName$" ist der Name Eures Home-Verzeichnisses.
Der Begriff, der vor der Eingabe immer erscheint, ist frei einstellbar, kann sogar aktuell sich ändernde Werte enthalten, muß also nicht der Name des Benutzerverzeichnisses sein (sag ich nur, weil ja manche, die sich mit dem Terminal nicht wirklich auskennen, trotzdem gerne ein wenig dort rumspielen und dann vielleicht vergessen haben, was sie geändert haben).
 
Man kann sogar die Bash von Mac OS Tiger damit updaten, ich habs grade auf dem retroFit getestet ;)

Gut zu wissen, das wurde ja in den Foren ein paar Mal gefragt, aber bisher anscheinend noch nie beantwortet.
Klappt halt in dieser Form sicher nur auf Rechnern mit Intel-CPU, die PPC-Rechner müssen wohl die neuen Bash-Shell selbst kompilieren.
 
Code:
$ file bash-4.3.28-10.4u 
bash-4.3.28-10.4u: Mach-O universal binary with 2 architectures
bash-4.3.28-10.4u (for architecture ppc):    Mach-O executable ppc
bash-4.3.28-10.4u (for architecture i386):    Mach-O executable i386
Ist auch ppc.

Einer (4.3.29) kommt aber evtl. noch... :p
 
Ist auch ppc.

Einer (4.3.29) kommt aber evtl. noch... :p

Ja, der Patch ist universal und funktioniert auch unter Tiger, hatte ich vergessen anzugeben, da ich auf mein 10.6.8 System fokussiert war.

Bei 4.3.29 ist Abwarten angesagt, da wird wohl noch untersucht (so wie ich es verstanden habe), ob die zugrundeliegende Schwachstelle eine ernstzunehmende Gefahr darstellt.

Wen es interessiert, hier im Blog des Entwicklers finden sich Infos zu den Schwachstellen und der Herangehensweise bei der Entwicklung des Patches.
 
Zuletzt bearbeitet:
@JO*

Das geht bei mir nicht mit deiner Anleitung:

Code:
omeserversimac:~ Homeserver$ exec tcsh
[homeserversimac:~] Homeserver% chmod +x bash-4.3.28-10.4u
chmod: bash-4.3.28-10.4u: No such file or directory
[homeserversimac:~] Homeserver% /exec tcsh
/exec: Command not found.
[homeserversimac:~] Homeserver% /Users/Homeserver/Desktop/exec tcsh
/Users/Homeserver/Desktop/exec: Command not found.
[homeserversimac:~] Homeserver% chmod +x bash-4.3.28-10.4u
chmod: bash-4.3.28-10.4u: No such file or directory
[homeserversimac:~] Homeserver%
Die Datei ist sowohl auf dem Schreibtisch wie auch auf der HDD unter:/ gespeichert
 
1. Download des Patches unter bash-4.3.28-10.4u.gz (siehe auch Difools Link im vorherigen Beitrag). Die Datei bash-4.3.28-10.4u.gz im Home-Verzeichnis ablegen und dort extrahieren (zum Extrahieren genügt ein Doppelklick auf die Datei).

kwt
 
@JO*

Das geht bei mir nicht mit deiner Anleitung:

Die Datei ist sowohl auf dem Schreibtisch wie auch auf der HDD unter:/ gespeichert

Hat's jetzt geklappt, nach Olivettis Hinweis?

Leider kann ich die Anleitung vom 03.10.2014, 16:52 nicht mehr bearbeiten, sonst hätte ich den Hinweis auf das Homeverzeichnis nochmal etwas prominenter dargestellt.
 
Mir ist gerade aufgefallen, es gibt ein Update des Shellshock-Patches auf 4.3.30, siehe hier. Funktioniert wie zuvor für 10.4, 10.5 und 10.6.

Download: bash-4.3.30-10.4u.gz
Quelle: http://sourceforge.net/projects/tenfourfox/files/tools/

Allem Anschein nach fixed dieser Patch 4.3.30 noch die Schwachstelle CVE-2014-6277.

Ein Update noch nicht gefixter shell/bash oder bereits mit Patch 4.3.28 gefixter shell/bash erfolgt gemäß der Anleitung vom 03.10.2014, 16:52, allerdings ist der in den Code-Blöcken angegebene Dateiname

bash-4.3.28-10.4u

gegen

bash-4.3.30-10.4u

auszutauschen (betrifft die Schritte 4, 7 und 8 der Anleitung).

Wenn Ihr zuvor Sicherungskopien der alten bash und sh-Dateien angelegt haben solltet (Schritte 5 und 6 der Anleitung), dann legt Ihr jetzt Kopien an, indem Ihr die Befehle in den Schritten 5 und 6 mit bash_old4328 und sh_old4328 abschliesst. Allerdings sollten auch diese Sicherungskopien anschliessend mit dem Terminal-Befehl in Olivettis Beitrag #130 auf non-executable gesetzt werden.

Code:
sudo chmod -x /bin/bash_old4328 /bin/sh_old4328
 
Zurück
Oben Unten