Bad Sector
29th May 2011, 11:52 PM
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions1.jpg
همانطور که می دانید ویندوز فایل ها را با استفاده از پسوند آنها می شناسد. مثلآ وقتی اسم فایل به txt. ختم می شود ویندوز می فهمد که فایل متنی است. این به ویندوز کمک می کند تا بداند فایل را با چه برنامه ای باز کند.. مثلآ به عنوان پیش فرض فایل متنی با notepad باز می شود.
حالا ASSOC دیگر چیست؟
ASSOC یکی از ابزار موجود در ویندوز است که به ویندوز «یاد می دهد» هر پسوند مربوط به چه نوع فایلی هست. مثلآ به او می گوید txt. یعنی متن. نام ASSOC از ابتدای کلمه Associate به معنی «ارتباط دادن» گرفته شده است.
گفتی سو استفاده؟
یه زمانی هکر ها توی چت فایل های اجرایی را به جای عکس به قربانی ها می فرستادند مثلآ پسوند آن را می گذاشتند jpg.exe. (ویندوز به طور پیش فرض پسوند را نشان نمی دهد در نتیجه پسوند واقعی (سه حرف آخر) که exe باشد پنهان می شد و کاربر اشتباهآ فکر می کرد پسوند jpg است) و آیکون آن را هم تغییر می دادند به آیکون عکس. اگر کاربر مبتدی باشد و تفاوت یا معنی پسوند ها را نداند این طوری به دام می افتد. اما کاربر های حرفه ای تر ویندوز خود را از قسمت Folder Options تنظیم می کنند تا کل نام فایل دیده شود و در این صورت ترفند فرد نفوذگر لو می رفت.
فرض کنید با استفاده از ASSOC از قصد و اشتباهآ به ویندوز بگوییم پسوند jpg. (عکس) مربوط به فایل های اجرایی است. حالا از این به بعد ویندوز با فایل های حاوی عکس مثل برنامه های اجرایی رفتار می کند. یعنی دیگه نیازی به پسوند exe. نیست و یک فایل مثلآ با نام image.jpg عینآ همانطور اجرا می شود که image.exe اجرا می شود.
پس اگر سیستم قربانی را با استفاده از ASSOC گول بزنیم در مرحله بعد می توانیم با مثلآ یک فایل تصویری یک فایل مخرب را روی سیستم اجرا کنیم.
نحوه استفاده از ASSOC
اگر در CMD تایپ کنید assoc لیست کاملی از extension association های موجود در ویندوز تان را می بینید.
برای تغییر اینها باید ابتدا بنویسید assoc بعد نقطه بعد حروف پسوند مورد نظر بعد علامت مساوی بعد نوع فایل.
به عنوان مثال اگر من بخواهم به ویندوز بگوییم فایل txt. متنی هست تایپ می کنم،
ASSOC .txt=txtfile
حالا می خواهم الکی بگم jpg. همان فایل اجرایی است. اول از لیست assoc به هر دو پسوند exe. و jpg. نگاه می کنیم،
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions2.jpg
با توجه به عکس بالا به راحتی می فهمیم که برای تغییر jpg. به عکس کافی است دستور زیر را اجرا کنیم،
ASSOC .jpg=exefile
نتیجه را ببینید:
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions3.jpg
خوب احتمالآ می گویید Icon فایل همچنان کار را لو می دهد، برای حل این مشکل دو راه حل داریم:
راه اول، فایل اجرایی را ویرایش کرده و آیکون jpg برایش انتخاب کنیم.
این راه یک مشکل اساسی داره، آیکون فایل های تصویری مثلآ در ویندوز 7 متفاوت از ویندوز XP است. در نتیجه اگر شما آیکون ویندوز 7 را انتخاب کنید و فرد قربانی ویندوز XP داشته باشد قضیه لو می رود. یا شاید مثلآ طرف از یک theme خاص استفاده کند که آیکون ها را برایش تغییر داده باشد. در نتیجه این روش موقعی خوب است که بدانید آیکون فایل های تصویری روی ویندوز قربانی دقیقآ چیست.
راه دوم، این راه سخت تر است اما نتیجه بهتری دارد. در این روش بعد از استفاده از ASSOC کلید های رجیستری سیستم قربانی را نیز تغییر می دهیم تا Icon پیش فرض برای فایل های اجرایی را تغییر بدهد به آیکون پیش فرض فایل های تصویری، حالا هر آیکونی که می خواهد باشد.
یعنی مقدار HKEY_CLASSES_ROOT\exefile\DefaultIcon را برابر با مقدار HKEY_CLASSES_ROOT\jpegfile\DefaultIcon قرار می دهیم. نحوه انجام و جزئیات این روش را به عهده خودتان می گذارم.
نکته: تنها تفاوت آشکار فایل ها در عکس های بند انگشتی یا Thumbnail ها خواهد بود. چون فایل تصویری ما در اصل یک فایل اجرایی است در نتیجه ویندوز نمی تواند تصویر بند انگشتی از آن تهیه کند. مانند مثال زیر.
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions4.jpg
ترجمه مقاله ASSOC
همانطور که می دانید ویندوز فایل ها را با استفاده از پسوند آنها می شناسد. مثلآ وقتی اسم فایل به txt. ختم می شود ویندوز می فهمد که فایل متنی است. این به ویندوز کمک می کند تا بداند فایل را با چه برنامه ای باز کند.. مثلآ به عنوان پیش فرض فایل متنی با notepad باز می شود.
حالا ASSOC دیگر چیست؟
ASSOC یکی از ابزار موجود در ویندوز است که به ویندوز «یاد می دهد» هر پسوند مربوط به چه نوع فایلی هست. مثلآ به او می گوید txt. یعنی متن. نام ASSOC از ابتدای کلمه Associate به معنی «ارتباط دادن» گرفته شده است.
گفتی سو استفاده؟
یه زمانی هکر ها توی چت فایل های اجرایی را به جای عکس به قربانی ها می فرستادند مثلآ پسوند آن را می گذاشتند jpg.exe. (ویندوز به طور پیش فرض پسوند را نشان نمی دهد در نتیجه پسوند واقعی (سه حرف آخر) که exe باشد پنهان می شد و کاربر اشتباهآ فکر می کرد پسوند jpg است) و آیکون آن را هم تغییر می دادند به آیکون عکس. اگر کاربر مبتدی باشد و تفاوت یا معنی پسوند ها را نداند این طوری به دام می افتد. اما کاربر های حرفه ای تر ویندوز خود را از قسمت Folder Options تنظیم می کنند تا کل نام فایل دیده شود و در این صورت ترفند فرد نفوذگر لو می رفت.
فرض کنید با استفاده از ASSOC از قصد و اشتباهآ به ویندوز بگوییم پسوند jpg. (عکس) مربوط به فایل های اجرایی است. حالا از این به بعد ویندوز با فایل های حاوی عکس مثل برنامه های اجرایی رفتار می کند. یعنی دیگه نیازی به پسوند exe. نیست و یک فایل مثلآ با نام image.jpg عینآ همانطور اجرا می شود که image.exe اجرا می شود.
پس اگر سیستم قربانی را با استفاده از ASSOC گول بزنیم در مرحله بعد می توانیم با مثلآ یک فایل تصویری یک فایل مخرب را روی سیستم اجرا کنیم.
نحوه استفاده از ASSOC
اگر در CMD تایپ کنید assoc لیست کاملی از extension association های موجود در ویندوز تان را می بینید.
برای تغییر اینها باید ابتدا بنویسید assoc بعد نقطه بعد حروف پسوند مورد نظر بعد علامت مساوی بعد نوع فایل.
به عنوان مثال اگر من بخواهم به ویندوز بگوییم فایل txt. متنی هست تایپ می کنم،
ASSOC .txt=txtfile
حالا می خواهم الکی بگم jpg. همان فایل اجرایی است. اول از لیست assoc به هر دو پسوند exe. و jpg. نگاه می کنیم،
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions2.jpg
با توجه به عکس بالا به راحتی می فهمیم که برای تغییر jpg. به عکس کافی است دستور زیر را اجرا کنیم،
ASSOC .jpg=exefile
نتیجه را ببینید:
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions3.jpg
خوب احتمالآ می گویید Icon فایل همچنان کار را لو می دهد، برای حل این مشکل دو راه حل داریم:
راه اول، فایل اجرایی را ویرایش کرده و آیکون jpg برایش انتخاب کنیم.
این راه یک مشکل اساسی داره، آیکون فایل های تصویری مثلآ در ویندوز 7 متفاوت از ویندوز XP است. در نتیجه اگر شما آیکون ویندوز 7 را انتخاب کنید و فرد قربانی ویندوز XP داشته باشد قضیه لو می رود. یا شاید مثلآ طرف از یک theme خاص استفاده کند که آیکون ها را برایش تغییر داده باشد. در نتیجه این روش موقعی خوب است که بدانید آیکون فایل های تصویری روی ویندوز قربانی دقیقآ چیست.
راه دوم، این راه سخت تر است اما نتیجه بهتری دارد. در این روش بعد از استفاده از ASSOC کلید های رجیستری سیستم قربانی را نیز تغییر می دهیم تا Icon پیش فرض برای فایل های اجرایی را تغییر بدهد به آیکون پیش فرض فایل های تصویری، حالا هر آیکونی که می خواهد باشد.
یعنی مقدار HKEY_CLASSES_ROOT\exefile\DefaultIcon را برابر با مقدار HKEY_CLASSES_ROOT\jpegfile\DefaultIcon قرار می دهیم. نحوه انجام و جزئیات این روش را به عهده خودتان می گذارم.
نکته: تنها تفاوت آشکار فایل ها در عکس های بند انگشتی یا Thumbnail ها خواهد بود. چون فایل تصویری ما در اصل یک فایل اجرایی است در نتیجه ویندوز نمی تواند تصویر بند انگشتی از آن تهیه کند. مانند مثال زیر.
http://www.monaseb.com/images/stories2/891121/the-abuse-of-assoc-explained/assoc_extensions4.jpg
ترجمه مقاله ASSOC