Do historii odchodzą czasy, gdy roota można było zdobyć dzięki chwili kombinowania zamiast żmudnej analizy kodu źródłowego, struktur pamięci czy deasemblowanego kodu. Na szczęście od czasu do czasu zdarzają się takie perełki jak poniższa.
Niektóre firmy zaczynają wdrażać infrastrukturę wirtualnych desktopów (VDI – Virtual Desktop Infrastructure). Sama idea przeniesienia potrzebnej mocy obliczeniowej do centralnych serwerów nie jest pozbawiona zalet, jednak warto zwrócić uwagę na bezpieczeństwo cienkich klientów, czyli lekkich stacji roboczych obsługujących terminale.
Krok po kroku od niczego do roota
Roberto Suggi Liverani, badacz zajmujący się między innymi testami penetracyjnymi, przyjrzał się modelowi stacji T520, jednemu z produktów firmy HP służących jako lekki terminal. Jak nietrudno zgadnąć, znalazł w nim kilka ciekawych błędów i niedopatrzeń.
Urządzenie działa w oparciu o linuksowy system HP ThinPro OS. Standardowo taki komputer działa w trybie kiosku, czyli odbiera użytkownikowi dostęp do większości funkcji, pozostawiając jedynie te niezbędne do pracy jak np. możliwość połączenia do serwera VMware. W interfejsie ThinPro, narzędzia do zarządzania kioskiem, Robert wyłączył praktycznie wszystkie funkcje i ustawił hasło administratora. Użytkownik w tej konfiguracji może jedynie otworzyć domyślnie skonfigurowane połączenie do VMware.
Użytkownik ma jednak możliwości wejścia w ustawienia połączenia i dokonania w nich drobnej modyfikacji. Wystarczy wpisać && xterm w pole Command Line Arguments, by w momencie próby połączenia do nieistniejącego serwera dostać dużo ciekawszy interfejs powłoki systemu.
Niestety na tym etapie użytkownik nie ma jeszcze uprawnień roota. Jeśli jednak sprawdzimy ustawienia możliwości wykonywania polecenia sudo, znajdziemy tam wywołanie narzędzia /usr/bin/hpobl. Narzędzie to umożliwia dostęp do panelu HP Easy Setup Wizard, mającego za zadanie wykrycie innych urządzeń tego samego producenta.
Gdy zignorujemy kolejne etapy kreatora, dotrzemy do etapu na którym zobaczymy link o treści Thank You. Jego kliknięcie uruchamia przeglądarkę – w tym wypadku Firefoksa – z ekranem powitalnym jednego z systemów HP. Ekran możemy zignorować, ponieważ właśnie otrzymaliśmy przeglądarkę uruchomioną z uprawnieniami roota. Jak teraz uruchomić powłokę?
Rozwiązań tego problemu zapewne jest kilka. Podane przez Roberto to zmiana domyślnego programu obsługującego pocztę (Edit / Preferences / Applications / Mailto) na /usr/bin/xterm. Po tej operacji wystarczy w pasku adresu wpisać np. mailto:[email protected] by otrzymać powłokę z uprawnieniami roota.
Podsumowanie
W ten oto sposób, w paru prostych krokach można od interfejsu WWW z uprawnieniami zwykłego użytkownika dojść do powłoki z uprawnieniami roota. Nie potrzeba do tego żadnych wyrafinowanych exploitów ani specjalistycznej wiedzy. Wystarczy jedynie fizyczny dostęp do terminala – co w środowisku, w którym zapewne zostanie uruchomiony, nie powinno być dużym problemem.
Cienki klient może faktycznie rozwiązywać niektóre problemy korporacji a nawet podnosić bezpieczeństwo jej sieci wewnętrznej, jednak warto zwrócić uwagę, by usuwając stare, nie wprowadzał nowych zagrożeń.
Za wskazanie artykułu źródłowego dziękujemy Dorocie.
Komentarze
Po nitce do kłębka. Fajne i przerażające jednocześnie… ;)
Coś jak logowanie się do starego Windowsa http://i.imgur.com/rG0p0b2.gif
Ciekawe. Tylko nie wiem jakie faktycznie zagrożenie to wprowadza. Atakujący dostanie uprawnienia root`a na cieńkiego klienta, na którym de facto nic nie ma…
Zainstaluje sniffer/keylogger i poczeka na hasło?