Próby przejęcia kont Yahoo!?

Data publikacji: 26/01/2011, TomaszG.

System ARAKIS od piątku 21. stycznia obserwuje w swoich honeypotach wzrost ruchu HTTP na nietypowym porcie 9415/TCP. Są to zarówno żądania GET jak i POST do serwerów w domenie yahoo.com. Na pierwszy rzut oka wygląda to jak typowe i widziane wielokrotnie w systemie ARAKIS ślepe skanowania w poszukiwaniu open web proxy (atakujący wysyła losowo na różne porty i różne adresy polecenia HTTP GET {adres_popularnego_serwisu} i bada odpowiedzi – jeżeli otrzyma żądaną stronę, to wie, że trafił na publicznie dostępny serwer web proxy). Podobnie w przypadku metody POST, gdzie następuje próba przesłania danych najczęściej z jakiś formularzy znajdujących się na stronie. Po bliższej analizie okazało się jednak, że to nie są zwykłe poszukiwania proxy, ale coś ciekawszego i bardziej skomplikowanego.

Po pierwsze: każde żądanie GET posiadało dodatkowy nagłówek HTTP X-Forwarded-For oznaczający, że dane połączenie jest przekazywane przez serwer proxy, a oryginalnie pochodzi ze źródła podanego w tymże nagłówku. Sugerowało to, że nasz honeypot miał być kolejnym (co najmniej drugim) pośrednikiem, co jest typowym działaniem mającym na celu ukrycie prawdziwego źródła połączenia. Jednakże już na wstępie odrzuciliśmy tę informację jako nieprzydatną, ponieważ część tych adresów pochodziła z pul zarezerwowanych (np. multicastowych). Czyli ten nagłówek jest spreparowany. Bardziej interesujące są żądania GET, a dokładnie ich URI. Wygląda na to, że są to próby zalogowania się do kont Yahoo!. Proces logowania odbywa się dwustopniowo: najpierw następuje weryfikacja użytkownika i przesyłane są: nazwa użytkownika (login) i hasło (patrz podkreślenie w grafice poniżej).

ARAKIS_YAHOO!_GET

W wyniku tej operacji serwer Yahoo powinien zwrócić klientowi ciąg zwany challenge, na podstawie którego ten powinien wygenerować odpowiedni skrót response. Następnie oba te ciągi wraz z nazwą użytkownika przesyłane są do serwera Yahoo!. Ten etap uwierzytelniania także był widoczny w honeypotach systemu ARAKIS:

ARAKIS_YAHOO_GET

Na żółto podkreślono pole , które sugeruje, ze nadawcą jest IP pochodzące z… puli zarezerwowanej (adresy multicastowe).

Do honeypotów trafiły także żądania HTTP POST kierowane do serwerów Yahoo! W których przesyłane były – rzekomo przez formularz HTML-owy – dane potrzebne do zalogowania się: nazwa użytkownika i hasło. Tu również można zauważyć ustawione pole X-Forwarded-For ustawione na zarezerwowany adres.

ARAKIS_YAHOO_POST

We wszystkich widzianych wiadomościach POST pola Request URI, Host, Referer a nawet Cookie były takie same! Jedyne zmienne dane były w polu X-Forwarded-For oraz te pochodzące z formularza, jak nazwa użytkownika i hasło.

Łącznie tego ruchu było na tyle dużo, że wygenerowało się kilka klastrów opisujących go. Poniżej przedstawiono przykładowe:

ARAKIS_NCLUSTER_YAHOO

ARAKIS_NCLUSTER_YAHOO

ARAKIS_NCLUSTER_YAHOO

Co ten ruch oznacza? W Internecie znaleźliśmy informację z września 2009 roku (Distributed Brute Force Attacks Against Yahoo) opisującą przechwycone próby wykorzystania serwerów proxy do logowania się (atak brute-force) na konta w systemie Yahoo!. Jeżeli założymy podobny scenariusz w naszych obserwacjach, to hasła widziane w żądaniach HTTP nie są prawdziwe. Jednakże nie mamy takiej pewności – dane widziane przez nas mogły zostać wykradzione np. przez trojana z komputerów użytkowników – dlatego nie publikujemy ich.

Na koniec jeszcze ciekawostka, na którą natknęliśmy się szukając informacji w wyszukiwarce internetowej: serwery proxy na porcie 9415/TCP są (informacja z sierpnia 2010) powszechnie wykorzystywane przez Koobface (facebook-owy robak).