Zagrożenie związane z kluczami ASP.NET
Firma Microsoft zidentyfikowała problem związany z wykorzystywaniem publicznie dostępnych kluczy ASP.NET validationKey oraz decryptionKey, które są wykorzystywane do ochrony integralności ViewState. Okazało się, że wiele tych kluczy zostało ujawnionych w kodzie źródłowym umieszczonym w publicznych repozytoriach oraz dokumentacji technicznej, co umożliwiło cyberprzestępcom przeprowadzenie ataków. Mechanizm ViewState pozwala aplikacjom ASP.NET na przechowywanie informacji o stanie formularzy internetowych. W przypadku, gdy atakujący zdobywa klucz maszyny zabezpieczający ten mechanizm, może manipulować danymi, aby osadzić złośliwy kod, który po uruchomieniu na serwerze daje możliwość przejęcia nad nim kontroli.
Mechanizm ataku i jego konsekwencje
Wykorzystując zdobyte klucze, hakerzy przygotowują spreparowane pliki ViewState, które są następnie przesyłane do serwera w żądaniach HTTP POST. Serwer, nieświadomy zagrożenia, odszyfrowuje dane i wykonuje je w pamięci procesu roboczego, co prowadzi do zdalnego wykonania kodu (RCE). Dzięki tej metodzie cyberprzestępcy mogą zainstalować dodatkowe złośliwe oprogramowanie, kontrolować system, a nawet przeprowadzać dalsze ataki na sieć ofiary. Microsoft zwrócił uwagę na przypadek z grudnia 2024 roku, kiedy to nieznany atakujący wykorzystał publicznie dostępny klucz do uruchomienia frameworka post-exploitation Godzilla na serwerze IIS. Narzędzie to pozwala na wykonywanie złośliwych poleceń i wstrzykiwanie kodu powłoki, co stanowi poważne zagrożenie dla organizacji korzystających z tej technologii.
Rekomendacje Microsoftu i działania ochronne
Aby zminimalizować ryzyko takich ataków, Microsoft zaleca deweloperom stosowanie odpowiednich środków zabezpieczających. Ważne jest generowanie unikalnych, losowych kluczy ASP.NET oraz unikanie ich ujawniania w publicznych zasobach. Firma sugeruje również szyfrowanie sekcji machineKey oraz connectionStrings w pliku web.config, aby zapobiec nieautoryzowanemu dostępowi do wrażliwych danych. Dodatkowo, zaleca się aktualizację aplikacji do najnowszej wersji ASP.NET 4.8, która zawiera funkcję AMSI chroniącą przed złośliwym oprogramowaniem. Administratorzy powinni również wzmocnić zabezpieczenia serwerów Windows, wdrażając reguły zmniejszające obszar ataku, takie jak blokowanie tworzenia webshelli.
Microsoft podjął także działania w celu ograniczenia skali problemu. Usunięto kluczowe próbki kodu z dokumentacji, które mogły przyczynić się do ujawnienia wrażliwych informacji. Firma udostępniła również szczegółowe instrukcje dotyczące identyfikacji oraz wymiany kluczy ASP.NET za pomocą narzędzi takich jak PowerShell czy konsola menedżera usług IIS.
Eksperci podkreślają, że organizacje, których serwery mogły zostać skompromitowane, powinny przeprowadzić szczegółowe dochodzenie w celu wykrycia potencjalnych backdoorów oraz innych śladów działalności cyberprzestępców. W niektórych przypadkach konieczne może być ponowne formatowanie i instalacja systemu w celu eliminacji zagrożenia.