با توجه به تصویر، مک آدرس روتر درست نوشته شده است. نرم افزار wireshark را روی هردو سیستم (قربانی و Attacker) اجرا میکنیم و عبارت arp را فیلتر می کنیم. در سیستم عامل کالی لینوکس ابزار Ettercap را اجرا میکنیم و پس از انتخاب primary interface روی آیکون تیک کلیک می کنیم:
برای اسکن کردن Device های متصل به شبکه، مراحل زیر را به ترتیب شماره گذاری انجام می دهیم:
صبر می کنیم تا این ابزار شبکه را اسکن کند و Device های متصل را پیدا کند. برای مشاهده آنها ادامه مراحل را انجام می دهیم:
طبق تصویر بالا، لیست Device های شبکه نشان داده می شود. هم اکنون اگر نرم افزار wireshark را در هر دو سیستم بررسی کنیم، متوجه می شویم که این ابزار، برای اسکن کردن، به ازای هر IP احتمالی موجود در شبکه، یک پیغام ARP ارسال(broadcast) کرده و تا مک آدرس مرتبط با آن IP را بدست آورد، طبق تصویر زیر:
چون در شبکه ما تنها دو Device وجود دارند(به غیر از خود Attacker)، آنها در پاسخ، مک آدرس خودشان را ارسال می کنند. با AND کردن فیلتر (arp.opcode == 2) می توانیم پاسخ ها را طبق تصویر زیر ببینیم:
در ابزار Ettercap، روی Device قربانی کلیک می کنیم و روی دکمه Add to Target 1 کلیک می کنیم. سپس روی Router کلیک می کنیم و روی دکمه Add to Target 2 کلیک می کنیم )طبق تصویر زیر)
طبق دو تصویر زیر، پس از کلیک بر روی OK در مرحله 15، حمله آغاز می شود. روش کار به اینصورت است که هنگامی که قربانی با broadcast کردن پیغام ARP که حاوی IP روتر است، تلاش می کند که MAC Address روتر را بدست آورد، Attacker با ارسال پاسخ جعلی (با IP روتر ومک آدرس خود) به قربانی، او را متقاعد می کند که همان Router است و قربانی باید تمام درخواست هایش را بجای Router به او (Attacker) کننده ارسال کند! همچنین، با همین روش، روتر را متقاعد می کند که Attacker همان قربانی است و روتر باید بسته هایی که میخواسته به قربانی ارسال کند را به Attacker ارسال کند!
البته Attacker برای اینکه کسی شک نکند و همه چیز به درستی کار کند، بسته های روتر و قربانی را که خودش دریافت کرده، به طرف دیگر forward می کند.
در نهایت قربانی در ARP Cache خود، بجای اینکه IP روتر را به مک آدرس روتر map کند، IP روتر را به مک آدرس Attacker نگاشت می کند. همچنین روتر هم IP قربانی را به مک آدرس Attacker نگاشت می کند.
در سیستم قربانی دستور arp -a را اجرا می کنیم (تصویر زیر):
قبل از انجام حمله که این دستور را اجرا کرده بودیم، مک آدرس روتر به درستی در ARP Cache در روبروی IP روتر نوشته شده بود. اما بعد از حمله مشاهده می کنیم که بجای مک آدرس واقعی روتر، مک آدرس Attacker نوشته شده است که برای تشخیص این حمله می توان از آن استفاده کرد. همچنین در نرم افزار wireshark در سیستم قربانی مشاهده می کنیم که علاوه بر روتر، Attacker هم در پاسخ به پیغام های ARP که از طرف قربانی (برای بدست آوردن مک آدرس مرتبط با IP روتر) ارسال شده، مک آدرس خود را ارسال می کنند که از این موضوع هم می توان حمله ARP Poisoning را تشخیص داد. درواقع اگر غیر از مک آدرس روتر، مک آدرس دیگری دیدیم که با IP روتر در حال پاسخ دادن به پیغام ARP ما است، نتیجه میگیریم این حمله روی ما درحال انجام است. در تصویر زیر فیلتری اعمال شده تا فقط پیام هایی که با IP روتر ارسال شده اند نشان داده شود. مستطیل های قرمز رنگ، مک آدرس Attacker و مستطیل های آبی رنگ، مک آدرس روتر را نشان می دهند.
راهکار های جلوگیری و پیشگیری از این حمله:
1- بطور پیشفرض در ARP table مک آدرس مربوط به هر IP بصورت dynamic ذخیره شده است، یعنی مک آدرس مرتبط با یک IP در ARP table هر لحظه قابل تغییر است(با دریافت پاسخ درپروتکلARP) و همین موضوع باعث می شود ما بتوانیم حمله ARP Poisoning را انجام دهیم. باید در ARP Cache بصورت static مک آدرس روتر را به IP روتر مرتبط کنیم. در اینصورت دیگر نیازی به ارسال پیغام ARP به روتر برای بدست آوردن مک آدرس آن نیست. در ویندوز کافی است از این دستور در cmd استفاده کنیم:
arp /s 192.168.1.1 10-FE-ED-CE-6A-49
2- استفاده از VPN که با رمزنگاری اطلاعات رد و بدل شده، این حمله را بی اثر می کند.
3- فیلتر کردن packet ها: در این روش بسته هایی که ارسال یا دریافت می کنیم بررسی می شوند که واقعا به مک آدرس روتر ارسال شده باشند و یا از آن دریافت شده باشند، در صورتی که اینگونه نباشد، آن بسته ها مورد استفاده قرار نمیگیرند.
4- استفاده از سوئیچ و روتر و یا فایروال هایی که قابلیت دفع این نوع حملات را دارند.
مشاهده اطلاعات شنود شده:
در سیستمِ attacker، برای مشاهده بسته هایی که قربانی می خواسته به روتر ارسال کند(اما به علت انجام حمله به attacker ارسال می کند و او هم آنرا به روتر forward می کند) کافی است از فیلتر زیر در wireshark استفاده کنیم.
این عبارت، بسته هایی را توصیف می کند که مک آدرس فرستنده آن، مک آدرس قربانی است و مک آدرس گیرنده آن، مک آدرس attacker است و IP گیرنده آن، IP روتر است.
همچنین برای مشاهده بسته هایی که روتر میخواسته که قربانی ارسال کند(اما به علت انجام حمله به attacker ارسال می کند و او هم آنرا به روتر قربانی می کند)، از فیلتر زیر استفاده می کنیم.
این عبارت، بسته هایی را توصیف می کند که مک آدرس فرستنده آن، مک آدرس روتر است و مک آدرس گیرنده آن، مک آدرس attacker است و IP گیرنده آن، IP قربانی است.
با استفاده از اپراتور || می توان این دو فیلتر را بصورت یکجا اعمال کرد و بسته های ارسالی و دریافتی قربانی را بصورت یکجا مشاهده کرد.
البته ذکر این نکته ضروری است که امروزه (برخلاف گذشته) تقریبا تمام سرویس ها در اینترنت از پروتکل های رمزنگاری شده استفاده می کنند، مثل HTTPS و FTPS و غیره. بنابراین حتی اگر بتوانیم بسته ها را شنود کنیم، آن بسته ها رمزنگاری شده هستند و تنها سیستم قربانی می تواند آنها را رمزگشایی کند.
نحوه نوین حمله DNS Cache Poisoning محققان امنیت سایبری روشی جدید برای اجرای حملات موسوم به مسمومسازی حافظه نهان DNS یا DNS Cache Poisoning کشف کردهاند که با نام جدید SAD DNS فعالیت میکند. به گزارش افتانا (پایگاه خبری امنیت […]
Cors چیست: به اشتراک گذاری منابع متقاطع (CORS) را می توان به عنوان یک آرامش کنترل شده از سیاست همان مبدا درک کرد. CORS یک راه کنترل شده برای به اشتراک گذاشتن منابع متقاطع ارائه می دهد. پروتکل CORS با […]
چگونه متفقین ماشین انیگما را شکستند با انجام این کار، آنها به شکست یکی از بزرگترین شرارت هایی که جهان تا به حال دیده است کمک کردند و مقدمه ای برای کامپیوتر مدرن ایجاد کردند. اما این فقط تاریخ نیست […]
امضای دیجیتال با استفاده از RSA RSA نوعی “عملکرد یک طرفه Trapdoor” است. ویکیپدیا یک تابع یک طرفه را به عنوان تابعی توصیف میکند که محاسبه آن در هر ورودی آسان است، اما با توجه به تصویر یک ورودی تصادفی، […]
تجزیه و تحلیل استگانوگرافی با استفاده از هیستوگرام استگانوگرافی تکنیک مخفی کردن داده های مخفی در یک فایل یا پیام معمولی، غیر محرمانه به منظور جلوگیری از شناسایی است. سپس داده های مخفی در مقصد استخراج می شوند. استفاده از […]
نظرات کاربران