• بواسطة x32x01 ||
الكود ده جزء من برنامج ضار (مالوير) مكتوب بلغة C#. خليني أشرح لك مدى خطورته وازاي بيتم استخدامه في المالوير بأسلوب بسيط
C#:
byte[] payload = new byte[0x1337]; 
int offset = 0; 
for (int i = 0x1338; i < 0x1339; i++) 
{ 
    MethodBase baseMethod = InvokeMethod<MethodBase>(1274687369, 1074927592, new object?[] { i }, module);
    string name = GetPropValue<string>(4243846143, 1642051212, baseMethod);
    fixed (char* ptr = name) 
    {       
     int length = GetPropValue<int>(1845477325, 4202415711, name);
        for (int j = 0; j < length; j++) 
        {           
         ptr[j] -= (char)(_methodCache.Keys.ToArray()[0] % 100 - 30); 
        } 
        byte[] data = base64FromCharPtr(ptr, length); 
        InvokeMethod<short>(2132718223, 4285503295, new object?[] { payload, offset }, data);
        offset += data.Length; 
    }
}

خطورة الكود
الكود ده بيتعامل مع حاجة اسمها "التحميل الديناميكي"، وده بيخليه خطير لأنه بيستغل الميموري بشكل مباشر عشان ينفذ أوامر معينة. الكود بيعمل كالتالي:

1. إنشاء Payload: بيعمل مصفوفة بايتس (byte array) بحجم معين (0x1337 بايت).
2. تحويلات غريبة: الكود بيعمل لوب على قيمة معينة (من 0x1338 لـ 0x1339) وبيستخدم دوال مجهولة (InvokeMethod و GetPropValue) عشان يحصل على طريقة (method) واسم معين (name).
3. تعديل اسم الطريقة: بيعدّل على الحروف في الاسم بتحويلها بحسابات معينة.
4. تحويل الاسم لـ Base64: بيحوّل الاسم المعدل لمصفوفة بايتس باستخدام دالة base64FromCharPtr.
5. كتابة في الـ Payload: بيلزق البيانات الجديدة دي في الـ payload الأصلي عند موقع معين (offset).

كيفية إضافته في المالوير
الكود ده بيتم تضمينه جوه برامج المالوير كجزء من عملية التحميل الديناميكي للبرامج الضارة، وغالبًا بيبقى جزء من ال payload اللي بيتحقن في النظام عشان ينفذ تعليمات معينة.

سحق أي نظام ويندوز
بما إن الكود ده بيتعامل مع الميموري بشكل مباشر وبيعدل على البيانات بطريقة غير مباشرة، فده ممكن يؤدي لمشاكل كبيرة في النظام زي:
1. تحميل وتشغيل برامج ضارة: ممكن ينزل ويشغل أي مالوير تاني بسهولة.
2. تعديل في النظام: ممكن يعدل على ملفات النظام أو البرامج المهمة، وبالتالي يسبب خلل في النظام.
3. تشفير البيانات: ممكن يستخدم لتشفير البيانات وفك التشفير بشكل معين مما يصعب اكتشافه وإزالته.

وضعه داخل المالوير
المبرمجين الضارين بيستخدموا تقنيات زي التشفير والتشويش على الكود عشان يخفوا الكود الضار جوه برامج بريئة. الكود اللي انت شفته ده ممكن يكون جزء من دالة أكبر في برنامج أكبر بيقوم بوظائف خبيثة زي:
- اختراق النظام: استغلال ثغرات موجودة في النظام عشان يخترقه.
- سرقة البيانات: سرقة معلومات حساسة زي كلمات المرور والبيانات الشخصية.
- نشر العدوى: نشر المالوير لأجهزة تانية في الشبكة.

باختصار، الكود ده خطير لأنه بيتلاعب بالميموري وبيشغل أوامر بطريقة مخفية، وده بيساعد المالوير على تنفيذ مهامه الضارة بدون ما يتم اكتشافه بسهولة.

تفاصيل إضافية عن خطورة الكود

1. التحميل الديناميكي (Dynamic Loading)​

المالوير في الكود ده بيستخدم ميكانيكية التحميل الديناميكي للوظائف والدوال من ملفات DLL موجودة في النظام أو بينزلها بنفسه. ده بيخلي الكشف عنه أصعب، لأن معظم برامج مكافحة الفيروسات بتدور على الأنماط الثابتة (static patterns).

2. التلاعب بالذاكرة (Memory Manipulation)​

الكود بيستخدم مؤشرات (pointers) للتلاعب بالذاكرة مباشرةً. التلاعب بالذاكرة بشكل مباشر بيتيح للمالوير القدرة على تعديل البرامج والبيانات المهمة في النظام بدون أن يتم اكتشافه بسهولة.

3. تشفير البيانات (Data Encoding)​

الكود بيستخدم تحويلات معقدة وتشفيرات لتمويه البيانات وجعل تحليلها أصعب. في الكود اللي عندنا، بيعدّل على حروف النص ويحوّلها لبايتات مشفرة باستخدام Base64.

كيف يتم إضافته داخل المالوير

1. تشويش الكود (Code Obfuscation)​

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

2. تحميل مكتبات خارجية (Loading External Libraries)​

المالوير بيستخدم دوال مثل InvokeMethod وGetPropValue عشان يستدعي وظائف من مكتبات خارجية أو من النظام نفسه، وده بيساعده في تنفيذ عمليات غير مصرح بها.

3. استغلال الثغرات (Exploiting Vulnerabilities)​

الكود الضار ممكن يكون جزء من استغلال ثغرة معينة في النظام. على سبيل المثال، ممكن يستغل ثغرات في إدارة الذاكرة أو ثغرات في بعض البرامج الشائعة.

أمثلة عملية لكيفية سحق النظام

1. تنفيذ برمجيات ضارة (Executing Malware)​

الكود الضار ممكن ينزل برمجيات ضارة تانية وينفذها على الجهاز، زي برامج الفدية (ransomware) اللي بتقفل الملفات وتطلب فدية لفك التشفير.

2. التلاعب بالنظام (System Manipulation)​

عن طريق التلاعب بالذاكرة، الكود الضار ممكن يعدل على ملفات النظام أو يغير إعدادات معينة تخلي النظام غير مستقر أو معرض للاختراق.

3. سرقة المعلومات (Data Theft)​

المالوير ممكن يجمع معلومات حساسة من الجهاز، زي كلمات المرور والمستندات الشخصية، ويرسلها للهاكر.

4. تعطيل برامج الحماية (Disabling Security Software)​

الكود الضار ممكن يستهدف برامج الحماية ويعطلها، وده بيسهل عليه تنفيذ عمليات ضارة بدون ما يتم اكتشافه.

كيفية وضع الكود داخل المالوير

1. حقن الكود (Code Injection)​

المالوير بيتم حقنه في برامج شرعية بحيث يبدأ تنفيذ الكود الضار عند تشغيل البرنامج الشرعي. دي طريقة شائعة لاختراق النظام بدون ما المستخدم يلاحظ.

2. التحميل مع البرامج الشرعية (Bundling with Legitimate Software)​

الكود الضار ممكن ييجي مدموج مع برامج شرعية بنزلها المستخدم من الإنترنت، وده بيسهل انتشاره.

3. التنفيذ عبر الثغرات (Exploit Execution)​

بيتم تنفيذ الكود الضار عبر استغلال ثغرات في البرامج أو النظام، وده بيحصل عادةً بدون تدخل المستخدم.

الكود ده خطير جدًا وبيستخدم تقنيات متقدمة عشان ينفذ عمليات ضارة بدون ما يتم اكتشافه بسهولة. بيتحكم في الميموري، يعدل بيانات، ينفذ أوامر، وبيعمل تشويش على الكود عشان يخفي نشاطه. حماية النظام من الكود ده تتطلب استخدام برامج حماية قوية وتحديث النظام باستمرار لتجنب الثغرات.
 

المشاركات المتشابهة

الردود
0
المشاهدات
8
  • x32x01
الردود
0
المشاهدات
7
  • x32x01
الردود
0
المشاهدات
8
الردود
0
المشاهدات
6
الردود
0
المشاهدات
8
الوسوم : الوسوم
أختراق الأجهزة برمجة سكريبت
عودة
أعلى