Zraniteľnosť ShellShock - náprava

Poradna při řešení nejrůznějších problémů spojených s provozem virtuálních serverů.

Zraniteľnosť ShellShock - náprava

Příspěvekod julosz » čtv 09. říj 2014 10:09:06

Nedávno sa v bash-i objavila asi dvadsať rokov známa chyba pomenovaná ShellShock (viď:
http://www.abclinuxu.cz/zpravicky/bezpecnostni-problem-v-bashi
http://www.root.cz/clanky/dira-v-bashi-ktere-si-20-let-nikdo-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/tutorials/how-to-protect-your-server-against-the-shellshock-bash-vulnerability
http://unix.stackexchange.com/questions/157414/how-to-only-install-security-updates-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).
julosz
 
Příspěvky: 10
Registrován: čtv 23. čer 2011 8:17:58

Re: Zraniteľnosť ShellShock - náprava

Příspěvekod xsouku04 » čtv 09. říj 2014 14:40:47

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ě?
Uživatelský avatar
xsouku04
Administrátor
 
Příspěvky: 6564
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno

Re: Zraniteľnosť ShellShock - náprava

Příspěvekod julosz » pát 10. říj 2014 11:11:48

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é...
julosz
 
Příspěvky: 10
Registrován: čtv 23. čer 2011 8:17:58

Re: Zraniteľnosť ShellShock - náprava

Příspěvekod xsouku04 » pát 10. říj 2014 11:40:04

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!
Uživatelský avatar
xsouku04
Administrátor
 
Příspěvky: 6564
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno


Zpět na Řešení problémů

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 3 návštevníků