Взлом через ViewState: публичные ключи ASP.NET стали мишенью хакеров

Разработчики сталкиваются с невидимой угрозой в собственном коде.


sucegbbtjfb7c30p5rbrou8m775s7cdb.jpg


Microsoft предупредила разработчиков о риске использования публично доступных ключей ASP.NET, которые могут сделать их приложения уязвимыми для атак. Компания зафиксировала попытки злоумышленников использовать такой ключ для доставки вредоносного фреймворка Godzilla.

В декабре 2024 года исследователи Microsoft обнаружили неизвестную хакерскую группу, применяющую публичный статический ключ ASP.NET для выполнения инъекции кода через механизм ViewState . Эта техника позволяет внедрять вредоносный код в веб-приложения, эксплуатируя их механизмы защиты. Специалисты насчитали более 3000 таких публичных ключей, которые могут использоваться в подобных атаках.

Ранее атаки ViewState предполагали использование украденных или проданных на теневых форумах ключей. Однако новая угроза более опасна, так как ключи находятся в открытом доступе и могут быть случайно включены в код разработчиками без должной проверки.

ViewState — это механизм ASP.NET, сохраняющий данные между загрузками страницы. По умолчанию он использует скрытое поле с данными, закодированными в base64, а также хеш-код, созданный с помощью MAC-ключа. Этот хеш позволяет удостовериться, что данные ViewState не были изменены. Однако если ключ становится публичным, злоумышленники могут сформировать вредоносный ViewState-запрос, который сервер воспримет как легитимный, выполнив вредоносный код.

При успешном расшифровании и валидации сервером ASP.NET внедрённый код загружается в память и выполняется, что даёт злоумышленникам возможность удалённого исполнения команд на сервере IIS . В Microsoft отметили, что в случае компрометации таких ключей их ротации недостаточно, так как злоумышленники уже могут закрепиться в системе.

Для защиты от угрозы компания рекомендует избегать использования ключей из открытых источников, регулярно менять их и проверять существующие ключи на соответствие опубликованным хешам. В отдельных случаях Microsoft даже удалила подобные ключи из своей документации.