Jak mogę się upewnić, że moja instalacja Bash nie jest już podatna na błąd ShellShock po aktualizacji?
80
Jak mogę się upewnić, że moja instalacja Bash nie jest już podatna na błąd ShellShock po aktualizacji?
Odpowiedzi:
Aby sprawdzić lukę w zabezpieczeniach CVE-2014-6271
NIE powinno to odzwierciedlać wrażliwego słowa.
Aby sprawdzić, czy występuje luka w zabezpieczeniach CVE-2014-7169
(ostrzeżenie: jeśli Twoja awaria zakończy się niepowodzeniem, utworzy lub zastąpi plik o nazwie
/tmp/echo
, który można usunąć później i trzeba go usunąć przed ponownym testowaniem)powinna zawierać słowo „data”, a następnie narzekać na wiadomość typu „jak”
cat: echo: No such file or directory
. Jeśli zamiast tego powie Ci, jaka jest aktualna godzina, oznacza to, że twój system jest podatny na ataki.Aby sprawdzić CVE-2014-7186
NIE powinno to odzwierciedlać tekstu
CVE-2014-7186 vulnerable, redir_stack
.Aby sprawdzić CVE-2014-7187
NIE powinno to odzwierciedlać tekstu
CVE-2014-7187 vulnerable, word_lineno
.Aby sprawdzić CVE-2014-6277. Nie jestem w 100% pewien tego, ponieważ wydaje się, że opiera się on na częściowo poprawionym systemie, do którego nie mam już dostępu.
Wynik pozytywny w tym przypadku polega tylko na odbiciu tekstu
testing CVE-2014-6277
. Jeśli uruchamia się w Perlu lub jeśli skarży się, że Perl nie jest zainstalowany, to z pewnością jest to błąd. Nie jestem pewien co do innych cech awarii, ponieważ nie mam już niezałatowanych systemów.Aby sprawdzić CVE-2014-6278. Ponownie, nie jestem w 100% pewien, czy ten test, ponieważ nie mam już niepakowanych systemów.
Zaletą tego testu jest to, że powinien on WYŁĄCZNIE odzwierciedlać tekst
testing CVE-2014-6278
. Jeśli twoje echo wrócihi mom
gdziekolwiek, to zdecydowanie porażka.źródło
foo='() { echo not patched; }' bash -c foo
? Dopóki eksport funkcji nie zostanie umieszczony w osobnej przestrzeni nazw, nie przestaniemy działać od jednego błędu parsera do następnego.Wyeksportuj specjalnie spreparowaną zmienną środowiskową, która zostanie automatycznie oceniona przez wrażliwe wersje Bash:
Teraz wykonaj proste echo, aby sprawdzić, czy Bash oceni kod w $ testbug, nawet jeśli sam nie użyłeś tej zmiennej:
Jeśli pokazuje ciąg „VULNERABLE”, odpowiedź jest oczywista. W przeciwnym razie nie musisz się martwić, a łatana wersja Bash jest w porządku.
Uwaga: główne dystrybucje Linuksa wydały wiele poprawek, a czasem nie usuwają całkowicie tej luki. Sprawdzaj ostrzeżenia dotyczące bezpieczeństwa i wpis CVE dotyczący tego błędu.
źródło
export
):env testbug='() { :;}; echo VULNERABLE' bash -c "echo Hello"
ShellShock jest praktycznie połączeniem więcej niż jednej luki w bash , aw tej chwili istnieje również złośliwe oprogramowanie, które wykorzystuje tę lukę , więc ShellShock może być problemem, który jest nadal otwarty, jest wątek z aktualizacjami od RedHat na ten temat .
Redhat zaleca następujące czynności:
Uruchom polecenie:
Jeśli dane wyjściowe to:
nie masz żadnej poprawki.
Jeśli dane wyjściowe to:
masz
CVE-2014-6271
naprawęJeśli twój wynik to:
nie jesteś wrażliwy.
Drugą częścią testu ShellShock jest kontrola podatności CVE-2014-7169, która zapewnia ochronę systemu przed problemem związanym z tworzeniem plików. Aby sprawdzić, czy twoja wersja Bash jest podatna na CVE-2014-7169, uruchom następującą komendę:
Jeśli twój system jest podatny na zagrożenia, wyświetli się data i godzina i zostanie utworzony / tmp / echo.
Jeśli twój system nie jest wrażliwy, zobaczysz dane wyjściowe podobne do:
źródło
Napisałem narzędzie CLI o nazwie ShellShocker, aby przetestować twój serwer pod kątem luk w skryptach CGI. Aby przetestować swoją witrynę, uruchom:
to znaczy
EDYCJA: narzędzie zostało usunięte, przepraszam: „(
źródło
Możesz przesłać swój adres URL CGI do tego testu online:
http://shellshock.iecra.org
źródło
wpisz env x = '() {:;}; echo wrażliwy „bash -c” echo to jest test ”, a jeśli to zwróci podatność i jest to test, oznacza to, że ma to wpływ na komputer z systemem OSX / Linux. Rozwiązaniem jest aktualizacja do najnowszej wersji bash.
źródło