Исследователь в области кибербезопасности Жиль Лионель обнаружил в Windows уязвимость, позволяющую, при эксплуатации ее злоумышленником, заставить удаленные серверы Windows отправлять хакеру данные аутентификации NTLM или сертификаты аутентификации.

На GitHub был опубликован PoC-код для эксплуатации уязвимости, получившей название PetitPotam. Эксплоит позволяет отправлять SMB-запросы MS-EFSRPC удаленной системы и вынуждает компьютер жертвы инициировать процедуру аутентификации, поделившись данными аутентификации. Затем атакующий может использовать эти для атаки типа NTLM relay, чтобы получить доступ к удаленным системам в той же внутренней сети.

PetitPotam нельзя использовать удаленно, через интернет. По сути, атака актуальна для крупных корпоративных сетей, где злоумышленники могут заставить контроллеры домена раскрыть хэши паролей NTLM или сертификаты аутентификации. Подобное может привести к полному захвату внутренней сети компании.

Атака была протестирована на системах Windows Server 2016 и Windows Server 2019, но исследователи безопасности полагают, что PetitPotam затрагивает большинство поддерживаемых версий Windows Server.

Microsoft опубликовала рекомендацию по предотвращению эксплуатации уязвимости (ADV210003) и советует отключить NTLM там, где в нем нет необходимости (например, в контроллерах домена), а также включить механизм Extended Protection for Authentication. Однако Лионель отмечает, что PetitPotam злоупотребляет функцией EfsRpcOpenFileRaw в MS-EFSRPC, а рекомендациях Microsoft описаны действия по предотвращению атак типа NTLM relay, но не рассматривается злоупотребление API MS-EFSRPC в целом (EFSRPC даже не упоминается). Дело в том, что PetitPotam допускает и другие атаки, к примеру, понижение до NTLMv1, использующего DES (Data Encryption Standard) - небезопасного алгоритма хеширования, для которого восстановление пароля из хэша не представляет особых проблем для злоумышленника.