05 października 2010

Oto program, który jest w stanie odgadnąć twoje hasła!

Pomimo tego, że codziennie rozwijane są coraz to nowe metody i narzędzia służące do przeprowadzania niezwykle wyrafinowanych ataków na sieci oraz systemy informatyczne, to jednak jednym z największych zagrożeń pozostają niezmiennie słownikowe ataki na hasła użytkowników oraz administratorów poszczególnych usług. Tego typu ataki są również nieustannie rozwijane. Oczywiście w tym przypadku kluczowe jest skonstruowanie odpowiednio skutecznych słowników potencjalnych haseł. Można oczywiście skorzystać z publikowanych w Internecie słowników haseł najczęściej używanych, można również samodzielnie utworzyć słownik na podstawie posiadanej na temat docelowej osoby wiedzy. Okazuje się jednak, że czasem wystarczy tylko skorzystać z programu, który jest w stanie... odgadnąć interesujące nas hasła. Spójrzmy na praktyczny przykład.

Załóżmy, że intruz jest zainteresowany uzyskaniem dostępu do serwera administrowanego przez pewnego fikcyjnego administratora, pana Adama Adamskiego. Pan Adam używa obecnie następującego hasła:
  • 45m0d3u52@!
Jak widzimy, hasło to wydaje się być naprawdę silne i wystarczająco odporne na zdalne ataki typu brute force oraz ataki słownikowe:
Okazuje się jednak, że hasło pana Adama może zostać w prosty sposób odgadnięte z pomocą narzędzia o nazwie Common User Passwords Profiler (CUPP). Wszystkich niedowiarków zapraszam do prześledzenia poniższego przykładu.

W przypadku pana Adama, wystarczy tylko uruchomić program CUPP w trybie interaktywnym za pomocą polecenia:
  • ./cupp.py –i
Oczywiście do skutecznego odgadnięcia hasła, CUPP będzie potrzebował pewnych informacji na temat właściciela docelowego konta. Wszystkie wymagane informacje powinny być możliwe do ustalenia na podstawie nawet pobieżnej znajomości z panem Adamem. Prawdopodobnie w wielu wypadkach wystarczy również skorzystanie z serwisów społecznościowych takich jak np. nk.pl. Spójrzmy na przykładowy przebieg dialogu:
Na podstawie wprowadzonych informacji, program utworzył słownik potencjalnych haseł. Warto zauważyć, że skorzystaliśmy z opcji wykorzystania znaków specjalnych, cyfr oraz ponieważ pan Adam jest związany z IT, wykorzystaliśmy również dodatkowo Leet mode. W takim razie spójrzmy na zawartość wygenerowanego słownika:
Bingo! W słowniku potencjalnych haseł pana Adama, wygenerowanym przez program CUPP, znajduje się aktualnie używane przez niego hasło. Gdybyśmy przeprowadzili atak słownikowy (np. za pomocą programu THC-Hydra) z wykorzystaniem tak powstałego pliku, intruzowi udałoby się uzyskanie dostępu do docelowego konta.

Skoro hasło naszego fikcyjnego administratora było tak silne, to jakim cudem CUPP zdołał je odgadnąć? Oczywiście to nie cud, uważni czytelnicy na pewno zauważyli, że fraza ta została utworzona za pomocą kilku (leet) przekształceń i dwóch popularnych znaków specjalnych doklejonych do ksywki (Asmodeusz) syna pana Adama. W jaki zaś sposób intruz zdołał poznać pseudonim syna docelowej osoby? Wystarczyło skorzystanie z serwisu NK i odczytanie odpowiednich informacji profilowych zawartych w polu Pseudonim.
Dane potrzebne do utworzenia słownika potencjalnych haseł znajdziemy w... serwisach społecznościowych
Widzimy więc wyraźnie, że sama obecność znaków specjalnych, czy też cyfr, nie czyni hasła wystarczająco bezpiecznym. Warunkiem koniecznym jest również brak jakichkolwiek powiązań frazy z samym właścicielem konta. Powyższy przykład jest również świetnym dowodem na to, że nowe metody oraz narzędzia wspierające precyzyjnie wymierzone ataki słownikowe są naprawdę niezwykle skuteczne i mogą być z powodzeniem wykorzystywane przez włamywaczy, jak i osoby zajmujące się praktycznym testowaniem bezpieczeństwa systemów teleinformatycznych.

Na koniec zachęcam wszystkich do sprawdzenia, czy przypadkiem Common User Passwords Profiler, nie poradzi sobie również z waszymi hasłami!