تکنیک های Sniffing
با تکنیک های Sniffing در این مقاله با جت آموز همراه باشید.
تکنیک های Sniffing
از جمله روش ها و تکنیک های sniffing می توان به موارد زیر اشاره کرد که به توضیح کامل هر کدام به همراه روش های جلوگیری از آن خواهیم پرداخت.
- حملات مک (mac)
- حملات ARP
- حملات DHCP
- حملات DNS
حملات MAC
MAC یا Media Access Control یک آدرس 48 بیتی می باشد که در لایه دوم شبکه وجود دارد و در واقع در شبکه های لایه دوم مسیر یابی به کمک این آدرس فیزیکی صورت می گیرد. سوییچ ها دارای یک mac table یا cam table هستند که آدرس مک فیزیکی هر کامیپوتری را در آن می نویسد همانطور که در شکل زیر می بینید.
این جدول سوییچ دارای تعداد خانه های حافظه ثابت می باشد مثلا یک سوییچ در شکل زیر فقط 3 عدد مک آدرس می تواند یاد بگیرد و هر گونه اطلاعات مربوط به هدف را فقط به هدف تحویل میدهد و دیگران نمی توانند این ترافیک را شنود کنند.
ولی اگر تعداد بیشتر از 3 عدد کامیپوتر شد چه اتفاقی می افتد ؟ این اتفاق باعث میشود بخش یادگیری سوییچ ها مختل شده و دیگر هر پیامی را به صورت broadcast به کلیه پورت ها میفرستد یعنی عملکرد آن شبیه به hub شده و در نتیجه اتکر میتواند عمل sniff را انجام دهد.
Mac flooding
در این حمله اتکر با استفاده از تولید پیام هایی با مک آدرس جعلی حافظه cam table سوییچ را پر می کند و همانطور که قبلا گفتیم با این عمل سوییچ تبدیل به هاب شده و پیغام های broadcast ارسال می کند و درنتیجه همه می توانند این ترافیک را مشاهده کنند. در شکل زیر زیر کامپیوتر با ادرس مک C میتواند ترافیک ارسال شده از A به B را ببیند.
برای استفاده از این حمله یکی از بهترین ابزارها برای ایجاد این ترافیک Macof می باشد که مربوط به سیستم عامل های لینوکسی است.
Switch port stealing
در این روش هکر خود را به جای کس دیگری معرفی میکند به عنوان مثال در شکل زیر زمانی که هکر میخواهد خود را به جای pc2 جا بزند ، مک آدرس هدف را جعل میکند و با آی پی خود به سمت سوییچ میفرستد و چون پیام جدید میباشد سوییچ cam table خود را آپدیت می کند و پیغام ها به سمت هکر فرستاده می شود.
Mac spoofing
در این نوع حمله اتکر ابتدا ادرس مک های سیستم ها را که از طریق سوییچ با هم در ارتباط هستند به دست آورده و سپس اقدام به ارسال پیام جعلی با مک ادرس های موجود کرده و خود را به جای افراد دیگر جا میزند و اطلاعات به سمت اتکر فرستاده می شود.
ابزار قدرتمندی که در این حمله استفاده میشود smac و technitium mac address changer می باشد و همینطور در ویندوز نیز می توان به صورت زیر عمل کرد:
1
|
Control panel>>>hardware and sounds>>>device manager |
Mac spoofing
1
|
Network Adapters>>>select NIC and right click , properties>>>tab advance>>> select locally administered address >>> value = spoof mac |
در اخر میتوانید با استفاده از ipconfig/all مشاهده کنید که مک شما عوض شده است ، البته در برخی از کارت شبکه ها ممکن است که این عمل قابل انجام نباشد.
جلوگیری کردن از حملات MAC
برای جلوگیری از این حملات باید بر روی سوییچ ها port security را فعال کرد ، پورت سکوریتی بر اساس تعداد مک آدرس کار می کند و چون سوییچ ها به صورت داینامیک میتوانند مک آدرس ها را یاد بگیرند ، این قابلیت تعیین می کند که چه تعداد مک آدرس از یک پورت میتواند یاد بگیرد و در زمان حمله mac flooding به دلیل اینکه در این نوع حمله تعداد زیادی مک آدرس تولید میشود که از یک پورت به سمت سوییچ ارسال میشود در نتیجه پورت غیر فعال شده و دیگر نمیتوان این حمله را انجام داد. همچنین برای جلوگیری از حمله port stealing نیز میتوان port security را جوری تنظیم کرد که فقط یک مک ادرس روی آن پورت سوییچ کار کند و اگر مک آدرس دیگری بر روی پورت ارسال شود پورت غیر فعال شود. برای تنظیم پورت سکوریتی بر روی سوییچ های سیسکو طبق زیر عمل میکنیم:
برای جلوگیری از mac spoofing راه جلوگیری از حملات ARP و DHCP که جلوتر بیان میکنیم نیز موثر می باشد.
حملات ARP
همانطور که در اول گفتیم arp یک پروتکل با وظیفه چسباندن (bind) آدرس ip و mac را بر عهده دارد و در لایه 2 فعالیت می کند. سوییچ دارای حافظه arp میباشد که به آن arp cache میگویند. اگر سوییچ در حافظه خود ادرس مک یک آی پی را نداشته باشد پروتکل arp یک پیغام برودکست ایجاد میکند که در آن سوال میکند چه کسی صاحب آن آی پی بوده و سپس صاحب آی پی در جواب پیام arp ، فیلد مربوط به mac address پیام arp را پر میکند و به سمت درخواست کننده می فرستد.
Arp poisoning/ Arp spoofing
پروتکلARP عمل تبدیل IP به MAC را برای ما انجام می دهد و مهاجم از این پروتکل برای حمله خود سود می برد.در این روش مهاجم با استفاده از پروتکل ARP یک بسته (Gratuitous ARP) GARP ارسال می کند. به طور مثال IP Address گیت وی شبکه را با MAC آدرس خود اعلام می کند و سیستم های موجود در شبکه اطلاعات مربوط به ARP خود را با اطلاعات جدید بروز می کند و از این پس ترافیک خارج از شبکه خود را تحویل مهاجم می دهند و اگر مهاجم بعد از بدست آوردن اطلاعات مورد نیاز خود ترافیک به گیت وی اصلی ارسال کند کاربران از این اتفاق بی خبر خواهند بود(men in the middle).
این حمله میتواند اهداف زیر را دنبال نماید:
- packet sniffing
- Session hijacking
- Voip call tapping
- Manipulating data
- Man in the middle attack
- Data interception
- Connection hijacking
- Connection reseting
- Stealing password
- Denial of server ( DOS) attack
محدودیت حملات Arp spoofing
- وقتی ARP Poisoning در شبکه راه اندازی می شودترافیک شبکه به طور قطعی بالا می رود و تاخیر در شبکه رخ می دهد به این دلیل که از هر بسته ای که داخل شبکه فرستاده می شود یک نسخه از آن به سمت هکر ارسال می شود .
- برای اعمال ARP Poisoning توسط هکر می بایست که ARP Cache entry مربوط به هر دستگاه یا نود وجود داشته باشد تا اینکه با بسته های GARP بتوان ARP Cache entry رو آپدیت کرد . باید توجه داشت که با بسته های GARP نمی توان رکوردی را درون ARP Cache table نود اضافکرد و این بسته در صورت وجود رکورد و Resolve شدن آی پی آدرس کلاینت های مقابل در این جدول می تواند ، فقط اپدیت رکورد امکان پذیر می باشد.
- اگر هکر بخواهد ARP Poisoning در شبکه راه اندازی کند می بایست در یک Broadcast Domain در لایه دو این کار را انجام دهد، به عبارتی این کار فقط در درون سازمان شدنی هست و بیرون از سازمان هیج گونه پیاده سازی عملیاتی ندارد.
جلوگیری از حملات Arp poisoning/ Arp spoofing
برای جلوگیری از این کار در شبکه های بسیار کوچک مانند کافی نت ها بهتر است که mac address مربوط به سیستم ها را به arp cash سیستم ها اضافه کنید.برای این منظور می توانید از دستور arp –s و باضمیمه کردن ip و mac مربوط به gateway در cmd این کار را انجام دهید با این کار هکر نمیتواند با overwrite کردن arp cash گذرگاه اقدام به arp spoofing کند.اما در شبکه های بزرگ باید از فیچری که سیسکو عرضه کرده استفاده کرد.برای این مشکل شرکت سیسکو یک فیچری عرضه کرده که این مشکل را رفع می نماید:
1
|
DAI===DYNAMIC ARP INSPECTION |
شبکه شما می تواند با استفاده از این توانمندی در برابر این حملات مقاومت بیشتری را نشان دهد.این توانمندی بسیار شبیه توانمندی DHCP SNOOPING می باشد که در بسیار مواقع این دو باید با هم همراه شوند یعنی هر دو فیچر باید استفاده شود.و بهتر است که برای امنیت بیشتر توانمندی port security نیز فعال باشد. قابل ذکر است که باید قبل از DAI فیچر DHCP SNOOPING راه اندازی شود.
یعنی DHCP SNOOPING یک جدولی درست میکند که سیستم ARP INSPECTION از ان استقاده می کند.این توانمندی از پورت های TRUSTED و UNTRUSTED استفاده میکند که در این شرایط که در این شرایط فقط پورت های سوئیچ که در وضعیت TRUSTED باشند قادر به دریافت پاسخ ARP خواهند بود و در صورتی که یک در خواست ARP از طریق پورت UNTRUSTED دریافت شود اطلاعات ان با جدول DHCP binding مقایسه خواهد شد در صورتی که با این جدول مطابقت نداشته باشد حذف خواهد شد پورت disable می شود.
1
2
|
Switch# configure terminal Switch(config)# ip arp inspection vlan 1 |
تعیین پورت trusted: به صورت پیش فرض بعد از توانمندی dai کلیه پورت ها در وضعیت untrusted قرار خواهند گرفت و شما باید پورت یا پورت هایی را که می خواهید را در وضعیت trusted قرار بگیرند را تعیین نمایید.برای این منظور از دستور زیر استفاده نمایید:
1
2
|
Switch(config)# interface fastethernet 0/1 Switch(config-if)# ip arp inspection trust |
دستور بالا باعث می شود پورت در وضعیت trusted قرار بگیرد.راه دیگری نیز توسط سیسکو وجود دارد که این کار را بااستفاده از ACCESS LIST انجام می دهند.که این راه برای STATIC ARP است.چون خیلی از IP ها با DHCP ASSIGNنمی شوند.
1
2
3
4
5
6
7
8
|
Switch# configure terminal Switch(config)# ip arp inspection vlan 1 Switch(config)# arp access list static arp Switch(config-acl)# permit ip host 192.168.1.10 mac host 0005.50a1.146g Switch(config-acl)#exit Switch(config)# ip arp inspection filter static arp vlan 1 Switch(config)# interface fastethernet 0/1 Switch(config-if)# ip arp inspection trust |
نکته: ممکن است کلاینتی از DHCP آی پی دریافت نکرده باشدو برای این رکورد های ARP Cache table رکوردی در DHCP Snooping وجود ندارد به همین خاطر می باید آی پی آن را به صورت Static در DHCP Snooping تعریف کرد.
حملات DHCP
DHCP پروتکلی میباشد جهت اختصاص آی پی به صورت اتوماتیک به سیستم های داخل یک شبکه که با پورت 67 برای سرور و 68 برای کلاینت کار میکند. این پروتکل به صورت زیر کار میکند.
ابتدا کلاینت یک درخواست broadcast برای پیدا کردن dhcp server فرستاده سپس سرور در پاسخ یک آی پی برای کلاینت فرستاده و بعد از آن کلاینت یک درخواست در جهت تخصیص آی پی میدهد و در اخر کلاینت نیز آی پی را به کلاینت اختصاص میدهد و در حافظه خود ثبت میکند.
Dhcp starvation
در این حمله اتکر با ایجاد درخواست های جعلی برای گرفتن آی پی از dhcp سرور اقدام میکند و آنقدر این کار را تکرار میکند تا تعداد آی پی هایی که سرور dhcp در اختیار دارد (dhcp pool) تمام شده و دیگر کلاینت های جدید نمیتوانند از dhcp سرور استفاده کنند و شبکه مختل میشود. اما این حمله به تنهایی انجام نمیشود و معمولا با حمله rogue dhcp server attack همراه میشود.
Rogue dhcp server attack
در این حمله هکر بعد از انجام حمله dhcp starvation که توضیح دادیم یک dhcp server جعلی در شبکه تنظیم میکند و به درخواست های کلاینت ها پاسخ داده و به آنها آی پی جعلی اختصاص میدهد در نتیجه با در دست گرفتن کنترل شبکه میتواند عملیات sniffing را انجام بدهد . بهترین ابزار های این حمله dhcpstarv و Yersinia می باشند.
راه های جلوگیری از حملات DHCP
برای جلوگیری از این نوع حمله نیز قابلیت های dhcp snooping و port security موثر می باشند که قبل تر توضیح دادیم.
حملات DNS
DNS یا Domain Name Service یک پروتکل میباشد که جهت تبدیل اسم به آی پی استفاده میشود. پشت هر سایت، یک آدرس IP وجود دارد. در حالی که به یاد داشتن آی پی آدرس هر سایت مشکل است نام دامنه به شما کمک می کند تا شما به آی پی سایت مربوطه دسترسی داشته باشید. به عنوان مثال،Google.com همه با این نام آشنا هستند ولی اگر از اشخاص متعددی سئوال کنید آی پی آدرس “74.125.45.100” چیست شاید اشخاص کمی بدانند که همان آی پی آدرس گوگل است.
Dns cache poisoning
زمانی که dns یک درخواست از کلاینت دریافت میکند که نمیداند آی پی آن چیست به dns سرور های دیگر یک query میفرستد ، و dns سرور های دیگر نیز به همین صورت تا زمانی که پاسخ پیدا شود و به سمت کلاینت برگردد. اما زمانی که dns یک پیام جعلی دریافت میکند دیتابیس خود را آپدیت میکند. برای افزایش سرعت و کارایی dns از یک حافظه cache استفاده میکند و این پیام جعلی فرستاده شده باعث مسمومیت حافظه cache شده و تا زمانی که پیام در حافظه cache منقضی نشود اتکر میتواند افراد را به سایت های جعلی به جای سایت های اصلی هدایت کند
Intranet dns spoofing
در این نوع حمله اتکر مستقیما به شبکه داخلی وصل میباشد و به کمک حمله arp poisoning خود را به عنوان gateway در شبکه معرفی کرده و با شنود پکت های شبکه ، پکت های dns را جدا کرده و به آنها پاسخ میدهد و به سمت سایت جعلی میفرستد. در این حمله باید اتکر سریع باشد تا قبل از پاسخdns سرور اصلی پاسخ دهد.
Internet dns spoofing
در این روش اتکر ابتدا به سیستم قربانی نفوذ کرده و با آلوده کردن سیستم با یک تروجان ، اقدام به عوض کردن dns کرده و باعث میشود قربانی به سمت آدرس های جعلی فرستاده شود مانند شکل زیر اتکر آی پی خود را به عنوان dns به کلاینت معرفی می کند.
Proxy server dns spoofing
در این روش اتکر مانند روش قبل یک تروجان به سیستم قربانی میفرستد و سپس باکمک تروجان اقدام به تغییر proxy سرور در مرورگر اینترنت قربانی می کند.
جلوگیری از حملات DNS
Resolver خود را امن و خصوصی نگاه دارید. اگر از Resolver شخصی استفاده میکنید، باید دسترسی آن را محدود کنید. فقط کاربرانی دسترسی داشته باشند که مورد اعتماد شما هستند. برای اینکه بدانید در شبکهتان Resolver باز وجود دارد یا نه میتوانید از Measurement Factory’s online tool استفاده کنید.
تنظیمات را به گونهای انجام دهید که در برابر cache poisoning امن باشد.
- به جای استفاده از پورت ۵۳ UDP از شماره پورتهای تصادفی استفاده کنید
- Query ID را تصادفی کنید.
- حروف نام دامنهای که برای گرفتن IP به Resolver فرستاده شدهاند را به طور تصادفی کوچک و بزرگ کنید.
- سرور DNS خود را به طور امن مدیریت کنید.
اگر شما میزبان سرور DNS تان هستید:
- گرفتار آسیبپذیریهای شناخته شده نشوید. اگر DNS سرور خودتان را اجرا میکنید، هوشیار باشید که تمام پچها را نصب کرده باشید و سرور و نرمافزارهایش را به روز نگاه دارید.
- با استفاده از سرورهای جداگانه، توابع resolver و authoritative را از هم جدا کنید. این حرکت باعث میشود در اثر حمله DoS سرور شما Off نشود.
- سرور نام دامنه اصلی خود را مخفی نگاه دارید.
- سرور نام دامنه خود را مانیتور کنید. مطمئن باشید که کوچکترین تغییرات در این سرور از دید شما مخفی نماند.
- برای محافظت از سرورتان از PKI استفاده کنید.
- پورتها و سرویسهایی که رد سرورتان به آنها نیازی ندارید را بسته یا غیرفعال کنید.
اگر از Domain Name Registrar استفاده میکنید: اگر سرور نام دامنه شما توسط Registrar یا واسطههای دیگر مدیریت میشود، باید مطمئن شوید که امنیت را برقرار میکنند. گزینههای زیر به شما کمک میکنند که از برقراری امنیت در Registrarها مطمئن شوید.
- احراز هویت دو عامله (Two factor authentication)
- قفل تغییرات سرور نام دامنه (DNS change locking)
- ورود IP های مشخص شده (IP-dependent log in)
- DNSSEC
DNSSEC چیست؟
DNSSEC جهت برطرف کردن مشکلات امنیتی DNS از زیرساخت امضای دیجیتال استفاده می کند. به صورت پیش فرض، DNSSEC سرویسی برای Confidentiality ارائه نمی کند و همچنین مستقیما دارای مکانیزمی برای مقابله حملات DoS نیست، با این وجود سرویس Authentication سبب می گردد تا پاسخ های دریافت شده identical باشد. DNSSEC دارای Record Type های جدیدی در مقایسه با DNS است.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.