В конце прошлого года специалисты из компании Microsoft обнаружили серию атак, при которых злоумышленники использовали статические ключи ASP.NET для инъекции кода. В одном случае им удалось внедрить инструмент постэксплуатации Godzilla на сервер IIS.
Удивительно, что ключи validationKey и decryptionKey, которые защищают данные ViewState от изменений и утечки, не были украдены или куплены в интернете. Их можно легко найти онлайн, и исследователи нашли более 3 тыс. таких случаев.
Обычно ключи ASP.NET генерируются на месте и хранятся в реестре или указываются в конфигурационных файлах. Однако некоторые разработчики веб-приложений используют готовые ключи из открытых источников, не меняя их.
Это делает задачу злоумышленникам гораздо проще. Если у них есть ключи для ViewState, они могут успешно отправить вредоносный запрос на сервер, и вредоносный код будет выполнен.
Эксперты рекомендуют разработчикам использовать уникальные и защищенные ключи, а не публиковать их в открытых источниках. Это может предоставить злоумышленникам несанкционированный доступ к системе.
Подобные атаки уже были проведены несколько лет назад на серверы Microsoft Exchange. Злоумышленники использовали ошибку в разработке, когда все серверы Exchange использовали одни и те же ключи, указанные в web.config.