‌‏ ARP Spoofingیکی از خطرناک‌ترین و در عین حال ساده‌ترین حملات شبکه است که سال‌هاست شبکه‌های سازمانی را هدف می‌گیرد. این حمله به مهاجم اجازه می‌دهد خودش را جای روتر یا گیت‌وی جا بزند و تمام ترافیک قربانی را از میان سیستم خودش عبور دهد. نتیجه‌اش چیزی نیست جز شنود کامل اطلاعات، سرقت رمز عبور و حتی تغییر داده‌ها. در این مقاله از بایتوتک، اول یاد می‌گیری ARP چیست و چطور کار می‌کند، بعد گام‌به‌گام می‌بینی ARP Spoofing چطور انجام می‌شود و در آخر راهکارهای واقعی دفاع را یاد می‌گیری.

‌‏ARP چیست و چرا وجود دارد؟

‌‏ARP یا Address Resolution Protocol یک پروتکل لایه ۲ است که وظیفه دارد آدرس IP را به آدرس MAC ترجمه کند. وقتی یک دستگاه می‌خواهد با دستگاهی دیگر در همان شبکه محلی صحبت کند، فقط IP طرف مقابل را می‌داند و باید MAC او را هم پیدا کند. اینجاست که ARP وارد عمل می‌شود.

مکانیزم کار ARP خیلی ساده است. دستگاه مبدأ یک پیام ARP Request به صورت Broadcast به همه دستگاه‌های شبکه می‌فرستد و می‌پرسد چه کسی صاحب این IP است؟ دستگاهی که آن IP را دارد با یک ARP Reply پاسخ می‌دهد و MAC خودش را اعلام می‌کند. از آن به بعد مبدأ می‌داند که برای آن IP بسته‌ها را به کدام MAC بفرستد.

مشکل اصلی اینجاست که ARPهیچ مکانیزم احراز هویتی ندارد.

چرا ARP آسیب‌پذیر است؟

پروتکل ARPدر دهه ۸۰ میلادی طراحی شد، زمانی که امنیت شبکه اولویت نبود. این پروتکل هیچ راهی برای تأیید صحت پاسخ ندارد. یعنی هر دستگاهی در شبکه می‌تواند به درخواست ARP هر دستگاه دیگری پاسخ بدهد، حتی اگر صاحب واقعی آن IPنباشد. دستگاه‌ها هم پاسخ را بدون بررسی می‌پذیرند و در جدول ARPخود ذخیره می‌کنند. همین اعتماد کورکورانه پایه و اساس حمله ARP Spoofing است.

ARP Spoofing چگونه انجام می‌شود؟

هدف مهاجم این است که ترافیک قربانی را از مسیر اصلی خارج کند و از میان سیستم خودش عبور دهد. برای این کار دو مرحله اصلی وجود دارد.

مرحله اول: مهاجم به قربانی می‌گوید که IP گیت‌وی در واقع روی MACاوست. قربانی باور می‌کند و از این به بعد تمام ترافیک خروجی‌اش را به سمت مهاجم می‌فرستد.

مرحله دوم: مهاجم به گیت‌وی هم می‌گوید که IP قربانی روی MACاوست. گیت‌وی هم باور می‌کند و پاسخ‌های برگشتی را به سمت مهاجم می‌فرستد.

نتیجه این می‌شود که همه ترافیک رفت و برگشت از میان سیستم مهاجم عبور می‌کند. اگر مهاجم ترافیک را Forwardکند، قربانی حتی متوجه نمی‌شود و اتصالش قطع نمی‌شود. این دقیقاً همان حمله Man-in-the-Middle یا MITMاست.

ابزارهای رایج برای اجرای این حمله :

ابزارهای متعددی برای انجام ARP Spoofing وجود دارد که متأسفانه در دسترس عموم هستند.

  • Ettercap: یکی از قدیمی‌ترین و کامل‌ترین ابزارهاست که هم رابط گرافیکی دارد و هم خط فرمان.
  • Bettercap: نسخه مدرن‌تر و قدرتمندتر Ettercapاست و برای حملات MITMکاربرد زیادی دارد.
  • Arpspoof: که بخشی از مجموعه dsniffاست و کاربردش دقیقاً همان ARP Spoofingساده است.

 

نکته مهم : این است که این ابزارها فقط باید در محیط آزمایشگاهی و با اجازه رسمی استفاده شوند. استفاده از آن‌ها در شبکه‌های واقعی جرم است.

 

آموزش عملی: شبیه‌سازی حمله در محیط آزمایشگاه

 

فرض کن در یک آزمایشگاه مجازی با VirtualBox یا VMwareسه ماشین داری.

ماشین قربانی با IP 192.168.1.10و MACمشخص.

گیت‌وی با IP 192.168.1.1.

ماشین مهاجم با IP 192.168.1.100.

حالا در سیستم مهاجم که لینوکس است این مراحل را انجام بده:

 

اول باید IP Forwarding را فعال کنی تا ترافیک عبوری از سیستم مهاجم درست رد شود.

echo 1 > /proc/sys/net/ipv4/ip_forward

بعد با دستور زیر به قربانی می‌گویی که گیت‌وی روی MACمهاجم است.

arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

و در یک ترمینال دیگر به گیت‌وی می‌گویی که قربانی روی MACمهاجم است.

arpspoof -i eth0 -t 192.168.1.1 192.168.1.10

