Zraniteľnosť ShellShock - náprava

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.
Zamčeno
julosz
Příspěvky: 10
Registrován: čtv 23. čer 2011 8:17:58

Zraniteľnosť ShellShock - náprava

Příspěvek od julosz »

Nedávno sa v bash-i objavila asi dvadsať rokov známa chyba pomenovaná ShellShock (viď:
http://www.abclinuxu.cz/zpravicky/bezpe ... em-v-bashi
http://www.root.cz/clanky/dira-v-bashi- ... do-nevsiml )

Túto zraniteľnosť som zažil na vlastnej koži, keď mi jeden VPS s DEBIANom 6 (squeeze) infikovali pravdepodobne pomocou tejto zraniteľnosti [konkrétne súbor /etc/init.d/ssh (dosť ma šokovalo, že súbor s root právami bol zmenený), do ktorého bol vložený príkaz, ktorý do /tmp stiahol shell skript, ten zas stiahol zdrojáky "IRC based distributed denial of service client" (http://dl.packetstormsecurity.net/irc/kaiten.c), pomocu gcc ho preložil a spustil].
Problém som zistil tak, že sa mi nepodarilo prihlásiť cez ssh (ale kedže z dôvodu údržby v ten deň bol tento VPS prechodne presunutý na iný hardvérový node, pripisoval som tento problém tomuto a spočiatku som mu nevenoval pozornosť), VPS inak fungoval bezproblémovo.

Riešením je update bash-u. Konkrétne popíšem riešenie na debian squeeze a wheezy, pre ostatné systémy hľadajte riešenia napr. tu:
https://www.digitalocean.com/community/ ... nerability
http://unix.stackexchange.com/questions ... -on-debian


Test zraniteľnosti

Ak nasledovný príkaz výpíše "Bash is vulnerable", ste vystavený útokom pomocou tejto zraniteľnosti:

Kód: Vybrat vše

env 'VAR=() { :;}; echo Bash is vulnerable!' 'FUNCTION()=() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"
RIEŠENIE - DEBIAN WHEEZY (debian 7)

Kód: Vybrat vše

sudo apt-get update && sudo apt-get install --only-upgrade bash
RIEŠENIE - DEBIAN SQUEEZE (debian 6)
do /etc/apt/sources.list.d/squeezelts.list pridáme (alebo vytvoríme súbor) riadky:

Kód: Vybrat vše

deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free
do /etc/apt/apt.conf.d/50squeezelts pridáme (alebo vytvoríme súbor) riadok:

Kód: Vybrat vše

 APT::Default-Release "squeeze-lts";
Spustíme príkaz:

Kód: Vybrat vše

apt-get update; apt-get install bash
Zaujímavé, že verzia bash-u (bash --version) sa nezmenila, ale podľa vyššie popisovaného testovacieho skriptu už bolo všetko v poriadku (výsledok skriptu bol "Bash Test")


Za pomoc pri pri diagnostikácii a riešení ďakujem adminovi (p. Marákovi).
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Zraniteľnosť ShellShock - náprava

Příspěvek od xsouku04 »

Díky za report. Updatovat si bash lze jistě doporučit pro jistotu všem.

Ale jak přesně té díry někdo využil? Používal jste apache s CGI? Samotný děravý bash nestačí, je potřeba k tomu vždy ještě něco dalšího, aby se útočník mohl dostat až na počítač. Jakým způsobem to bylo ve Vašem případě?
julosz
Příspěvky: 10
Registrován: čtv 23. čer 2011 8:17:58

Re: Zraniteľnosť ShellShock - náprava

Příspěvek od julosz »

Neviem presne, ako to zneužili. Apache mám spustený, ale cgi nie. Ale niekde som čítal, že to ide aj cez php. A mám tam phpMyAdmina, phpList a iné...
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Zraniteľnosť ShellShock - náprava

Příspěvek od xsouku04 »

julosz píše:Neviem presne, ako to zneužili. Apache mám spustený, ale cgi nie. Ale niekde som čítal, že to ide aj cez php. A mám tam phpMyAdmina, phpList a iné...
Ok, díky za info. To dává smysl. Často používané aplikace pro správu něčeho bývají často bezpečnostní dírou.
Preventivně doporučuji pro podobné aplikace použít nestandardní port a další ochranu pomocí htaccess a htpasswd.
Nebo též omezit přístup jen z některých pevných ip adres. Autentizace přes htaccess a htpasswd je pomocí konfiguračních souborů apache a je naprosto nezávislá na aplikaci. Tedy je to prostě jedna vrstva ochrany navíc.

Tohle je také běžný útok na webová rozhraní voip ústředen. Útočník prohledává celý internet a hledá děravé webové rozhraní na které je jemu známá chyba, kterou umí automatizovaně zneužít..
Jeho automat může tedy "vykolejit" i obyčejná změna otevřeného portu na nestandardní. Procházet totiž všechny ip adresy internetu a na nich ještě všechny porty už totiž není jen tak. Lépe však spojená ještě s dalšími opatřeními.
Aplikace určená pro správce nebo omezený okruh lidí by neměla být otevřená světu!
Zamčeno