17.11.2013 | 21:06

Adam Haertle

Atak 0day na jeden z najpopularniejszych skryptów do prowadzenia forum

Gdy sprzedajesz popularne oprogramowanie do prowadzenia forum, to ostatnim, czego potrzebujesz, jest włamanie do własnego flagowego serwisu. Spotkało to właśnie autorów vBulletin, jednego z najpopularniejszych skryptów tego typu.

Ze skryptu vBulletin korzystają liczne fora, na których zarejestrowane są miliony użytkowników. Zapewne większość aktywnych internautów posiada co najmniej jedno konto na forum tego typu. Ich dane nie są jednak bezpieczne, ponieważ po sieci krąży exploit, pozwalający uzyskać kontrolę nad forum. By udowodnić jego skuteczność sprzedający kod włamali się do serwisu vBulletin.com.

Exploit za 7 tysięcy dolarów

Kilka dni temu w sieci pojawiła się informacja o włamaniu do serwisu MacRumors.com i kradzieży bazy jego 860 tysięcy użytkowników. Forum to działało w oparciu o skrypt vBulletin. Dzisiaj z kolei serwis The Hacker News poinformował, że sprawcami włamania byli założyciele Inj3ct0r Team, prowadzący serwis sprzedający exploity 1337day.com. Exploit, którego użyli do włamania, wystawili w swoim serwisie za kwotę 7 tysięcy dolarów. Oczywiście każdy może sobie przypisywać cudze włamania i sprzedawać nieistniejący kod, jednak Inj3ct0r Team opublikował dowody na włamanie do serwisu vBulletin.com, potwierdzające skuteczność exploita.

Włamanie do vBulletin.com

vBulletin.com kilkanaście godzin temu poinformował swoich użytkowników, że ich dane mogły zostać wykradzione w „wyrafinowanym ataku” (jakoś nikt nigdy nie przyznaje się, że padł ofiarą banalnego ataku).

Komunikat na forum vBulletin.com

Komunikat na forum vBulletin.com

W komunikacie zabrakło niestety informacji o metodzie włamania oraz informacji, czy włamanie to wiązało się z przełamaniem zabezpieczeń samego skryptu. Nie wyjaśniają tego także zrzuty ekranu, opublikowane przez Inj3ct0r Team. Wśród nich znalazły się schemat bazy danych, fragment listy użytkowników czy podgląd zawartości głównego katalogu serwera www.

Podgląd głównego katalogu

Podgląd głównego katalogu

Jak mogło dojść do włamania?

Co prawda brak jakichkolwiek potwierdzonych informacji na temat sposobu działania exploita (mowa tylko o tym, ze pozwala na zdalne wgranie webshella), jednak w serwisie Reddit pojawiła się anonimowa wypowiedź, mogąca stanowić ciekawe wyjaśnienie metody włamania. Według tajemniczego informatora do przełamania zabezpieczeń serwera hakerzy dochodzą wieloetapowo.

Pierwszym krokiem udanego ataku jest znalezienie konta moderatora forum wśród danych pochodzących z innych wycieków. Sukces tego etapu zależy od tego, czy hasło konta moderatora udało się złamać i czy moderator użył tego samego hasła do swojego konta na forum, stanowiącym cel włamywaczy. Jak wskazuje analiza podobnego włamania na forum ubuntuforums.org oraz podobno włamania na MacRumors.com w obu przypadkach nie udało się inaczej wyjaśnić, w jaki sposób atakujący uzyskał dostęp do konta moderatora.

Konto moderatora nie posiada wysokich uprawnień, jednak umożliwia zamieszczanie w serwisie ogłoszeń, w których tytule kod HTML nie jest filtrowany. W tej to funkcjonalności atakujący najprawdopodobniej odkrył błąd typu XSS. Kolejna faza ataku polega zatem na zamieszczeniu przez moderatora fałszywego ogłoszenia i wysłaniu do administratorów serwisu linka do ogłoszeń z informacją o tym, ze podobno występuje tam jakiś błąd. Kilkadziesiąt sekund po tym, jak administrator ogląda ogłoszenia, atakujący loguje się na jego konto.

Trzecim etapem udanego ataku jest wykorzystanie uprawnień administratora do dodania fragmentu kodu PHP, umożliwiającego wgranie narzędzi typu webshell. Z tego miejsca nic nie stoi już na przeszkodzie, by atakujący uzyskał dane dostępowe do bazy danych i wykonał jej kopię.

Wieloetapowy XSS

O ile tak mógł wyglądać opisywany scenariusz ataku, to rzekomo kod XSS był dużo bardziej wyrafinowany. Głównym powodem skomplikowania był fakt, ze ciasteczka z uwierzytelnieniem sesji mają ustawioną flagę HttpOnly, przez co nie jest je tak prosto wykraść skryptem JS przez atak typu XSS. Według anonimowego Redditora atak wyglądał zatem następująco:

  1. Stwórz niewidzialną ramkę otwierającą panel kontrolny administratora
  2. Używając ramki sprawdź, czy użytkownik jest zalogowany do panelu. Jeśli tak, przejdź do kroku 5, jeśli nie, przejdź do kroku 3.
  3. Jeśli użytkownik nie jest zalogowany, sprawdź czy jego przeglądarka zapamiętała hasło i wpisze je do podstawionego formularza na serwerze atakującego. Jeśli hasło się nie pojawi, przejdź do kroku 4.
  4. Ściągnij wszystkie prywatne wiadomości administratora (w których może być zapisane hasło) i prześlij na serwer atakującego. Koniec ataku.
  5. Jeśli użytkownik jest zalogowany, spróbuj zmodyfikować kod PHP umożliwiając zdalne wykonywanie poleceń. Jeśli brak uprawnień, przejdź do kroku 6.
  6. Ostatnia próba – spróbuj zmienić hasło innego administratora (rzekomo vBulletin na to pozwala). Jeśli brak uprawnień, przejdź do kroku 4.

Jeśli użyty przez atakujących kod jest faktycznie tak złożony, to pozostaje pogratulować kreatywności. Czy cena exploita jest wygórowana? Z jednej strony wymaga on spełnienia wielu warunków i nie gwarantuje sukcesu, z drugiej w razie udanego ataku dane milionów użytkowników największych sieciowych for są sporo warte na czarnym rynku.

Newsa jako pierwszy podał Sebastian na swoim Twitterze.

Powrót

Komentarze

  • 2013.11.18 14:51 Mirek

    Na koniec i tak się okaże, że to jakiś SQLi :P

    Odpowiedz
  • 2013.11.18 18:27 translation

    hahahha ;D

    a jeszcze niedawno vbulletin i pare innych 'wielkich cmsow’ gardzilo advisory nt podatnosci dla modow i adminow… ;]

    coz… ;]

    Odpowiedz
  • 2013.11.21 16:03 kapitan pałkarz

    Mniejsze obrazki róbcie

    Odpowiedz
  • 2017.06.02 18:50 andrzej080

    no tak…

    Odpowiedz

Zostaw odpowiedź do andrzej080

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Atak 0day na jeden z najpopularniejszych skryptów do prowadzenia forum

Komentarze