31 maja 2010

Jak zalogować się do Windowsa lub Linuksa bez znajomości hasła?

Wielokrotnie poruszałem już interesującą dla wielu czytelników tematykę łamania (odzyskiwania) haseł broniących dostępu do najrozmaitszych systemów operacyjnych oraz sieci bezprzewodowych. Praktycznie wszystkie omawiane metody wykorzystywały ataki typu brute force, słownikowe lub też korzystały z tęczowych tablic. Dziś natomiast poznamy niezwykle interesujący sposób na zalogowanie się (bez znajomości hasła) do najpopularniejszych systemów operacyjnych z wykorzystaniem modyfikacji jądra systemowego.

Ataki typu brute force, słownikowe, a nawet te oparte o tęczowe tablice, nie zawsze są skuteczne. Odpowiednio silne hasło skutecznie powstrzyma potencjalnego intruza przed złamaniem hasła, jednak powstrzyma również uprawnionego użytkownika przed odzyskaniem własnych poświadczeń. W takim przypadku skuteczna okaże się metoda wykorzystująca modyfikację jądra systemowego w locie.

W systemach z rodziny Windows oraz w niektórych Linuksach, na zalogowanie się na konto dowolnego użytkownika (również administracyjne) pozwoli nam program Kon-Boot stworzony przez Piotra Banię (Piotr Bania). Wykorzystanie tego narzędzia jest banalnie proste. Wystarczy tylko uruchomić docelowy komputer z płyty CD przygotowanej na podstawie dostępnego obrazu.

Oprogramowanie automatycznie rozpocznie start systemu operacyjnego obecnego na komputerze, jednak w locie zmodyfikuje jądro w taki sposób, że po uruchomieniu systemu możliwe będzie zalogowanie się na konto dowolnego lokalnego użytkownika bez podawania hasła. Jeśli uprawnienia wybranego użytkownika są ograniczone, nastąpi automatyczna eskalacja uprawnień. Oczywiście żaden plik na dysku twardym nie podlega jakiejkolwiek modyfikacji, dzięki czemu lokalnie zapamiętane poświadczenia nie ulegają zmianie.

Spójrzmy na przykładowe obejście procesu uwierzytelniania w systemie Windows Vista:


Widzimy wyraźnie, że uruchomienie systemu z obrazu Kon-Boot pozwoliło na zalogowanie się do systemu bez potrzeby podania hasła.

Oto inny przykład zastosowania programu do obejścia procesu uwierzytelniania w systemie Debian:


Lista obecnie obsługiwanych przez Kon-Boot systemów operacyjnych jest naprawdę imponująca i obejmuje:
  • Windows Server 2008 Standard SP2 (v.275)
  • Windows Vista Business SP0
  • Windows Vista Ultimate SP1
  • Windows Vista Ultimate SP0
  • Windows Server 2003 Enterprise
  • Windows XP
  • Windows XP SP1
  • Windows XP SP2
  • Windows XP SP3
  • Windows 7
  • Gentoo 2.6.24-gentoo-r5
  • Ubuntu 2.6.24.3-debug
  • Debian 2.6.18-6-6861
  • Fedora 2.6.25.9-76.fc9.i6862
W Windowsach, po uruchomieniu systemu za pośrednictwem programu Kon-Boot, wystarczy tylko wybrać dowolnego użytkownika. Powinno nastąpić automatyczne logowanie bez potrzeby podawania hasła. W Linuksach, należy podać jako nazwę użytkownika kon-usr (bez hasła).

Program (darmowy do użytku niekomercyjnego) można pobrać ze strony domowej projektu.

Podsumowując, Kon-Boot jest świetnym narzędziem pozwalającym na odzyskiwanie dostępu do własnych systemów. Jednocześnie warto go potraktować jako przykład na to, w jak prosty sposób można obejść procedury lokalnego uwierzytelniania i jak istotne jest zwracanie uwagi na fizyczne bezpieczeństwo infrastruktury informatycznej. Wreszcie należy zawsze pamiętać, że uzyskiwanie dostępu do cudzych systemów za pomocą podobnych rozwiązań, będzie prawdopodobnie oznaczało naruszenie prawa.