
مجموعة أدوات صغيرة لاستخراج المعلومات وتفريغ السلاسل الحساسة من عمليات ويندوز
مجموعة أدوات صغيرة لاستخراج المعلومات وتفريغ السلاسل الحساسة من عمليات ويندوز. صُنعت لمرافقة FormThief.
تفريغ ذاكرة العملية والبحث عن سلاسل قابلة للقراءة. يتم توفير معرّف العملية (PID) وسلسلة البحث والنطاق فقط في هذا الإصدار. عند العثور على سلسلة البحث، تشير معلمة النطاق إلى عدد الأحرف التي يجب طباعتها على كل جانب من السلسلة التي تم العثور عليها طالما أنها ASCII صالحة.
قم بتجميعه في Visual Studio. المثال أدناه يُظهر تفريغ معلومات المستخدم من عملية Outlook:
PS C:\Users\capde> .\procsearch.exe 7592 "email" 500
[+] Search string "email" FOUND: (...) "age_group": "adult", "association_status": "{\"com.microsoft.Olk\":\"associated\"}"
,"authority": "https://login.microsoftonline.com/consumers", "birthday": "1969-3-1", "display_name": "John Doe",
"email": "[email protected]", "first_name": "John", "id": "3a25f54136ac887c", "last_name": "Doe", "location":
"UK", "login_name":"[email protected]","onprem_sid": "", "password_change_url": "", "phone_number": "" (...)
لا يعمل بشكل صحيح مع Inline-Execute-PE. أعمل على حل هذه المشكلة وإصدار C++ BOF الذي يجب أن يسمح بنطاقات بحث أكبر من إصدار C حالياً.
قم بتجميعه وتحميل ملف .cna:
x86_64-w64-mingw32-gcc -c procsearch-BOF.c -o procsearch-BOF.o
إصدار BOF حساس لأحجام المخازن المؤقتة لذا فإن خيار <range> غير موجود والمخرجات محدودة نوعًا ما. لا تتردد في تعديل أحجام المخازن المؤقتة ولكن احذر فقد تحصل على أخطاء __chkstk أو يتوقف beacon إذا كانت كبيرة جدًا.
كنت أرغب في كتابة هذا بلغة C++ وقد عملت محليًا مع bof-vs ولكن التشغيل في beacon يعيد بعض أخطاء الرموز غير المعروفة أو يتعطل. سأحدثه عندما يكون ذلك ممكنًا. ربما توجد طريقة أفضل لتنفيذ وظيفة البحث/المخازن المؤقتة في C لكن هذا سيعمل الآن.
لا أوصي بالبحث عن حرف واحد مثل "." في عملية كبيرة جدًا لأنه قد يتسبب في تعليق beacon. أوصي بما لا يقل عن 3 أو 4 أحرف لسلسلة البحث عند استخدام BOF. يمكنك زيادة النطاق بشكل كبير مع إصدار C++.
مثال على تفريغ بيانات مستخدم تجريبية من عملية Outlook:
https://github.com/mlcsec/proctools/assets/47215311/dccd1223-774e-4dec-8353-91c057900a07
أداة C# لطباعة جميع معلومات إصدار الملف لمعرّف العملية المقدم. قم بتجميعه في Visual Studio أو باستخدام csc:

إصدار C BOF يكرر بعض الوظائف المذكورة أعلاه، تحتاج لمعرفة مشكلات تفريغ قيم VerQueryValue(lpVersionInfo, "\\StringFileInfo\\040904b0\\....
قم بتجميعه وتحميل ملف .cna:
x86_64-w64-mingw32-gcc -c procinfo-BOF.c -o procinfo-BOF.o

استخراج وسائط سطر الأوامر للعملية المحددة. قم بتجميعه وتحميل ملف .cna:
x86_64-w64-mingw32-gcc -c procargs.c -o procargs-BOF.o

إنهاء عملية (أو فقط استخدم kill في CS، لست متأكدًا لماذا صنعت هذا):
x86_64-w64-mingw32-gcc -c prockill-BOF.c -o prockill-BOF.o
