We współpracy z polską firmą LogicalTrust zajmującą się audytami bezpieczeństwa oraz testami penetracyjnymi kilka dni temu odkryłem błąd typu XSS (Cross-Site Scripting) w portalu Nasza-Klasa.pl. Była to już druga odnaleziona przeze mnie luka XSS, która pojawiła się na przestrzeni ostatniego roku w tym portalu. Pomiędzy odpowiednio skonstruowane zabezpieczenia NK został wciśnięty kawałek niebezpiecznego kodu i po raz wtóry sprawdziło się powiedzenie, że bezpieczeństwo to ciągły proces nieustannej pracy i ulepszania rozwiązań. Błąd tego typu umożliwia między innymi:
- kradzież plików Cookies dzięki, którym atakujący może podszyć się pod osobę zalogowaną do systemu z uprawnieniami osoby zalogowanej,
- ataki CSRF (Cross-Site Request Forgery), dzięki którym atakujący może zmusić ofiarę do wykonania określonej operacji w serwisie internetowym,
- podmiana zawartości wyświetlanej treści dla oglądającego tak aby był on przekonany, iż ogląda zaufaną treść ze strony nasza-klasa.pl (Phishing, XSS Defacing),
- stworzenie samo-rozprzestrzeniającego się robaka wykorzystującego powyższe metody (!!!),
- ataki na inne serwisy WWW.
Do najciekawszych akcji należy oczywiście przejęcie konta użytkownika. Warto zaznaczyć, że takie przejęcie konta musi być połączone z interakcją wykonaną przez użytkownika-ofiarę. Musi on odwiedzić odpowiednio spreparowany link lub stronę WWW, dodatkowo będąc zalogowanym do serwisu NK. W takiej sytuacji możliwe jest całkowite przejęcie konta zalogowanego użytkownika – do czasu wylogowania się. Oczywiście w przypadku zautomatyzowanego ataku wszelkie działania, które zostaną wykonane po przejęciu konta zajmą maksymalnie kilka sekund.
Mając to na uwadze należy zastanowić się nad zagrożeniem stworzenia takiego robaka internetowego, który po przejęciu jednego konta użytkownika serwisu NK (z wykorzystaniem błędu XSS) – automatycznie pobierałby listę znajomych, wysyłał do nich wiadomość prywatną o zachęcającej do odwiedzenia treści – atakującej odwiedzającego. Dzięki temu każdy zalogowany do serwisu NK użytkownik (czytający wiadomość prywatna z NK czyli zalogowany :), ufając w link przesyłany w treści wiadomości od znajomej osoby – infekowałby swój profil w taki sam sposób jak pierwszy zainfekowany użytkownik – odpowiednio rozsyłając zapraszające wiadomości do wszystkich swoich znajomych (w wersji optymalnej z wyłączeniem osoby, od której wiadomość takową otrzymał :)…
Mając na uwadze liczbę użytkowników portalu NK łatwo sobie uświadomić, że gdyby dodatkowo ustawiać na przykład w polu „O sobie” link do infekującej strony lub do strony reklamującej jakiś produkt (Web Spam) – mielibyśmy zagwarantowaną dużą liczbę odwiedzin takiego serwisu :] Oczywiście zainfekowanych użytkowników możemy przekierować do naszej strony domowej, która wyświetla reklamy Google AdSense itd. itd. itd… Taka nowa forma sieci botnet zupełnie komunikująca się wyłącznie za pomocą portalu społeczneściowego i w ograniczonej formie.
O tego typu błędach mówiłem na przykład na wrocławskim spotkaniu GrillIT i mocno polecam obejrzenie filmu demonstrującego działanie takiego robaka właśnie na portalu Nasza-Klasa, którego napisałem kilka miesięcy temu.
Na kanale Youtube możecie obejrzeć metodę działania takiego robaka ale w bardzo kiepskiej jakości więc zupełnie odradzam i polecam poświęcenie chwili dłuższej na pobranie filmu w dobrej jakości z:
http://logicaltrust.net/dload/nk-xss.avi
(56 MB)
Ewentualnie lepszą jakość filmu online: http://www.viddler.com/explore/logicaltrust/videos/1/
Zgodnie z zasadą odpowiedzialnego ujawniania informacji – do czasu gdy Nasza-Klasa nie potwierdziła, że błąd został naprawiony nie publikowaliśmy żadnych informacji na ten temat. Informacje takie mogłyby zostać wykorzystane i negatywnie wpłynąć na wizerunek portalu.
Okazało się, że do Dziennika Internautów napisał Marcin Wyczechowski, student 5 roku Politechniki Łódzkiej na Wydziale EEIA, który podobnie jak ja (i zapewne wielu innych zainteresowanych) odnalazł błąd. W dniu dzisiejszym DI opublikowało informację o tym błędzie (chwała im za wyczekanie z newsem, aż błąd zostanie załatany i chwała dla Pana Wyczechowskiego za odnalezienie błędu), ale to co zaskoczyło mnie najbardziej to fakt, że screenshot obrazujący podatność typu XSS na portalu NK – zawiera linki do takich stron porno takich jak choćby serwis tube8 czy Bondage Porn Movies. Dla mnie screenshot najwyższych lotów!!! Rewelacja, polecam i dla mnie osoba generująca screenshota dostaje nagrodę najbardziej pięknego przykładu ujawnienia poufnej informacji ;]
Link do obrazka znajduje się tutaj:
http://di.com.pl/informacje/galeria,25812,2230.html
Załączamy nasze dwa screenshoty mam nadzieję nie zdradzające więcej niż to co powinno zostać zdradzone :]
XSS Defacing – aktywna podmiana treści wyświetlana wyłącznie dla oglądającego stronę z wykorzystaniem błędu XSS (podmiana obrazka na stronie):
3 komentarze do
25 lutego, 2009 o godzinie 02:25
Ujawnianie informacji…
Ostatnio fuzzing.eu przeżywał lekki kryzys związany z natłokiem projektów, przy których pracowała nasza redakcyjna ekipa. Od dłuższego czasu chciałem wrócić do czynnego pisania, ale brakowało mi mocnego bodźca motywującego, który byłby…
25 lutego, 2009 o godzinie 09:46
Z tego co widzę na screenach to jest to non persistent, a to skutecznie umożliwia bardziej wyrafinowane działania destrukcyjne.
25 lutego, 2009 o godzinie 22:27
Jak mniemam miało brzemieć „skutecznie uniemożliwia”. Zerknij na przykład z naszym filmem, który do rozprzestrzeniania się wykorzystuje automatycznie rozsyłane prywatne wiadomości, które zachęcają użytkownika do odwiedzenia strony. W mojej opinii ludzie by masowo klikali w takie wiadomości :] Oczywiście nie tak wspaniały to błąd jak XSS persistent ale też wesoły :]