Бесплатно Экспресс-аудит сайта:

18.05.2024

Десериализация VIEWSTATE: как уязвимость используется проправительственными группировками

В 2023 году команда Solar 4RAYS провела расследование атаки на российскую телекоммуникационную компанию, организованную азиатской APT-группировкой Obstinate Mogwai. Хакеры неоднократно использовали уязвимость десериализации ненадежных данных в параметре VIEWSTATE ASP.NET, что позволило им возвращаться в скомпрометированную сеть. Несмотря на патчи и усилия по устранению уязвимостей, проблема десериализации остается актуальной, так как злоумышленники находят способы обхода защиты.

Что такое VIEWSTATE

VIEWSTATE в ASP.NET используется для сохранения состояния страницы при выполнении HTTP-запросов. Это позволяет сохранять данные между запросами в статичном протоколе HTTP. В ASP.NET для этого применяется класс ObjectStateFormatter, который известен своей ненадежностью и может быть использован для удаленного выполнения кода (RCE) при десериализации.

История уязвимости

Уязвимость десериализации VIEWSTATE известна с 2014 года, когда Microsoft выпустила патч KB 290524, включающий MAC-валидацию. Однако исследователи, такие как Александр Херцог и Соруш Далили, показали, что уязвимость остается эксплуатируемой при определенных условиях, например, если злоумышленник получает доступ к ключам валидации на сервере.

Эксплуатация уязвимости

С 2020 года несколько группировок активно использовали уязвимость десериализации VIEWSTATE. Примеры включают атаки с использованием уязвимостей Telerik UI, CVE-2020-0688 в Microsoft Exchange, и другие методы загрузки вредоносного кода. Особенно примечательны атаки группировок Praying Mantis и APT41, которые использовали разнообразные методы десериализации для проникновения в системы.

Текущие угрозы

В конце 2023 года группировка Obstinate Mogwai использовала уязвимость десериализации VIEWSTATE для атак на российскую телеком-компанию. Они применяли powershell-команды и загружали вредоносные инструменты на серверы Exchange. Несмотря на удаление веб-шеллов, хакеры продолжали выполнять команды через десериализацию VIEWSTATE, подтвержденную логами и событиями с ID 1316 в Windows.

Обнаружение и митигация

Для обнаружения атак десериализации рекомендуется анализировать события с ID 1316, проверять base64-кодированные VIEWSTATE и использовать инструменты для декодирования и анализа этих данных. Патчи и обновления от Microsoft усложняют эксплуатацию уязвимости, но не устраняют её полностью. Важно следить за новыми методами и гаджетами, такими как ActivitySurrogateDisableTypeCheck, которые могут использоваться злоумышленниками.

Уязвимость десериализации VIEWSTATE представляет собой серьезную угрозу, особенно когда она используется продвинутыми группировками для целевых атак. Постоянное обновление систем, анализ логов и применение современных методов защиты могут значительно уменьшить риски компрометации. Эксперты Solar 4RAYS рекомендуют организациям тщательно следить за безопасностью своих веб-приложений и использовать комплексные подходы к защите от подобных атак.