از این لحظه ترافیک قربانی از سیستم مهاجم عبور می‌کند. حالا می‌توانی با Wiresharkروی اینترفیس eth0بسته‌ها را ضبط کنی و ببینی چه اطلاعاتی در حال جابه‌جایی است. اگر سایت با HTTP باز شود حتی می‌توانی رمز عبور را در متن ساده ببینی. اگر HTTPSباشد ترافیک رمزنگاری می‌شود، اما هنوز می‌توانی متادیتا مثل دامنه و حجم ترافیک را ببینی.

 

نکته: برای دیدن ترافیک HTTPSبه صورت رمزگشایی‌شده باید گواهی جعلی نصب کنی که خودش موضوع یک مقاله جداست و در دوره بایتوتک به آن پرداخته می‌شود.

 

چطور ARP Spoofing را تشخیص دهیم؟

اولین نشانه، کند شدن ناگهانی شبکه است. وقتی ترافیک از یک نقطه اضافه عبور می‌کند، پهنای باند و تأخیر تغییر می‌کند.

 

دومین نشانه، مشاهده MACتکراری در جدول ARPاست. با دستور arp -aمی‌توانی جدول ARPرا ببینی. اگر یک MACبرای دو IPمختلف ثبت شده باشد، یعنی احتمالاً حمله در جریان است.

 

سومین نشانه، هشدار در سیستم‌های IDS و IPSاست. ابزارهایی مثل Snortو Suricataو Zeekقوانینی برای تشخیص ARP Spoofingدارند.

 

چهارمین راه، استفاده از ابزار XArp است که به صورت تخصصی برای تشخیص ARP Spoofingطراحی شده است.

چطور جلوی ARP Spoofing را بگیریم؟

راهکار اول: Dynamic ARP Inspection یا DAI. این ویژگی روی سوئیچ‌های مدیریتی مثل Cisco Catalyst فعال می‌شود و اجازه نمی‌دهد پاسخ‌های ARP جعلی از پورت‌های غیرقابل‌اعتماد عبور کنند.

 

راهکار دوم: Port Security. با این ویژگی می‌توانی مشخص کنی روی هر پورت سوئیچ فقط یک MAC مجاز است. اگر مهاجم با MACجدید ظاهر شود پورت مسدود می‌شود.

 

راهکار سوم: DHCP Snooping. این ویژگی جدولی از MACو IPمعتبر می‌سازد و DAIاز همین جدول برای تأیید پاسخ‌های ARPاستفاده می‌کند.

 

راهکار چهارم: ARPاستاتیک. در شبکه‌های کوچک می‌توانی برای گیت‌وی یک ورودی ARPاستاتیک تعریف کنی. اما این روش در شبکه‌های بزرگ عملی نیست.

 

راهکار پنجم: رمزنگاری سرتاسری. حتی اگر مهاجم ترافیک را رهگیری کند، با HTTPSو TLSنمی‌تواند محتوا را بخواند. به همین دلیل استفاده از HTTPSروی همه سرویس‌ها اهمیت حیاتی دارد.

 

راهکار ششم: مانیتورینگ مداوم. ابزارهایی مثل Wireshark و Zeekو سیستم‌های IDSباید به صورت مداوم شبکه را رصد کنند تا در صورت وقوع حمله سریع واکنش نشان داده شود.

 

نکته مهم : اگر می‌خواهی این حمله را با Wireshark به صورت عملی ببینی، دقیقاً همین فرآیند را می‌توانی در دوره Network+Wiresharkبایتوتک تمرین کنی.

اشتباهات رایج در مقابله با ARP Spoofing

اشتباه اول، اتکا فقط به HTTPSاست. HTTPSمحتوا را رمزنگاری می‌کند، اما جلوی خود حمله را نمی‌گیرد. مهاجم همچنان می‌تواند ترافیک را ببیند، دستکاری کند یا اتصال را قطع کند.

 

اشتباه دوم، نادیده گرفتن شبکه داخلی است. خیلی از سازمان‌ها فکر می‌کنند تهدید فقط از بیرون می‌آید، در حالی که ARP Spoofing یک حمله داخلی است و از داخل شبکه انجام می‌شود.

 

اشتباه سوم، نداشتن مانیتورینگ مداوم. بدون رصد مستمر، حمله ممکن است ماه‌ها بدون تشخیص ادامه پیدا کند.

 

اشتباه چهارم، استفاده از سوئیچ‌های غیرمدیریتی. سوئیچ‌های ساده امکان DAI و Port Security را نمی‌دهند و شبکه را در برابر این حمله کاملاً باز می‌گذارند.

 

جمع‌بندی

ARP Spoofingحمله‌ای ساده اما بسیار خطرناک است. ضعف ذاتی پروتکل ARPباعث شده مهاجم بتواند خودش را جای گیت‌وی جا بزند و ترافیک قربانی را شنود کند. تشخیص این حمله با ابزارهایی مثل Wiresharkو XArpو سیستم‌های IDSممکن است و دفاع در برابر آن با DAIو Port Securityو DHCP Snoopingو رمزنگاری سرتاسری انجام می‌شود. اگر می‌خواهی امنیت شبکه‌ات را جدی بگیری، باید این حمله را بشناسی و راه‌های دفاع را عملی تمرین کنی. در بایتوتک آموزش‌های عملی شبکه و امنیت به صورت گام‌به‌گام منتشر می‌شود تا بدون سردرگمی وارد بازار کار شوی.