Home > Security > زا ميستريوس كيس اوف الويب سايت اللي تزوره يخترقك

زا ميستريوس كيس اوف الويب سايت اللي تزوره يخترقك


زا ميستريوس كيس اوف الويب سايت اللي تزوره يخترقك

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

المشكلة انه عندنا اعتماد و ثقة كبيرة اوي في الانتي فايروس ، بس ده غير كافي بالمرة ، و علشان نوضح الفكرة ، خلينا نشوف

=====================
اشتغلت امبارح على ديمو كده علشان محتاج اعمل

Fileless Dropper

علشان نبين ثغرات امنية معينة ، بس لحظة هو ايه ال

Fileless Dropper

ده يا باشا

====================
ناس كتير متخيلة انه ال

Malware or virus

بينتشر من خلال انه يضغط على فايل تنفيذي

Executable

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

Fileless attack

اللي بيكون من خلال جافا سكريبت خبيثة بتتنفذ من غير علمك و تفشخك فبمجرد فتح الويب سايت بيتم تنحميل او تنفيذ برنامج بدون علمك، طب ازاي برضك يعني

======================
الصورة الاولى هي من جافا سكريبت بسيطة جدا بتوضح ازاي بيتم اختراقك ، الجافا سكريبت دي ديمو هدفها انها تشغل برنامج بيطبع شاشة

Hello world

لا اكثر و لا اقل ، بس تعالى نشوف اصلا هي شغالة ازاي:

=====================
الكود بتاع الجافا سكريبت دي هنا:

https://github.com/MalavVyas/FilelessJSMalwareDropper

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

Dropper

تعالى نبص على الكود

==============
الجولة الاولى: الكود شكلة برئ

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

alert(new Function(SnccpSrYKfxmqjJk())());

لو راجعت الدالة

SnccpSrYKfxmqjJk

حتلاقي انها

Anonymous function

بتنادي على متغيرات من فوق منها المتغير

UBkDUhSPnYjP

اللي هو كود طووووووووووووييل مشفر ، هنا يبتدي اللعب

بص على تفاصيل الدالة:

الدالة بتبتدي بالمتغير

_0x46b2dd

اللي بياخد كل اربع حروف من التيكست المشفر و يجمع و يطرح عليه و يرجع القيمة من

UTF 16 string

HMPTQXTNBJUV += String[‘fromCharCode’](_0x36455c);

و بيجمعه في المتغير

HMPTQXTNBJUV

اللي بيرجع في الاخل و يتنفذ في الدالة

SnccpSrYKfxmqjJk

انترستنج

======================
الجولة الثانية:
بعد تجميع و فك تشفير الكود ، طلع كود تاني خالص ، كود طويل عريض فشخ ، حاختصرلك اهم اللقطات اللي فيه ، هو زي الكود اللي فوق ، كود مشفر طويل عريض معمول له تشفير بدالة مختلفة تانية خاااااااالص ، و بيرجع كود

Anonymous

بيتم تنفيذه هو كمان

alert(new Function(SnccpSrYKfxmqjJk())())

ladlloYdTMckcxV = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

dycsldgepqeurce = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

ejFUWevikvv = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

OPOUYPHZPPSPXENMI = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

kznyohlxdidjrlrkw = ((ejFUWevikvv & 3) << (2766/vxdeabpuqqh)) | OPOUYPHZPPSPXENMI;

dczhnsicylpqyciye = (ladlloYdTMckcxV << (DkrJItsLVccgD/35)) | (dycsldgepqeurce >> (1148/bkiwKJMAPyUiNYL));

MSMSPYENLYFXRKBBM = ((dycsldgepqeurce & (nlmczdyawfwbb-(1441))) << (1148/bkiwKJMAPyUiNYL)) | (ejFUWevikvv >> (DkrJItsLVccgD/35));;

HMPTQXTNBJUV+=String.fromCharCode(MSMSPYENLYFXRKBBM);

طب ايه طيب ، اتقل

================
الجولة الثالثة

بعد تجميع الكود اللي طلع من الكود الثاني اللي طلع من الكود الاولاني ، طلع الكود الاخير اللي فعلا هدفه اختراقك ، في حالتنا دي هو مش بيعمل الا

Hello World

بسيط ، بس تعالى نشوف هو شغال ازاي

الكود بيبتدي ب دالة بتكتب البايلود

function WritePayload(name)

{

    var v1 = 1

    var v2   = 2

    var v3 = 2

    var codePage=’437′;

اللي بتاخد المتغير

PayloadString

ملحق بيها دالتين

واحده

base64

و الثانية

RC4

اللي حصل انه الراجل كتب الكود بتاع السي و بعدين عمله تشفير ب

RC4

بباسورد معينة ، و بعدين طلعه في

Base64

في الكود بيتكتب العكس و يطلع ملف تنفيذي بحق ربنا بيتكتب في ال

AppData

من خلال الدالة

Dropfile

اللي بتدور على باث ال

Appdata

بتاع اليوزر بتاعك و تكتب فيه الملف التنفيذي باسم عشوائي و تنفذه

dvar3.WriteAll(rc4(base64(PayloadString),false));

                        dvar1.Run(dvar2);

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

=====================
طب و الدروبر بتاعي ، علشان انا غلس فممكن حد يوصل انه يفهم التشفير بيتم ازاي و يقرا انه اي تيكست مشفر كتير امنعه مثلا ، فانا روحت عامل الدروبر بالبايتس ، فانا حولت الملف التنفيذي لبايتس و خليت الجافا سكريبت تكتبها من الاول

var payload  = new Array();

    payload  [01] = ’00C7′;

    payload  [02] = ’00FC’;

    payload  [03] = ’00E9′;

    payload  [04] = ’00E2′;

    payload  [05] = ’00E4′;

    payload  [06] = ’00E0′;

    payload  [07] = ’00E5′;

و بعدين بحاول البايتس لستريم و نكتب الستريم ، طب يعني ايه يعني

يعني عملت جافاسكريبت دروبر محمل جواه ال

Putty

مجرد ما بتغلط عليه بيشغل ليك ال

Putty

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

====================
ابقا حمل كراكات براحتك بقا يا نجم ، هابي ويك انك ايفري وان

مراجع:

https://resources.infosecinstitute.com/reverse-engineering-javascript-obfuscated-dropper/

Categories: Security
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: