31/05/2026
السلام عليكم,
بقالي فترة مش بنزل حاجة خالص بس في حاجة بقابلها دايما في الشغل وهي في الغالب بتكون عقبة قدام اي حد بيطبق Red Teaming وهي ازاي تعدي من الـ EDR هحاول ابسط الموضوع واشرح شوية معلومات كده عن ازاي الـ EDR بيشتغل وهحاول مطولش البوست زيادة, ممكن يكون مقدمة مش اكتر.
-
الـ EDR هو النسخة الافضل من الـ AntiVirus القديم, ودي اللي هتقابلها ديما في شغلك في الشركات, ولو مطلوب منك Red Teaming فا الصح انك المفروض تعدي منه في كل خطوات الـ Engagement بتاعتك.
-
الـ EDR بيشتغل على مجموعة مراحل, المرحلة الاولى لما File يتحط على الـ Computer بتاعك بيبدء يعمل Scanning عليه بطريقتين وهم Stage1 and Stage2 هنا هو بيحاول يجمع معلومات عن الـ File بدون ما يشغله اهم الحاجات اللي هيبص عليها هي الـ Strings اللي جواه هل ليه Hash او Signature معروفة قبل كده, هل فيه Entropy واضحة ودي معناها هل جواه في كود كبير شكله غريب وعشوائى وده في الغالب بيكون الـ Payload اللي جواه الـ File فا كل ما كان حجمها اكبر ومعمول عليها Encrption قوي ده ممكن يزود الـ Entropy بتاعها, هل فيه اي Windows API Calls مكتوبة في الـ Import Table.
-
الخطوتين دول بدون Ex*****on الـ Static هو بيقارن شوية حاجات زي اللي ذكرناهم, الـ Heuristic هو بيخمن هل من اللي انا شايفه ده هو مشابه للسلوك بتاع الـ Malicious Files يعني هل من الـ Windows API Calls دي هو باين انه بيعمل حاجة Malicious زي انه ينادى سلسلة من الـ Functions في الغالب بتستخدم في الـ Malwares زي VirtualAllocEx , WriteProcessMemory, CreateRemoteThread.
-
فا انت هنا لازم تغير كل الـ Strings والـ API Calls وتقلل الـ Entropy ومتستخدمش اي تول جاهزة ,تكتب كود C خاص بيك يكون هو الـ Loader بتاعك اللي هتحط جواه الـ Shellcode, وطبعا الـ Shellcode تعمله Encryption, وبرده الـ File Extension مهم تحاول تستخدم حاجة غير الـ EXE.
-
مرحلة 3 وهي الـ Sandbox وده ان الفايل بتاعك لو عدا الـ Static والـ Heuristic فا انت كده تمام واحتمال يبعته على Sandbox وهو زي VM كده في الغالب على Cloud عشان ترن الفايل في بيئة معزولة وتحاول تشوف بيعمل ايه هنا في Ex*****on فعلي بس جوه Sandbox وهنا الفكرة في انك تعديه هو انها Fake Environment في الغالب مربوطة بوقت من 30 ثانية لحد دقيقتين تلاتة متوسط فا في الغالب مجرد ما تعمل Sleep لفترة قبل الـ Ex*****on الفعلي ده ممكن يعدى من الـ Sandbox او تعمل Check انها مش VM او مترنش الفايل لو مش Computer Joined Domain.
-
هنا كل ده بيحصل اول ما الفايل بتاعك يتحط على كمبيوتر Static ثم Heuristic ثم Sandboxing لو كله تمام وعدا فا هتلاقي الفايل قدامك سليم والـ EDR معطاش اي Alarms ودي Good News.
-
الـ Bad News بقه ان التقيل بتاع الـ EDR لسه مشتغلش وهو الـ Runtime Monitoring ودي لوحدها ممكن يتكتب عنها بوست تاني هنا الـ EDR هستناك بقه تشغل الفايل وهو بيراقب كل حاجة في جهازك وهو زي جاسوس كده جواه جهازك كل حاجة بيشوفها اولا هو بيحط DLL جوه كل الـ Processes بتاعت الجهاز يعني اي Process في الجهاز جواه الـ DLL بتاع الـ EDR وده بيكون كل حاجة انت بتعملها حرفيا جوا الـ Process ده اي Function انت بتناديها اى Parameter انت بتبعته للـ Function دي وايه الـ Return Value, هو هنا بيضيف كذا Instruction جواه كل Function جوه الـ NTDLL او اهم Functions تحديدا اللي انت في الغالب هتناديهم وانتي بتعمل اي Process Injection, الحل هنا انك تستخدم نسخة نضيفة من الـ NTDLL ده وده اسمه DLL Unhooking.
-
بعدين هتقابل وحشين تانيين وهم الـ Kernel Callbacks والـ Kernel Filters ودول بيستخدمهم الـ EDR عشان يراقب كل حاجة من الـ Kernel Mode اللي فوق ده كان الـ User Mode عشان كده انت ممكن تعدي منه عن طريق الـ Unhooking انما الـ Kernel Mode متعرفش تعدي منها الا بطريقة واحده تقريبا نقولها بعدين بس الموضوع مش سهل, ولكن هنا بالرغم من الـ EDR بيشوف كل حاجة حرفيا في الجهاز على مستوى كل الـ Processes ولكن مش بنفس العمق بتاع الـ User Mode عشان الـ User Mode هو موجود جواه الـ Process ذات نفسها انما هنا هو كأنه بيتصنت على الـ System كله لو حصل Events معينة بتتسمى Callbacks زي Process Creation/Termination, Thread Creation/Termination, بيقدر يشوفهم Read Only ولكن مش كل تفاصيلهم زي الـ Payload اللي انت حاتطها ميقدرش يشوفها.
-
وعندك الـ AMSI برده ودي الـ EDR بيستخدمها عشان يسكان اي Scripts بتترن على الجهاز زي PowerShell مثلا او .Net Assembly ودي حلها انك تعمل نفس الـ Unhooking اللي اتعمل فوق مع الـ NTDLL انك تـ Hook الـ Function بتاعت AMSI Scan Buffer وتخليها ترجع دايما نتيجة Clean.
-
يعني دي اهم النقاط اللي في جزء الـ Runtime, وده اهم جزء في الـ EDR والكور بتاعه وده اللي فيه تفاصيل كتير وتقنيات كتير, واصعب جزء في الـ Bypass.
-
لو عدت كل ده فا انت هتلاقي الفايل بتاعك شغال تمام وجالك Reverse Shell على الـ C2 بتاعك ولكن ممكن في اي لحظة تلاقي الـ Connection بتاعتك Dead والـ Agent برده Dead وده بسبب الـ Memory Scanning لو انت مش عاملها صح.
-
وده المفروض اخر جزء بحيث بصفة دورية او مع اي امر مريب منك انت رنيته بعد ما اخدت اكسس على الجهاز ممكن يحصل Memory Scanning للـ Process بتاعتك ولو لقه الـ Shellcode واضح في الـ Memory هيقفله على طول, وعشان كده انت لازم تعمل Masking للـ Shellcode بتاعك جوه الـ Memory بمعنى وقت ما انت هتشغل الـ Shellcode بتاعك هتفك تشفيره وتشغله وتخلص تعمله تشفير تاني وتسيبه جوه الميموري متشفر.
-
وهنا الـ EDR كل خطوة انت بتعملها بيديك Score يعني لو عملت حركة واحده غلط مش لازم ده يمسكك ولكن لو لقه في تسلسل حركات مع كل حركة هو بيعلي الـ Score بتاعك انك Malicious Process لحد ما توصل لمستوى تتصنف Malicious فا يمسحك او يقفلك الـ Connection.
-
كل اللي كتبته ده هو شرح مبسط للـ EDR شغال ازاي وده اساس شغل الـ Red Teaming هو الـ Evasion ازاي مع كل حركة وكل خطوة متتمسكش لا من الـ EDR ولا من الـ SOC Team وتبان انك Normal Process عادي جدا.
-
كل ده ممكن يكون ليه تطبيق عملي يوضح الامور اكتر ممكن يكون من خلال فيديوهات على اليوتيوب فا لو حابب اعمل كده ممكن تقولي في الكومنتات ولو عندك اي سؤال برده, دمتم سالمين.