Staram się zachować czujność: ataki ransomware skoncentrowane na Pythonie
Opublikowany: 2022-01-04Na początku tego roku naukowcy z Sophos określili nową szeroką gamę oprogramowania ransomware, które zostało skomponowane w języku programowania Python. Celem ataku było urządzenie wirtualne (VM) hostowane przez VMware ESXi, szyfrowanie dysków cyfrowych i utrzymywanie ich w trybie offline.
Najwyraźniej znalezione oprogramowanie ransomware jest niezwykle szybkie i umożliwia zaszyfrowanie informacji konsumenckich w ciągu zaledwie kilku godzin. W rzeczywistości, w scenariuszu odkrytym przez naukowców z Sophos, atak trwał zaledwie 3 kilka godzin.
W raporcie na temat odkrycia główny badacz z Sophos zauważył, że Python jest językiem kodowania rzadko używanym w przypadku oprogramowania ransomware. Według niedawnego raportu firmy BlackBerry, działu Analysis & Intelligence, złośliwe oprogramowanie jest zwykle tworzone w językach takich jak Go, DLang, Nim i Rust. To wyjaśniono, zwykle w dużej mierze zależy od systemu, na którym skupia się atakujący.
Język programowania Python
Przede wszystkim ważne jest, aby skontekstualizować znaczenie użycia Pythona w ransomware. Python jest otwartym, wszechstronnym i niezawodnym językiem skryptowym o otwartych zasobach. Mówiąc o swoich zastosowaniach jako administrator procedur, jest w stanie wykorzystać moduły umożliwiające wykonywanie zadań, które są wykonywane w sposób ciągły.
Jak słyną badacze z BlackBerry, napastnicy na ogół faworyzują języki, które są młodsze w ich istnieniu i raczej nie są znane i niezanalizowane. Z drugiej strony Python jest jednym z najpopularniejszych obecnie używanych języków programowania i został wprowadzony na rynek kilka lat temu w 1991 roku. Jego akceptacja wynika z jego zalet jako oprogramowania dla każdego administratora systemu. Wśród innych elementów Python może być bardzo pomocny przy uruchamianiu serwerów, logowaniu i sprawdzaniu celów internetowych.
Jak ten atak był możliwy?
Wreszcie, przyczyną tego ataku był błąd ludzki. Zaczęło się, gdy atakującym udało się włamać na konto TeamViewer należące do firmy ofiary. Ta osoba doświadczyła wpisu administratora i nie miała włączonej funkcji uwierzytelniania wieloskładnikowego (MFA).
Następnie atak obejmował wykorzystanie administracyjnego interfejsu VMware Hypervisor. Serwery ESXi mają wbudowaną obsługę SSH zwaną powłoką ESXi, którą administratorzy mogą pomagać i wyłączać w razie potrzeby. Ten atak miał miejsce, ponieważ pomoc pocisków ESXi była włączona, a następnie nadal działała.
W raporcie badacze deklarują, że atak na system ujawnił działającego dostawcę powłoki, który powinien zostać wyłączony zaraz po użyciu. W gruncie rzeczy bramy do wszystkich programów operacyjnych ofiary pozostawały otwarte.
Pracownicy IT organizacji będącej ofiarą regularnie stosowali powłokę ESXi do obsługi serwera i wielokrotnie doświadczali włączania i wyłączania powłoki w miesiącach poprzedzających atak. Z drugiej strony, kiedy ostatni raz włączyli powłokę, nie udało się jej później wyłączyć. Przestępcy wykorzystali to i uzyskali dostęp do wszystkich wirtualnych dysków ofiary, a tym samym zaszyfrowali je.
Gdyby przestrzegano sugestii dotyczących stabilności procedury VMware, procedura byłaby bezpieczna lub przynajmniej bardziej skomplikowana dla atakujących, aby podzielić się i w pewnym momencie zaszyfrować cały proces.
Dlaczego zastosowano Python?
Python staje się coraz bardziej znany, nie tylko jako język programowania ogólnego przeznaczenia, ale także do administrowania systemami IT. Python został wykorzystany w trakcie tego ataku, ponieważ był bezproblemowy.

