الفريق العربي للهندسة العكسية
ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات الهندسة العكسية - Reverse Engineering Forums (https://www.at4re.net/f/forum-4.html)
+--- قسم : الهندسة العكسية - Reverse Code Engineering (https://www.at4re.net/f/forum-19.html)
+--- الموضوع : ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة (/thread-1678.html)



ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - the9am3 - 14-05-2020

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته 


كيفكم شباب ان شاء الله تكونوا بالف صحة وعافيه 

شباب هذه شرح كتابي ماهو ASLR ؟ 

طبعا توجد برامج تكون مضعوطة مثلا Vmprotect  نرى ان كل مرة نحمله الى منقح تتغير العناوين و تغير هذه العناوين يتم من خلال ASLR 

هذا شرح بسيط ماهو ASLR 

ما هو ASLR
 إن ASLR هو اختصار لـ Address space layout randomization وهي نوع من الحماية الاحترازية للحاسوب ، حيث تقوم على إعادة ترتيب مناطق البيانات المهمة بشكل عشوائي ، و عادة يتم خلط أساس الملف التنفيذي و أماكن المكتبات البرمجية و المكدس و الذاكرة العشوائية في فضاء عناوين العملية.
وتكمن فاعلية هذه العملية أنها تجعل عملية الاستفادة من الثغرات المكتشفة أمر صعب ، حيث تصعب على المهاجم معرفة أماكن العناوين المستهدفة ، فعلى سبيل المثال في هجوم return-to-libc attacks الذي يبدأ بطفح المكدس buffer overflow ثم يتم استبدال عنوان الرجوع لدالة return في المكدس بعنوان لأمر جديد ، فهذه العملية نجد أن على المهاجم أن يجد المكدس أول ليستغل هذه الثغرة ، و مع وجود ASLR فإن عملية إيجاد المكدس تصبح عملية ليست بالسهلة و تحتاج إلى تخمين ، و في حال فشل التخمين فإن التطبيق سينهار ، فكما تلاحظ أن مهمة ASLR هي جعل الاستفادة من الثغرات أمر صعب لدرجة ما.
تاريخيا أول من اخترع و صك مصطلح ASLR هو مشروع PaX  في يوليو 2001م ، و ظل مشروع أكمل تطبيق لهذا المفهوم حتى الآن ، و هو يقدم عشوائية المكدس لنواة اللينكس من أكتوبر 2002 م لحد الآن ، و تقوم توزيعة Adamantix و  Hardened Gentoo و  Hardened Linux From Scratch بتضمين مشروع PaX بشكل افتراضي.
أما نواة اللينكس الافتراضية فهي تتضمن شكل ضعيف من ASLR وهي مفعلة بشكل افتراضي من إصدارة 2.6.12 ، و يوجد مجموعتي رقع PaX و ExecShield لمن أراد حلول كاملة من ASLR.
كذلك تدعم ويندوز فيستا و ويندوز سيرفر 2008 ALSR بشكل افتراضي مع بعض التحفظات المتعلقة بالتوافقية مع التطبيقات القديمة.
كلذك يدعم OpenBSD تقنية ASLR ، بينما يقف نظام الماك متخلفا عن الركب مع بعض التحسن في الآونة الأخيرة.
المصدر




طبعا لاطفاء ASLR بالويندوز 

نفتح Registry بالويندوز 

خطوات الاطفاء


1- نفتح regedit
2-Hkey_local_Machine 
SYSTEM -3
CurrentControlSet- 4
Control -5
Session Manager -6
Memory Management -7
8- بعدها نضيف نضيف مفتاح من نوع Dword 32bit value  ونسميه MoveImages
لتعطيل ASLR نضيف قيمة صفر (0)



بهذا يمكننا الاستفادة منه بعض المرات لعمل هووك او لودر للحمايات مثلا Vmprotect ... الخ الان بعده اطفاء ASLR العناوين تبقى نفسها ولا تتغير 



RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - PowerUser - 18-05-2020

شكرا لك أخي 
تمت التجربة على أحد الشركات فكانت جيدة


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - Sanad-Rizeq - 19-05-2020

وضعتها على شكل باتش لتسهيل استخدامها من قبل المبيتدئين


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - FiREWORKS - 22-05-2020

(19-05-2020, 01:58 PM)Sanad-Rizeq كتب : وضعتها على شكل باتش لتسهيل استخدامها من قبل المبيتدئين

الباتش لا يعمل
يكتب قيمة خاطئة NewImages مكان MoveImages

و للتعديل بطريقة سهلة و آمنة (دون الحاجة لملفات تنفيذية) يمكننا حفظ هذه الأسطر داخل ملف FixASRL.reg ثم تشغيله :
Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"MoveImages"=dword:00000000
مهم:
يجب اعادة تشغيل الجهاز لكي يتم تفعيل الخيار.


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - ahmed_1337 - 02-06-2020

كإضافة 

بنسبة للبرامج تستطيع عمل off ل aslr بستخدام editbin لي يجي مع Visual studio 

او CFF Explorer ...

او يدويا ب ستخدام hex editor 

 
editbin /DYNAMICBASE:NO binary.exe

حاجة التانية لي بدي اشير لها انا معضم unpackers tools تشتغل على win xp الدي لا يحتوي على aslr 
بحيت عند عمل unpacking ب upx متلا وتضغل على unpacked file تجد انه لا يشتغل وهادا في معضم احيان يكون ب سبب aslr لهادا لما ما يشتغل معاك اعمل off ل aslr وشغله تاني رح تلاقيه يشتغل 


سبب وراء هاد شي هوا انه معضم binary كانت تعمل في ايام xp 
hard coding based on image base 


ابسط متال هوا upx ادا كنت قد استعملت upx -d رح تجد بعض الملفات القديمة لا تشتغل


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - mohamad - 02-06-2020

بالصدفة كنت اعدل على وندوز انتي فايروس  فوجدت انه يمكن الغاء  ASLR منه 
 اعقد انه يجب ايقافه 

[صورة مرفقة: HJW.png]


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - rce3033 - 01-07-2021

برنامج يقوم بكشف البرامج التي تستخدم ASLR

ASLR Process Scanner
https://securityxploded.com/aslr-process-scanner.php



RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - rce3033 - 20-10-2021

كنت قد ارشفت موضوع الـ ASLR سابقاً لكن للاسف فقدت الملفات...
والان بعد التجميع من جديد ارفعه لكم...

الملف يحتوي على عدة مقالات لطرق التعامل مع الـ ASLR و الـ DEP

بنسبة لازالة الـ ASLR او الـ DEP عن الملف التنفيدي هناك عدة ادوات مرفقة تقوم بالأمر.
ملاحظة: هذه البرامج تقوم ايضاً بفصح تواجد الـ ASLR او الـ DEP في البرنامج التنفيدي.
PESecInfo
PE Player
setdllcharacteristics

الطريقة اليدوية لتعطيل الـ ASLR او DEP تكون عبر استخدام hex editor
تقوم بمقارنة الملف الاصلي مع الملف النتاج من PESecInfo بعد تعطيل الحماية عندها ستعرف الفرق.

محتويات الارشيف:
ASLR DEP ReverseEng by rce3033|   Exploit Mitigation Techniques - Address Space Layout Randomization (ASLR) - Exploit Development - 0x00sec - The Home of the Hacker.html|   M11-06-RockandROPeando.pdf
|   NX-bit.pdf
|   Project Zero_ MMS Exploit Part 5_ Defeating Android ASLR, Getting RCE.html
|   return-to-csu_ A New Method to Bypass 64-bit Linux ASLR - Black Hat Asia 2018 _ Briefings Schedule.html
|   
+---PE Player
|       Disable ASLR - Programming - rohitab.com - Forums.html
|       PE File Infection. - Programming - rohitab.com - Forums.html
|       PE Player 1.0.1 beta.zip
|       
+---PESecInfo
|       PE Sec Info - A Simple Tool to Manipulate ASLR and DEP Flags _ ??Blog of Osanda.html
|       PESecInfo-master.zip
|       PESecInfo.7z
|       PESecInfo_at4re.zip
|       
+---PESecurity
|       PESecurity-master.zip
|       Verifying ASLR, DEP, and SafeSEH with PowerShell.html
|       
\---setdllcharacteristics
        setdllcharacteristics _ Didier Stevens.html
        setdllcharacteristics_v0_0_0_1.zip        [Windows] Use setdllcharacteristics to force the PE file to open the DEP_ASLR flag _ EPH's program diary.html


رابط التحميل:
https://mega.nz/file/0FAiHJ5b#v-ix4IFMnbyc5dnFIErbrRgKONRvcjsM41mVTuGg2_g


كلمة سر فك الضغط:
ASLR-DEP-Reverse


دمتم في امانة الله.


RE: ما هو ASLR ؟ وكيف الاستفادة منه لبرامج المضغوطة - the9am3 - 20-10-2021

(20-10-2021, 12:05 PM)rce3033 كتب : كنت قد ارشفت موضوع الـ ASLR سابقاً لكن للاسف فقدت الملفات...
والان بعد التجميع من جديد ارفعه لكم...

بارك الله فيك اخي العزيز الله يعطيك الصحة والعافيه مواضيع مفيدة جدا شكرا لمشاركته معنا  Heart