ClickOnce: удобный деплой, который может стать удобной точкой входаClickOnce — технология Microsoft для установки и обновления Windows-приложений “в один клик”, часто без прав администратора. Она до сих пор встречается во внутренних enterprise-инструментах, легковесных десктопных приложениях и старых корпоративных workflow.
Проблема в том, что доверие пользователя и системы часто строится вокруг “обёртки”: манифеста, подписи, привычного имени приложения и легитимного процесса dfsvc.exe. Но если само приложение тянет неподписанные или слабо контролируемые DLL, появляется пространство для hijacking.
Автор разбирает сценарий, где существующее ClickOnce-приложение модифицируется: меняются части deployment package, пересчитываются хэши в манифестах, подписи убираются, а полезная нагрузка прячется внутрь .NET-сборки. Дальше всё маскируется под обычный ClickOnce-запуск в userland.
Самое интересное не в “новизне” техники, а в том, насколько буднично она выглядит для защитных систем:• запуск идёт через ожидаемый ClickOnce-механизм;
• приложение может выглядеть легитимным и знакомым;
• часть кода живёт в .NET-слое, где классический IAT-анализ мало помогает;
• API-вызовы можно усложнить для статического анализа;
• EDR может пропустить initial access, но поймать уже поведение в памяти или beacon.
ClickOnce — это не просто “старый способ деплоя”, а полноценная поверхность атаки.
Что стоит проверять:1- Используются ли ClickOnce-приложения в организации.
2- Есть ли неподписанные DLL внутри deployment package.
3- Контролируются ли .application и .manifest файлы.
4- Мониторятся ли запуски из AppData\Apps\2.0.
5- Есть ли алерты на подозрительное поведение дочерних процессов после dfsvc.exe.
6- Проверяются ли необычные изменения размера DLL/EXE и пересборка пакетов.
7- Видны ли попытки запуска sacrificial processes вроде wmiprvse.exe в нетипичном контексте.
ClickOnce часто воспринимают как legacy-механику, но именно такие “нормальные” корпоративные технологии и дают атакующему лучший камуфляж.
Безопасность начинается не с блокировки всего подряд, а с понимания того, чему именно ваша инфраструктура автоматически доверяет.
https://ndolecki.gitlab.io/posts/clickonce📲
Мы в MAX🔐
@xakep_2