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.
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:
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