Microsoft identyfikuje tysiące ujawnionych kluczy ASP.NET umożliwiających przeprowadzenie wstrzykiwania kodu

kapitanhack.pl 1 tydzień temu

Microsoft ostrzega przed niebezpieczną praktyką – twórcy systemu implementują ujawnione klucze maszynowe ASP.NET z publicznie dostępnych zasobów, wystawiając w ten sposób swoje aplikacje atakującym na tacy.

Zespół ds. wywiadu zagrożeń Microsoft poinformował, iż w grudniu 2024 r. zaobserwowano ograniczoną aktywność nieznanego aktora, który używał publicznie dostępnego statycznego klucza maszynowego ASP.NET do wstrzykiwania złośliwego kodu i dostarczania struktury post-exploit o nazwie Godzilla. Zespół podał, iż zidentyfikowane zostało ponad 3000 publicznie ujawnionych kluczy, które mogłyby zostać użyte do tego typu ataków. Nazwano je roboczo ViewState Code Injection.

Według badaczy Microsoftu wiele ze znanych już wcześniej ataków wstrzykiwania kodu ViewState wykorzystywało przejęte lub skradzione klucze, często sprzedawane na forach dark webu. Jednak to te publicznie ujawnione mogą nieść za sobą większe ryzyko, ponieważ są dostępne w wielu repozytoriach i mogą zostać wstrzyknięte bezpośrednio do kodu bez jego dodatkowej modyfikacji.

Jak działa atak?

ViewState to metoda używana w środowisku ASP.NET do zachowywania wartości strony i kontroli między postbackami. Często obejmuje dane aplikacji specyficzne dla strony.

Domyślnie dane stanu widoku są przechowywane na stronie w ukrytym polu i kodowane przy użyciu base64. Ponadto skrót danych stanu widoku jest tworzony przy użyciu klucza kodu uwierzytelniania maszynowego (ang. MAC). Wartość skrótu jest dodawana do zakodowanych danych stanu widoku, a wynikowy ciąg przechowywany jest na stronie.

Używając wartości skrótu, należy upewnić się, iż dane stanu widoku nie zostały uszkodzone lub zmanipulowane przez złośliwych aktorów. jeżeli klucze zostaną skradzione lub udostępnione nieautoryzowanym osobom trzecim, aktor zagrożenia może wykorzystać je do wysłania złośliwego żądania ViewState i wykonania dowolnego kodu.

Gdy żądanie jest przetwarzane przez ASP.NET Runtime na serwerze docelowym, ViewState jest odszyfrowywany i pomyślnie weryfikowany, ponieważ używane są adekwatne klucze. Następnie złośliwy kod ładowany jest do pamięci procesu roboczego i wykonywany, zapewniając atakującemu możliwości zdalnego wykonywania kodu na docelowym serwerze webowym z Microsoft IIS. Poniżej schemat tej metody.

Źródło: microsoft.com/en-us/security/blog

Microsoft udostępnił listę wartości skrótu dla publicznie ujawnionych kluczy maszynowych, wzywając klientów do sprawdzenia swoich środowisk. Ostrzegł również, iż w przypadku pomyślnego wykorzystania publicznie ujawnionych kluczy sama rotacja kluczy nie wystarczy, ponieważ hakerzy mogli już ustanowić trwałość na hoście.

By zmniejszyć ryzyko związane z takimi atakami, zaleca się, aby nie kopiować kluczy z publicznie dostępnych źródeł i regularnie je zmieniać. Microsoft poinformował, iż usunął klucze i inne artefakty z „ograniczonych przypadków” zawartych w dokumentacji.

Cała sytuacja zyskała rozgłos, gdy firma Aqua, zajmująca się bezpieczeństwem w chmurze, ujawniła szczegóły obejścia OPA Gatekeeper, które może zostać wykorzystane do wykonywania nieautoryzowanych działań w środowiskach Kubernetes, w tym wdrażania nieautoryzowanych obrazów kontenerów.

Jeśli projektujemy własne aplikacje hostowane na IIS, warto przejrzeć je pod kątem zgodności z zaleceniami Microsoft, znanych podatności oraz, jak się okazuje, wykorzystania kluczy z publicznych repozytoriów.

Idź do oryginalnego materiału