/ categories / Технологии / @informhardening / post #240
2835

exchange #exploit

Подстава от Exchange

В последнее время обсуждается непотребное поведение Exchange: при отправке push-уведомлений (функция PushSubscription) он использует свою привилегированную учетку, потому что в функции BeginSendNotification:

notificationServiceClient.Credentials = CredentialCache.DefaultCredentials;

где CredentialCache.DefaultCredentials выполняется от имени NT AUTHORITY\SYSTEM.

Отправлять push-уведомления можно на любой HTTP-сервер, какой пожелает настроить авторизованный пользователь Exchange. Ну и дальше NTLM-relay с правами сервера Exchange.

Один из вариантов реализации атаки предполагает получение прав любого пользователя Exchange на самом сервере, подробно описан тут: https://www.thezdi.com/blog/2018/12/19/an-insincere-form-of-flattery-impersonating-users-on-microsoft-exchange, и прилагаются эксплойты, по умолчанию создающие правило перенаправления входящих жертвы на ящик атакующего. От этой атаки (CVE-2018-8581) Microsoft выпустила очумительную рекомендацию по защите:

reg delete HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v DisableLoopbackCheck /f

Это спасает только от релея на исходный сервер.

Другой вариант атаки использует релей на другие хосты (DC в частности) и основан на обычно высоких привилегиях Exchange в домене, в том числе наличии прав на операции DCSync. Описание атаки с нюансами: https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/. Прилагается скрипт для провокации Exchange на аутентификацию, а также скрипт для двойного релея, чтобы еще и креды для ящика не нужны были.


07:07 20.02.19
@informhardening
1478 +1

Практическое применение безопасности @Li11ian