RSS Zero Day Initiative - Блог
Подписаться
Использование PowerShell Exchange после ProxyNotShell: Часть 3 – цепочка загрузки DLL для удаленного выполнения кода
Статья обсуждает цепочку из трех уязвимостей, которые привели к удаленному выполнению кода в Exchange, включая произвольное запись файла, чтение и загрузку локального DLL. Автор нашел гаджет в классе Microsoft.Exchange.DxStore.Common.DxSerializationUtil+SharedTypeResolver, который загружает DLL из места, контролируемого атакующим. Однако гаджет ограничен несколькими ограничениями, такими как проверки расширений файлов, удаление файла после извлечения и необходимость предвидения пути извлечения. Автор обошел эти ограничения, используя инъекцию аргументов в утилите expand, создавая поддиректорию для вредоносного файла и утечку GUID из журнала. Окончательный полезный груз включал доставку трех файлов CAB, включая один для FUSE.Paxos.dll, один для Ijwhost.dll и один, содержащий поврежденный файл для утечки GUID. Автор также подготовил хитрую структуру общего доступа SMB, чтобы пройти проверку File.Exists.