Ponieważ Python jest wstępnie instalowany w wielu skoncentrowanych na Linuksie jednostkach roboczych, takich jak ESXi, użycie Pythona w tej sytuacji ma najlepszy sens.
Zasadniczo osoby atakujące wykorzystywały aplikacje, które już istnieją, tworząc jedynie cel ataku. Atakujący wykorzystali dokładnie skrypty, które cel wykorzystywał do swoich codziennych obowiązków administracyjnych.
Fakt, że Python był wykorzystywany jako rozbudowane systemowo narzędzie, wyjaśnia, w jaki sposób złośliwe oprogramowanie zostało wdrożone w ciągu zaledwie 10 minut. Wyjaśnia to również, dlaczego naukowcy określili go jako „niezwykle szybki”, ponieważ wszystkie ważne zasoby czekały na atakujących na stronie internetowej.
Kierowanie na serwery ESXi i urządzenia wirtualne
Serwery ESXi są atrakcyjnym celem dla przestępców ransomware, ponieważ mogą zaatakować wiele maszyn cyfrowych, gdy tylko każde urządzenie cyfrowe może działać z wieloma aplikacjami lub usługami eksperckimi.
Aby atak był produktywny, cyberprzestępcy będą musieli uzyskać dostęp do krytycznej wiedzy biznesowej. W tym scenariuszu, skoncentrowanie się na korporacjach wcześniej zgrupowało to wszystko na mniej niż jeden parasol przed przybyciem napastników. Z tego powodu możliwość zwrotu inwestycji finansowych z ataku jest zmaksymalizowana, a serwery ESXi stanowią doskonały cel.
Zrozumienie cennych klas
VMware nie zaleca pozostawiania działającej powłoki ESXi bez monitorowania, a także może przedstawiać sugestie dotyczące uprawnień do procesów, które nie były przestrzegane w tej sytuacji. Narzucenie bardzo prostych metod stabilizacji może powstrzymać takie ataki lub przynajmniej uczynić je bardzo trudnymi.
Jako podstawowa zasada bezpieczeństwa w administrowaniu technikami informatycznymi: im znacznie mniej system eksponuje, tym mniej jest do zabezpieczenia. Oryginalna konfiguracja techniki i domyślna konfiguracja nie są odpowiednie dla bezpieczeństwa tworzenia programu.
Gdyby powłoka ESXi została wyłączona zaraz po tym, jak administratorzy zakończyli swoją pracę, nie odbyłoby się to tak wygodnie. Administratorzy byli przyzwyczajeni do używania powłoki ESXi jako godnej szacunku bramy do kontrolowania urządzeń cyfrowych klientów i dlatego działali w sposób nieostrożny, nie zamykając bramy w momencie wyjścia.
Jeszcze jedną częścią tej sytuacji, o której należy pomyśleć z administracyjnego punktu widzenia, jest widoczność urządzeń plików na świecie. Wszystkie partycje faktów ofiary były dostępne tylko w ich wewnętrznym systemie plików. Wiemy, że szyfrowanie zostało zakończone plik po pliku. Przestępcy dołączyli szyfrowanie niezbędne do każdego pojedynczego pliku i nadpisali podstawową zawartość pliku. O wiele bardziej ostrożny administrator procedur mógłby oddzielić obszar szczegółów od aplikacji i podzielić go między przechowywanie wiedzy i resztę programu.
Dodanie Multi-Issue Authorization dla kont o wyższym stopniu uprawnień również powstrzymałoby ataki okazjonalne, ale dyrektorzy generalnie nie są mile widziani MFA w przypadku częstego, codziennego używania.
Po prostu nie można nie docenić, że posiadanie odpowiednich terapii na miejscu pozwoli zniechęcić do długotrwałych ataków. W sumie ma to znacznie więcej wspólnego z bezpieczeństwem i administracją metod niż z Pythonem. W tym scenariuszu Python był po prostu najwygodniejszym narzędziem w użyciu i dał atakującym dostęp do szerokiej procedury dla wszystkich maszyn cyfrowych.
Piotr Landowski, Service Shipping Supervisor, STX Nadchodzące