تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حل التمرين Delete Registry key Injection Part
#1
Lightning 
Salam
رابط التمرين 
https://www.at4re.net/f/thread-4302.html

حل خالد (TeRcO) بالمرفقات

الحل الخاص بي سيكون على شكل كتابي لمحاولتي الأولى + الثانية

كما أشرت في المشاركة #15 من التمرين 

بعد كتابة المسار ادناه بالعنوان 0045114B
 
SYSTEM\CurrentControlSet\services\Delete_Me

و إضافة التعليمات أدناه بالعنوان 0044F6E8
 
PUSH 0045114B
PUSH HKEY_LOCAL_MACHINE

بقية محاولتي الأولى في المرفقات

الحل الثالث للأخ novus لم نستلم طريقة حله بعد...

يتبع...

ساعد غيرك يساعدك غيرك
أفد غيرك يفيدك غيرك
منكم و إليكم  Heart


الملفات المرفقة
.txt   TeRcO-Solution.txt (الحجم : 73 bytes / التحميلات : 12)
.rar   M!X0R_First_Try.rar (الحجم : 40.3 KB / التحميلات : 4)
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
[+] أعضاء أعجبوا بمشاركة M!X0R
#2
السلام عليكم و رحمة الله
شكرا لك اخي على فتح باب شرح المحاولات.
في البداية قمت بكتابة قائمة احتياجات و وضع خطة عمل:
  • الدوال التي احتاج زرعها و استدعائها  RegOpenKeyA و RegDeleteKeyA
  • اختيار أماكن زرعها في الملف التنفيذي المستهدف (أماكن تحمل خاصية تنفيذ الأوامر)
  • إعادة توجيه سير تنفيذ الأحداث EntryPoint, OnClick and OnClose الى الدوال التي زرعتها.
  • و أخيرا، اعادة سير التنفيذ الى المسار الطبيعي للملف التنفيذي.
قمت ببناء مثالين صغيرين (في المرفقات) بلغة السي، المثال الأول يفحص وجود المفتاح المستهدف من عدمه و المثال الثاني يقوم بحذف المفتاح المستهدف ان وجد.
قمت بتحليل المثالين في المنقح لفهم الآلية بلغة "الزرع" الأسمبلي.
العملية:
  • بمساعدة أحد أدوات التعديل على الملفات التنفيذية قمت بإضافة دوال النظام  RegOpenKeyA و RegDeleteKeyA الى جدول استراد الدوال  Imports التابع للملف التنفيذي المستهدف.
  • اخترت مكان الزرع في جزء فارغ من الأوامر (يحمل خاصية التنفيذ)  لزرع آلية فحص وجود المفتاح و آلية الحذف، الزرع تم داخل المنقح.
  • باعتماد على قفزة قمت بإعادة توجيه نقطة الدخول الى آلية فحص وجود المفتاح ثم بقفزة أخرى اعدت سير التنفيذ الى المكان الذي يتبع نقطة الدخول.
  • بعد حصولي على عنوان حدث OnClick الذي بدوره يؤشر الى حدث OnClose "ضرب عصفورين بحجر واحد" اعدت توجيه "الحدث" الى آلية الحذف بقفزة ثم بعد انتهاء سير التنفيذ داخل ما تم زرعه اعدت سير التنفيذ من جديد الى الأحداث الحقيقية للتحدي.
ما ساعدني كثيرا في انجاز كل العملية هو وضع خطة العمل قبل بداية التعديل، هذه الخطة احتوت على قائمة احتياجات و مراحل انجاز كل خطوة.
الآن، لماذا هذه المشاركة لا تحتوي على أمور تقنية "Only Code" ؟
حسب وجهة نظري، لأننا نحتاج بشكل كبير الى دراسة "بمعنى دراسة" كل جوانب الاحتياجات و خطط الطريق... قبل الإبحار داخل المنقح و لاكتفاء بمحاولات شبه عشوائية قد تصيب او تخيب.

المرفقات تحتوي على الأمثلة التي اعتمدت عليها و النسخ المعدلة من التحدي... و لصغر حجمها يكفي تحميلها في المنقح لفهم ما يجري...


الملفات المرفقة
.rar   solution.rar (الحجم : 317.75 KB / التحميلات : 14)
[+] أعضاء أعجبوا بمشاركة novus
#3
(14-02-2025, 02:01 PM)novus كتب : المرفقات تحتوي على الأمثلة التي اعتمدت عليها و النسخ المعدلة من التحدي... و لصغر حجمها يكفي تحميلها في المنقح لفهم ما يجري...

بارك الله فيك على المشاركة والافادة ....
تعقيب بسيط :
1- يمكن استخدام داله (RegOpenKeyExA) موجودة ضمن "جدول استراد الدوال"
وبالتالي يبقى عليك ادراج دالة واحدة (RegDeleteKeyA) عوضا عن اثنين

2- هناك طريقة ثانية لحذف المفتاح وذلك باستخدام دالة (CreateProcessA)
لتنفيذ السطر التالي عن طريق cmd :
cmd.exe /C reg delete "HKLM\SYSTEM\CurrentControlSet\services\Delete_Me" /f
" اللهم أحسن خاتمتنا وأخرجنا من الدنيا علي خير"
[+] أعضاء أعجبوا بمشاركة TeRcO
#4
(14-02-2025, 02:01 PM)novus كتب : في البداية قمت بكتابة قائمة احتياجات و وضع خطة عمل...

بارك الله فيك على سرد جميع التفاصيل و ارفاق مشروع العمل 

لدينا الأخ Farfes ارسل لي محاولة ناجحة في الوقت بدل الضائع ننتظر أن يشرح لنا ما قام به حتى تعم الفائدة

بالمرفقات محاولتي الثانية تمت التجربة WIN ALL


الملفات المرفقة
.rar   M!X0R_Second_Try.rar (الحجم : 33.51 KB / التحميلات : 3)
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
[+] أعضاء أعجبوا بمشاركة M!X0R
#5
(14-02-2025, 06:08 PM)TeRcO كتب : 1- يمكن استخدام داله (RegOpenKeyExA) موجودة ضمن "جدول استراد الدوال"

صحيح اخي، لاحظت وجودها عند فحص جدول استراد دوال النظام، و فضلت اضافة الدالة العادية لانها تحتاج براماترين فقط على خلاف الدالة الموسعة RegOpenKeyExA.

بخصوص تحميل الحلول المرفقة، لم استطع... كان عندي رصيد 4 نقاط، خسرت 2 عند فشل عملية التحميل و خسرت 1 عند رفع مرفق من جهازي Smile
[+] أعضاء أعجبوا بمشاركة novus
#6
(14-02-2025, 08:38 PM)novus كتب : و خسرت 1 عند رفع مرفق من جهازي

النظام Beta يعني ممكن فيه أخطاء ... سنحاول مراجعة هذا الأمر شكرا.
لَّا إِلَٰهَ إِلَّا أَنتَ سُبْحَانَكَ إِنِّي كُنتُ مِنَ الظَّالِمِينْ.

عن أبي هريرة -رضي الله عنه- أن رسول الله -صلى الله عليه وسلم- كانَ يقولُ في سجودِهِ: «اللَّهُمَّ اغْفِرْ لي ذَنْبِي كُلَّهُ: دِقَّهُ وَجِلَّهُ، وَأَوَّلَهُ وَآخِرَهُ، وَعَلاَنِيَتَهُ وَسِرَّهُ».
(صحيح - رواه مسلم).
[+] أعضاء أعجبوا بمشاركة M!X0R
#7
Smile  تمام اخي محمد ... وشكرا لك على هدا التحدي الجميل ....وايضا للاخوة الاحبة  الكرام  ....تم ارفاق الشرح الكتابي ...حيث قمت بالاستعانة بدالة

GetModuleHandleA  ..لجلب address base ADVAPI32.dll
GetProcAddress استدعاء الدالة   RegDeleteKeyA

وفي الشرح الكتابي كل شيئ بتفصيل  ......طبعا اخي خالد هو المكلف بشروحات هههه sing  واخي ابو البراء يوافقني في ذلك   Big Grin


الملفات المرفقة
.txt   Delete Registry key Injection_Farfes.txt (الحجم : 1.43 KB / التحميلات : 15)
[+] أعضاء أعجبوا بمشاركة farfes
#8
هل يوجد في المنتدى شروحات فلاشية لنفس الموضوع تطبيقا على بعض البرامج ؟ 
حاولت البحث في المنتدى عن نفس الموضوع  Delete Registry key Injection  أو ماشابه لم أجد الى هدا التمرين الدي طرحه الأخ محمد .
#9
السلام عليكم و رحمة الله
يوجد شئ مشابه "inline patching" يحدث التغيير في الذاكرة التابعة للبرنامج المستهدف، ربما توجد دروس في المنتدى تتحدث عن ذلك.
فكرة التحدي و فكرة "inline patching" تتشارك في الفكرة العامة المبنية على ثلاثة خطوات:
  • كتابة اوامر في اماكن فارغة نحمل خاصية التنفيذ، هذه الأوامر تختلف حسب الهدف المرجو، مثل تعطيل حمايات فحص معينة او تفعيل خيارات معطلة او زرع دوال تنجز مهام معينة.
  • إعادة توجيه سير الأوامر الى ذلك المكان.
  • ثم إرجاع سير التنفيذ الطبيعي للبرنامج.
#10
وعليكم السلام ورحمة الله 
توجد دروس ل Inline Patching من طرف استادنا الكبير أبو البراء ([b]Newhak) [/b]وأعضاء سابقين , ولكن لاتوجد دروس لنفس الفكرة التي طرحها أخونا M!X0R في موضوع التحدي.


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 4 ) ضيف كريم