TGViewer
Monkey Hacker Monkey Hacker @monkey_hacker · 785 subscribers
Post #60 459

Forwarded from Че там по сесурити?

Давно не виделись 👋

Недавно мне потребовалось расшифровать Kerberos для более глубокого исследования работы протокола.

Чем же хорош Kerberos? Все мы помним, что он защищает своих клиентов, шифруя все и вся. Например:
- Поля в AS-REP шифруются с использованием нескольких ключей: TGT-билет шифруется на ключе учётной записи krbtgt, а сессионный ключ на ключе, который вычисляется из пароля
- в TGS-REP пакете поля шифруются с участием нескольких ключей:
ключ сервиса, ключ krbtgt и сессионного ключа пользователя.

🟦Если вы попробуете послушать сетевой трафик с помощью Wireshark во время обмена Krb-пакетами, то обнаружите внутри пакетов поля enc-part (encrypted part?) или enc-authorization-data, в которых зашиты все интересности.

🟦Оказывается, Wireshark умеет дешифровать эти поля, как это заметил Clement Notin в своем посте Decrypt Kerberos/NTLM “encrypted stub data” in Wireshark на medium. Нужно приготовить keytab файл (файл для хранения Kerberos ключей, чаще используется в Linux) и выставить некоторые настройки:

1️⃣ Получаем ключи пользователя/компьютера/krbtgt/через dcsync, используя impacket:
secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user krbtgt
secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user user
secretsdump.py "DOMAIN/admin:passwd"@192.168.6.1 -just-dc-user server$

2️⃣ Готовим keytab-файл с помощью скрипта keytab.py , который написал Dirk-jan:
На 112-строке исправляем кортеж keys, добавляя собственные ключи:
keys = [
(18, '66ec115dcac0b861309080689dd92474a7a0def111e7977be4847eee00688a21'),
(18, '9a5f19e1ebe06c8f900669a0c6ebdfee91bf49e9cf99133439aad45c5e4c0a74'),
(18, '3209fa3b453a2a05b4345daa775d57ba704a73e06239544599d4d35df95d5aaa')
]
В моем случае это AES-256-ключи, поэтому keytype будет 18 (для AES-128 и RC4 используется 17 и 23 соответственно)

Генерируем файл keytab с помощью скрипта:
python keytab.py keys.bin

3️⃣Забираем файл keys.bin на машину с Wireshark.
Идем в настройки Preferences > Protocols > KRB5 > там ставим галку "Try to decrypt Kerberos blobs" и указываем путь до файла C:\Users\user\Desktop\keys.bin. Применяем настройки

🟦 Помимо Kerberos, Wireshark будет декодировать пакеты DCE/RPC, LDAP и NTLMSSP blob'ы, что очень удобно для самостоятельного исследования протоколов. Добавляю метод в копилку лайфхаков

#kerberos #tips
Medium Decrypt Kerberos/NTLM “encrypted stub data” in Wireshark I often use Wireshark to analyze Windows and Active Directory network protocols, especially those juicy RPC 😉 But I’m often interrupted in…
  • 👍 1
More from @monkey_hacker
  1. Aug 28, 2024First hop, second hop Как-то увидел понятие Double Hop в Kerberos. Думал, что ничего в нем…
  2. Apr 10, 2024Вопрос собесов - один из самых популярных. Что надо знать, как собесят и как собесить - по…
  3. Apr 10, 2024У меня тут есть знакомый, который решил рассказывать про ИБ с перспективы менеджера, поэто…
  4. Apr 8, 2024Kubectl apply Йо, сегодня я принес несколько ссылочек, где можно почитать про работу разли…
  5. Jan 16, 2024Oh yes, ping pong Под конец прошлого года, прошла шумиха с Apache Ofbiz, который позволял…
  6. Dec 31, 2023Пора и мне сказать что-то ✨ В этом году я очень старался повысить свои навыки, а вы могли…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →