Jak Ściąga.pl została zdjęta przez FBI, ale tak naprawdę to nie

dodał 15 maja 2023 o 00:03 w kategorii Info, Włamania  z tagami:
Jak Ściąga.pl została zdjęta przez FBI, ale tak naprawdę to nie

Co może stać się złego, jeśli jakieś dzieci odkryją sposób dodania swojego kodu do strony głównej popularnego serwisu dla uczniów? Zamiast spekulować, przeanalizujemy sytuację na prawdziwym przykładzie wczorajszego włamania na ściąga.pl.

W ubiegłą niedzielę przeciętny zjadacz czipsów oraz Coca-Coli, zamiast skopiować pracę domową z pszyrki na następny dzień, mógł co najwyżej pocieszyć się tym oto obrazkiem:

Strona została rzekomo przejęta przez organy ścigania

Ściąga.pl to portal, który tworzą użytkownicy. Każdy może zamieścić tam swoje zadania do rozwiązania (albo rozwiązania do zadań innych użytkowników), teksty, notatki oraz inne przydatne ściągi. Jak się łatwo domyśleć, serwis opiera się o to, co użytkownicy tam napiszą. Tutaj właśnie leży pies pogrzebany. Trzeba bowiem zapamiętać, że nie wolno ufać niczemu, co użytkownicy napiszą. Nie tylko informacjom wynikającym z treści, ale dosłownie każdemu znakowi. Bo – niestety – czasem stronę można bardzo łatwo popsuć albo chociaż zmusić do działania ciut innego od zamierzonego przez autorów.

Trudno powiedzieć, kiedy początek defacementu miał miejsce. Wiadomo, że na pewno już trwał około godziny 17. Wskazują na to zapisane zrzuty stron w serwisach Archive.org oraz Archive.is.

Deface pojawił się w Internet Archive już w zapisie o 17:01
W Archive.Is jeszcze wcześniej, bo o 16:58. Ktoś musiał nas wyprzedzić i pobiegł robić zrzuty. I dobrze!

Co sprawiło, że zamiast streszczenia Lalki wyświetlało się Federal Biuro? Ktoś postanowił skorzystać z funkcji dodawania pytań do serwisu w troszkę innym celu. Zamiast pytania został osadzony kod JavaScript.

Zdjęcie w Wysokiej Rozdzielczości przedstawiające osadzony złośliwy kod
Kolejne Bardzo Czytelne Zdjęcie (BCzZ®). Ten sam kod został wklejony po raz drugi tuż obok pierwszego, tak dla pewności, żeby zadziałał

Jak widać (albo i nie) – kod został zaciemniony potężną funkcją Base64. Po zdekodowaniu nie uświadczymy już żadnego innego zaciemnienia, tylko trochę spamu.

Jeden z kilku brzydkich ASCII-artów. Konekofficial
Fragmenty Biblii, ale z zepsutymi polskimi znakami. Raczej moja wina przy dekodowaniu, trudno
Treść licencji Generalnie Narąbanego Użytkownika (GNU GPL)

Jednakże, gdy odgruzujemy kod, można się ostatecznie dokopać do gnijącego, aczkolwiek nadal będącego ciekawym kąskiem „mięska”.

W kodzie znajduje się mechanizm pobierania adresu IP użytkownika. Całe szczęście, że skrypt opatrzono profesjonalnym komentarzem, bo inaczej nie wiedziałbym, co robi.

Jaja jak berety

Potem skrypt czeka na to, aż biblioteka JQuery da znać, że strona już się załadowała, a następnie wyświetla w konsoli link do fasoli. Tak.

Łącznie zdefiniowano 14 obrazków fasoli
Mechanizm losowania fasoli. Prawdopodobnie płacone od ilości linijek

Następnie meta tagi strony zostają zamienione na te z NASA.

Czemu nie ma tutaj nic ciekawego???

Potem dzieje się część właściwa – ciało strony zostaje zamienione na obrazek z hostingu ibb.co, a tytuł strony zostaje podmieniony na „Domain Seizure”. Swoją drogą, po co najpierw zerować body?

Przy okazji: prawdziwie hakerski sposób na dodanie stylowania

Pamiętający Telezakupy kojarzą zapewne frazę „ALE TO JESZCZE NIE WSZYSTKO”. Tak się składa, że pasuje ona do tej sytuacji, gdyż dzieje się jeszcze jedna rzecz. Atakujący przechwycony adres IP oraz ciasteczka (tylko ze Ściągi, rzecz jasna) wysyła na swój serwer pod adresem:

http://sciagapl.ugu.pl/index.php?schkSFGsdyufhjkmn
Pamiętajcie, hak musi mieć ręce, nogi i adres IP

Aby dane zostały faktycznie przesłane, zapytanie jest proxowane przez dodatkową usługę, pozwalającą ominąć problemy powodowane przez mechanizm CORS. Dzięki temu wykradzione dane zawsze trafią na serwer atakującego, niezależnie od tego, czy sam serwer wspiera ten mechanizm czy nie.

Na samym końcu zostaje skrypt spamujący w konsoli przeglądarki informacją o migracji. Co dziwne, ani ten komunikat, ani fasolki nie wyświetlały się w mojej. Przykro mi.

[”Pot”+”ężna”][”o”+”b”+”fuskacj”+”a”]

Pośmialiśmy się, ale…

…spróbujmy dociec, kto za tym wszystkim stoi. Po oczyszczeniu strony z deface’a, można było zauważyć podejrzane wpisy publikowane z jednego profilu pod nickiem ciakvhno.

Podbita liczba punktów, marna próba SQL Injection i inne testowe posty
Tyle punktów do zdobycia, okazja!

Nasz główny „difejsujący” dorobił się też obserwatorów! Po nickach wnioskuję, że to wszystko jest jedna paczka (albo multikonta jednej osoby).

A przed wami kolejno: hujhuj1337, szefittoih oraz szmata420

Pierwszy z tych profili okazał się najciekawszy. Zawierał gorzkie żale o ludziach bezdomnych w taxi oraz ogłoszenie o pracę.

Profil hujhuj1337

Swoją drogą, nigdy jeszcze nie widziałem tak odmienionego słowa PaySafeCard:

Ogłoszenie. Może jest dalej aktualne?

Po ataku

Radosny stan Ściągi trwał co najmniej od 17:00. O 22:50 natknąłem się na alert z nazwą domeny. Nie wiem, czy natknąłem się na kolejny payload, czy może admini coś testowali.

WNIMANJE WNIMANJE

Krótko potem serwis został przełączony w tryb przerwy technicznej. Po perturbacjach związanych z błędami HTTP 500, punktualnie 19 minut po północy strona wróciła do życia, gdzie atakujących nie było już ani śladu. Nic a nic. Zero. Nie zmyślam.

Jak widać, próby XSS odbyły się już 11 maja – kilka dni przed akcją właściwą

Niestety, skasowanie profilu nie skasowało wszystkich wpisów użytkownika.

Co robić, jak ściągać?

Jeśli odwiedziliście stronę ściąga.pl w niedzielę, to lepiej wierzyć w to, że serwis unieważnił wszystkie sesje klientów, także te wykradzione. Możecie też spróbować (jeśli po wejściu na stronę dalej jesteście zalogowani) wylogować się – to powinno uniemożliwić włamywaczom skorzystanie z wykradzionych ciasteczek.