Útočníci aktívne zneužívajú verejne dostupné ASP.NET kľúče na vzdialené vykonanie kódu
Spoločnosť Microsoft varovala pred útokmi na aplikácie ASP.NET, v rámci ktorých útočníci na vzdialené vykonanie kódu a šírenie malvéru zneužívajú verejne dostupné statické strojové kľúče (machine keys) ASP.NET.
Zraniteľné systémy:
- ASP.NET aplikácie s verejne dostupnými kľúčmi
Opis zraniteľnosti:
Mnohí vývojári nedodržiavaním pravidiel bezpečného vývoja v rámci aplikácií využívajú validationKey a decryptionKey, ktoré je možné nájsť vo verejne dostupných zdrojoch ako sú napr. dokumentácia alebo repozitáre zdrojového kódu.
Uvedené kľúče sú navrhnuté na ochranu ViewState používaných v rámci webových formulárov ASP.NET Web Forms na kontrolu stavu a zachovanie stránok. Z pohľadu útočníka ich možno zneužiť na vytvorenie škodlivých payloadov so správnym MAC (Message Authentication Code) slúžiacim na overenie integrity a autenticity správy. Škodlivé ViewState sú prostredníctvom HTTP POST požiadaviek zaslané na IIS servery, kde ASP.NET Runtime vykoná ich dešifrovanie a overenie MAC. Pretože bol kód MAC vytvorený prostredníctvom správnych kľúčov, dochádza k nahratiu payloadu do pamäte a jeho následnému spusteniu.
Spoločnosť Microsoft identifikovala vyše 3 000 uniknutých kľúčov, ktorých hashe za účelom preverenia sprístupnila vo forme CSV súboru na svojom GitHub repozitári. Prítomnosť Vašich kľúčov v tomto zozname môžete skontrolovať prostredníctvom PowerShell skriptu.
Na základe dostupných informácií útočníci verejne dostupné kľúče zneužívajú minimálne od decembra 2024, kedy boli zneužité na kompromitáciu systémov post-exploitačným frameworkom Godzilla.
Možné škody:
- Vzdialené vykonanie kódu
- Získanie úplnej kontroly nad systémom
Odporúčania:
Administrátorom a vývojárom odporúčame overiť či ich aplikácie nepoužívajú verejne dostupné kľúče ASP.NET. Kompletný postup môžete nájsť v časti „Recommendations“ na webovej stránke spoločnosti Microsoft.
V rámci preventívnych opatrení spoločnosť odporúča dodržiavať pravidlá bezpečného vývoja softvéru a v súvislosti vývojom aplikácií ASP.NET:
- Nepoužívať predvolené alebo verejne dostupné kľúče
- Šifrovať elementy machineKey a connectionStrings v rámci súborov web.config
- Aktualizovať ASP.NET framework aspoň na verziu 4.8, ktorá umožňuje využitie funkcie AMSI (Antimalware Scan Interface)
- Zabezpečiť (hardenovať) servery Windows s dôrazom na minimalizáciu attack surface (verejne dostupné služby a koncové body)
Zdroje:
- https://www.microsoft.com/en-us/security/blog/2025/02/06/code-injection-attacks-using-publicly-disclosed-asp-net-machine-keys/
- https://www.bleepingcomputer.com/news/security/microsoft-says-attackers-use-exposed-aspnet-keys-to-deploy-malware/
- https://thehackernews.com/2025/02/microsoft-identifies-3000-publicly.html