01-13-2012، 07:25 PM
مبانی و تشخیص
اسنیفر برنامه یا ابزاری است برای استراق سمع کردن تافیک شبکه اون هم بوسیله گرفتن اطلاعاتی که روی شبکه د حال تبادل هستند و از تکنولوژی جلوگیری اطلاعاتی استفاده میکنه . به این دلیل این کار انجام میشه چون اترنت بر مبنای اشتراک گذاری ساخته شده . بیشتر شبکه ها از تکنولوؤی broadCast استفاده میکنند که یک پیام به یک کامپیوتر میتونه توسط کامپیوتر های دیگه هم خونده بشه . به صوت معمولی کلیه کامپیوتر ها بجط کامپیوتری که مقصد پیام هست پیام را نادیده میگیرند . اما میشه کاری کرد که کامپیوتر پیامی را هم که به اون مربوط نیست را بخونه . این کار هم همان اسنیف کردن اطلاعات است . بسیاری از افرادی که توسط سوئیچ به شبکه وصل هستند از شر اسنیف در امان هستند . اما همین کامپیوتر ها نسبت به اسنیف کردن هم نقطه ضعف خواهند داشت در صورتی که سوئیچ به یک هاب وصل شده باشه .
اسنیفر چگونه کار میکند ؟
کامپیوتری که به یک LAN وصل باشه دو تا ادرس داره یکی آدرس مک که برای هر سخت افزار که آدرس مک داره یکه است و دو تا کارت را پیدا نمی کنید که ادرس مک اون با یکی دیگه یکی باشه . از این آدرس مک برای ساختن قاب های اطلاعاتی برای ارسال اطلاعات به و یا از ماشین ها استفاده میشه . اما اون یکی آدرس ادرس IP هست . لایه شبکه وظیفه نگاشت کردن آدرس آی پی را به آدرس مک به عهده داره که واسه پروتکل ارتباط دیتا مورد نیازه . برای ارسال اطلاعات به یه کامپیوتر سیستم اول توی جدول ARP به دنبال آدرس مک سیستم مقابل میگرده اگر هیچ مدخلی برای این آی پی که داره پیدا نکنه یه دونه پاکت درخواست برای همه برودکست میکنه و از همه می خواهد تا اگر آدرس آی پی اونها همین هست که می خواهد آدرس مک خودشو اعلام کنه . اینجوری اگر سیستم توی شبکه آدرس آی پی پاکت را با خودش یکی ببینه ادرس مکش را میذاره توی یه پاکت و برای سیستم درخواست کننده میفرسته . حالا سیستم آدرس فیزیکی اون یکی سیستم را داره و این آدرس را به جدول ARP خودش اضافه میکنه . از این به بعد کامپیوتر مبدا برای ارتباط با سیستم مقصد از این آدرس فیزیکی استفاده میکنه .
به طور کلی دو نوع از تجهیزات اترنت وجود داره و اسنیفر ها به طرق مختلف روی این دو نوع کار میکنند.
Shared Ethernet:
در محیط های اینچنینی همه میزبان ها به یک باس وصل میشن و برای رفتن پهنای باند با هم رقابت میکنن . توی همچین وضعیتی یه پاکت را همه کامپیوتر ها دریافت میکنن . بدین ترتیب وقتی که کامپ یک بخواهد با کامپ دو صحبت کنه اون هم توی یه همچین محیطی اونوقت پاکتش را روی شبکه میذاره اون هم با ادرس مک سیستم مقصدش به همراه آدرس مک خودش . کلیه کامپیوتر ها روی یه اترنت اشتراکی (مثلا کامپ های 3 و 4 )ادرس مک پاکت مقصد را با ادرس خودشون مقایشه میکنن و اگر این دوتا با هم مچ نشدن این پاکت را میندازه دور .
اون کامپیوتری که داره عمل اسنیف کردن را انجام میده این قاعده و قانون را میشکنه و همه پاکت ها را میگیره .
و به کل ترافیک شبکه گوش میده .
در این وضعیت عمل اسنیف بسیار فعالانه انجام میشه و بسیار سخت میشه اون رو تشخیص داد .
Swithched Ethernet:
توی این شبکه کامپیوتر ها به عوض وصل شدن به هاب به یه سوئیچ وصل میشن که بهش میگن اتنت سئویچ . سوئیچ جدولی را مدیریت میکنه که توش رد ادرس مک کارت هایی را که بهش وصل میشن را داره . توی این جدول آدرس پورت فیزیکی را که روی سوئیچ هست و به اون کارت با آدرس مک وصله را هم نگه میداره و پاکت های مقصد را روی ان پورت فیزیکی میذاره و به مقصدش تحویل میده . در واقع موقعی که یه پاکت می خواهد ارسال بشه یه مسیر فیزیکی مستقیم و بدون واسطه بین اون و مقصدش برقرار میشه . در واقع سوئیچ ماشین هوشمندی هست که میدونه با این پاکت هایی که بهش وارد میشه چه کار کنه . واسه همین هم سرعت سوئیچ از هاب بیشتره و گرونتر هم هست . و همه پاکت ها را برود کست نمیکنه . این باعت میشه تا پهنای باند هدر نره و مصرف پهنای باند بهینه بشه و امنیت بالاتر بره . حالا اگر کامپیتوری را توی این شبکه بذارن توی حالت اسنیفر واسه انکه پاکت ها را جمع کنن این کار عملی نمیشه . به همین دلیل هم هست که مدیران شبکه ها برای امنیت بیشتر این شبکه بندی را تجیح میدن . با این حال باز هم میشه سوئیچ را اسنیف کد اون هم به این روش ها
1-ARP Spoofing
قبلا توضیح دادم که جدول ARP چیه و برای گرفتن ادرس فیزیکی مک مورد استفاده قرار میگیره . این جدول بی بنیه هست و خودتون هم میتونین خیلی راحت چند تا مدخل توش درست کنین . شما میتونین یه جواب ARP بفرستین حتی اگه کسی از شما نخواسته باشه که آدرستون را بهش اعلام کنین . در این حالت جواب شما توسط سیستم مقصد قبول میشه . حالا اگه بخواهین ترافیک شبکه را اسنیف کنین اون هم از کامپ یک میتونین عمل آرپ اسپوف را روی گیت وی شبکه انجام بدین . حالا جدول آرپ سیستم 1 مسموم شده . بدین ترتیب کل ترافیک شبکه از سیستم شما رد میشه . حقه دیگه ای که میتونه استفاده بشه تا جدول ارپ میزبان ها را مسموم کنه اینکه که بیایین و ادرس مک گیت وی را بذارین FF:FF:FF:FF:FF:FF که به عنوان آدرس برود کست هم شناخته میشه . فوق العاده ترین ابزاری که واسه این مورد میشه پیدا کد ARPspoof که با Dsnif Suite هستش.
2-MAC Flooding
سوئیچ ها جدول مترجمی را نگه میدارن که نگاشت ادرس های مک را به پورت های فیزیکی را روی سوئیچ به عهده داره .به این ترتیب سوئیچ به صورت هوشمند میتونه پاکت ها را به مقصد بفرسته . اما سوئیچ برای این کار دارای حافظه محدودی هست . فلود کردن مک از این نقطه ضعف استفاده میکنه و اونقدر سوئیچ را بمب باران میکنه (با ادرس های الکی) تا موقعی که سوئیچ نتونه اطلاعات را نگه داره . و این موقع است که میره توی حالت failOpen Mode و توی این حالت مثل یه هاب عمل میکنه و واسه اینکه بتونه اطلاعات ا ارسال کنه اونها را برود کست میکنه .حالا دیگه میشه را حت عمل اسنیف را انجام داد . این کار را میتونید با استفاده از نرم افزار MacOf که ابزاری ایت که با نرم افزار dsniff suite هماه است انجام بدین .
و اما مساله اساسی تشخیص اسنیفر ها :
یه اسنیفر معمولا همیشه توی حالت فعال کار میکنه . این اسنیفر فقط اطلاعات را جمع میکنه . به طور عمده تشخیص اسنیفر ها روی شبکه اترنت کار خیلی سختیه مخصوصا اگه روی شبکه اشتراکی باشه . اما وقتی که اسنیفر داره روی یه شبکه سوئیچ کار میکنه کار کمی آسانت میشه . وقتی که یه اسنیفر فعال میشه مقداری ترافیک را تولید میکنه . اینجا چند روش برای تشخیص اسنیف کردن اطلاعات وجود داره .
ping Method
کلکی که اینجا استفاده میشه اینه که یه دونه پاکت پینگ به آی پی ماشینی که بهش مشکوک هستین بفرستین نه به آدرس مک اون .اگر اون کامپیوتر مشکوک اسنیفر داره اونوقت به پینگ شما جواب میده . این در حالی هست که قاعدتا نباید به پاکت هایی که ادرس مک اونها بهش نمیخوره جواب بده . این روشی قدیمی است و دیگه به درد نمی خوره
ARP Method
یک کامپیوتر یه آرپ نگه میداره . پس کاری که ما میکنیم اینه که یه دونه پاکت غیر برود کست آرپ بفرستیم .کامپیوتری که توی حالت بی قاعده قرار گرفته آدرس شما رو ذخیره میکنه . بعد از اون ما یه دونه پاکت پینگ به صورت برود کست با آی پی خودمون می فرستیم اما با یه آدرس مک دیگه .تنها کامپیوتری که ادرس مک واقعی ما رو از قاب اسنیف شده آرپ داره میتونه به درخواست برود کست پینگ ما جواب بده .
On local host :
اغلب وقتی که سیستم شما دچار اشتباه شد هکر ها اسنیفر را ول می کنن . حالا میتونین با زدن یه دستور ساده روی همون سیستم که بهش مشکوک بودین بفهمین که این سیستم همونی هست که داشته اسنیف میکرده یا نه
ifconfigدستوری هست که شما بهش نیاز دارین . که اگر توی خط آخر خروجی دستور به کلمه Promisc برخود کردین بدونین که این همون سیستمه .
latency Method:
این روش بر این مبنا هست که فرض میشه اسنیفر عمل پارسینگ را داره انجام میده . پس داره اطلاعات زیادی را از شبکه میگیره و حالا اگر شما بیایین و یه حجم زیاد از اطلاعات را برود کست کنید سیستم اسنیف کننده تا بخواهد جواب بده وقت زیادی را میگیره و این تفاوت زمانی میتونه مشخص کنه که کدام سیستم در حال اسنیف قرار گرفته .
ARP watch
همانطور که گفته شد یکی از روش هایی که برای اسنیف روی یک شبکه سوئیچ انجام میشه اینه که ارپ را اسپوف کنیم . ابزاری که ARPwatch نامیده میشه استفاده میشه تا ببینه که هیچ چند تایی برای یه ماشین نباشه . یعنی واسه یه سیستم چند تا مدخل توی جدول نباشه . اگر اینطور باشه برنامه اینو تشخیص میده و هشدار میده . توی یه شبکه دی اچ سی پی این میتونه باعث هشدار های اشتباه زیادی بشه کاری که میشه انجام داد تا جلوی این مشکل گرفته بشه اینه که زمان اجاره آی پی را افزایش بدین و مثلا بذارین 60 روز .
شاید روشی که بتونه بهتون کمک کنه تا بفهمین که یکی داره شبکه را اسنیف میکنه افت شدی روی سوئیچ باشه .
اسنیفر برنامه یا ابزاری است برای استراق سمع کردن تافیک شبکه اون هم بوسیله گرفتن اطلاعاتی که روی شبکه د حال تبادل هستند و از تکنولوژی جلوگیری اطلاعاتی استفاده میکنه . به این دلیل این کار انجام میشه چون اترنت بر مبنای اشتراک گذاری ساخته شده . بیشتر شبکه ها از تکنولوؤی broadCast استفاده میکنند که یک پیام به یک کامپیوتر میتونه توسط کامپیوتر های دیگه هم خونده بشه . به صوت معمولی کلیه کامپیوتر ها بجط کامپیوتری که مقصد پیام هست پیام را نادیده میگیرند . اما میشه کاری کرد که کامپیوتر پیامی را هم که به اون مربوط نیست را بخونه . این کار هم همان اسنیف کردن اطلاعات است . بسیاری از افرادی که توسط سوئیچ به شبکه وصل هستند از شر اسنیف در امان هستند . اما همین کامپیوتر ها نسبت به اسنیف کردن هم نقطه ضعف خواهند داشت در صورتی که سوئیچ به یک هاب وصل شده باشه .
اسنیفر چگونه کار میکند ؟
کامپیوتری که به یک LAN وصل باشه دو تا ادرس داره یکی آدرس مک که برای هر سخت افزار که آدرس مک داره یکه است و دو تا کارت را پیدا نمی کنید که ادرس مک اون با یکی دیگه یکی باشه . از این آدرس مک برای ساختن قاب های اطلاعاتی برای ارسال اطلاعات به و یا از ماشین ها استفاده میشه . اما اون یکی آدرس ادرس IP هست . لایه شبکه وظیفه نگاشت کردن آدرس آی پی را به آدرس مک به عهده داره که واسه پروتکل ارتباط دیتا مورد نیازه . برای ارسال اطلاعات به یه کامپیوتر سیستم اول توی جدول ARP به دنبال آدرس مک سیستم مقابل میگرده اگر هیچ مدخلی برای این آی پی که داره پیدا نکنه یه دونه پاکت درخواست برای همه برودکست میکنه و از همه می خواهد تا اگر آدرس آی پی اونها همین هست که می خواهد آدرس مک خودشو اعلام کنه . اینجوری اگر سیستم توی شبکه آدرس آی پی پاکت را با خودش یکی ببینه ادرس مکش را میذاره توی یه پاکت و برای سیستم درخواست کننده میفرسته . حالا سیستم آدرس فیزیکی اون یکی سیستم را داره و این آدرس را به جدول ARP خودش اضافه میکنه . از این به بعد کامپیوتر مبدا برای ارتباط با سیستم مقصد از این آدرس فیزیکی استفاده میکنه .
به طور کلی دو نوع از تجهیزات اترنت وجود داره و اسنیفر ها به طرق مختلف روی این دو نوع کار میکنند.
Shared Ethernet:
در محیط های اینچنینی همه میزبان ها به یک باس وصل میشن و برای رفتن پهنای باند با هم رقابت میکنن . توی همچین وضعیتی یه پاکت را همه کامپیوتر ها دریافت میکنن . بدین ترتیب وقتی که کامپ یک بخواهد با کامپ دو صحبت کنه اون هم توی یه همچین محیطی اونوقت پاکتش را روی شبکه میذاره اون هم با ادرس مک سیستم مقصدش به همراه آدرس مک خودش . کلیه کامپیوتر ها روی یه اترنت اشتراکی (مثلا کامپ های 3 و 4 )ادرس مک پاکت مقصد را با ادرس خودشون مقایشه میکنن و اگر این دوتا با هم مچ نشدن این پاکت را میندازه دور .
اون کامپیوتری که داره عمل اسنیف کردن را انجام میده این قاعده و قانون را میشکنه و همه پاکت ها را میگیره .
و به کل ترافیک شبکه گوش میده .
در این وضعیت عمل اسنیف بسیار فعالانه انجام میشه و بسیار سخت میشه اون رو تشخیص داد .
Swithched Ethernet:
توی این شبکه کامپیوتر ها به عوض وصل شدن به هاب به یه سوئیچ وصل میشن که بهش میگن اتنت سئویچ . سوئیچ جدولی را مدیریت میکنه که توش رد ادرس مک کارت هایی را که بهش وصل میشن را داره . توی این جدول آدرس پورت فیزیکی را که روی سوئیچ هست و به اون کارت با آدرس مک وصله را هم نگه میداره و پاکت های مقصد را روی ان پورت فیزیکی میذاره و به مقصدش تحویل میده . در واقع موقعی که یه پاکت می خواهد ارسال بشه یه مسیر فیزیکی مستقیم و بدون واسطه بین اون و مقصدش برقرار میشه . در واقع سوئیچ ماشین هوشمندی هست که میدونه با این پاکت هایی که بهش وارد میشه چه کار کنه . واسه همین هم سرعت سوئیچ از هاب بیشتره و گرونتر هم هست . و همه پاکت ها را برود کست نمیکنه . این باعت میشه تا پهنای باند هدر نره و مصرف پهنای باند بهینه بشه و امنیت بالاتر بره . حالا اگر کامپیتوری را توی این شبکه بذارن توی حالت اسنیفر واسه انکه پاکت ها را جمع کنن این کار عملی نمیشه . به همین دلیل هم هست که مدیران شبکه ها برای امنیت بیشتر این شبکه بندی را تجیح میدن . با این حال باز هم میشه سوئیچ را اسنیف کد اون هم به این روش ها
1-ARP Spoofing
قبلا توضیح دادم که جدول ARP چیه و برای گرفتن ادرس فیزیکی مک مورد استفاده قرار میگیره . این جدول بی بنیه هست و خودتون هم میتونین خیلی راحت چند تا مدخل توش درست کنین . شما میتونین یه جواب ARP بفرستین حتی اگه کسی از شما نخواسته باشه که آدرستون را بهش اعلام کنین . در این حالت جواب شما توسط سیستم مقصد قبول میشه . حالا اگه بخواهین ترافیک شبکه را اسنیف کنین اون هم از کامپ یک میتونین عمل آرپ اسپوف را روی گیت وی شبکه انجام بدین . حالا جدول آرپ سیستم 1 مسموم شده . بدین ترتیب کل ترافیک شبکه از سیستم شما رد میشه . حقه دیگه ای که میتونه استفاده بشه تا جدول ارپ میزبان ها را مسموم کنه اینکه که بیایین و ادرس مک گیت وی را بذارین FF:FF:FF:FF:FF:FF که به عنوان آدرس برود کست هم شناخته میشه . فوق العاده ترین ابزاری که واسه این مورد میشه پیدا کد ARPspoof که با Dsnif Suite هستش.
2-MAC Flooding
سوئیچ ها جدول مترجمی را نگه میدارن که نگاشت ادرس های مک را به پورت های فیزیکی را روی سوئیچ به عهده داره .به این ترتیب سوئیچ به صورت هوشمند میتونه پاکت ها را به مقصد بفرسته . اما سوئیچ برای این کار دارای حافظه محدودی هست . فلود کردن مک از این نقطه ضعف استفاده میکنه و اونقدر سوئیچ را بمب باران میکنه (با ادرس های الکی) تا موقعی که سوئیچ نتونه اطلاعات را نگه داره . و این موقع است که میره توی حالت failOpen Mode و توی این حالت مثل یه هاب عمل میکنه و واسه اینکه بتونه اطلاعات ا ارسال کنه اونها را برود کست میکنه .حالا دیگه میشه را حت عمل اسنیف را انجام داد . این کار را میتونید با استفاده از نرم افزار MacOf که ابزاری ایت که با نرم افزار dsniff suite هماه است انجام بدین .
و اما مساله اساسی تشخیص اسنیفر ها :
یه اسنیفر معمولا همیشه توی حالت فعال کار میکنه . این اسنیفر فقط اطلاعات را جمع میکنه . به طور عمده تشخیص اسنیفر ها روی شبکه اترنت کار خیلی سختیه مخصوصا اگه روی شبکه اشتراکی باشه . اما وقتی که اسنیفر داره روی یه شبکه سوئیچ کار میکنه کار کمی آسانت میشه . وقتی که یه اسنیفر فعال میشه مقداری ترافیک را تولید میکنه . اینجا چند روش برای تشخیص اسنیف کردن اطلاعات وجود داره .
ping Method
کلکی که اینجا استفاده میشه اینه که یه دونه پاکت پینگ به آی پی ماشینی که بهش مشکوک هستین بفرستین نه به آدرس مک اون .اگر اون کامپیوتر مشکوک اسنیفر داره اونوقت به پینگ شما جواب میده . این در حالی هست که قاعدتا نباید به پاکت هایی که ادرس مک اونها بهش نمیخوره جواب بده . این روشی قدیمی است و دیگه به درد نمی خوره
ARP Method
یک کامپیوتر یه آرپ نگه میداره . پس کاری که ما میکنیم اینه که یه دونه پاکت غیر برود کست آرپ بفرستیم .کامپیوتری که توی حالت بی قاعده قرار گرفته آدرس شما رو ذخیره میکنه . بعد از اون ما یه دونه پاکت پینگ به صورت برود کست با آی پی خودمون می فرستیم اما با یه آدرس مک دیگه .تنها کامپیوتری که ادرس مک واقعی ما رو از قاب اسنیف شده آرپ داره میتونه به درخواست برود کست پینگ ما جواب بده .
On local host :
اغلب وقتی که سیستم شما دچار اشتباه شد هکر ها اسنیفر را ول می کنن . حالا میتونین با زدن یه دستور ساده روی همون سیستم که بهش مشکوک بودین بفهمین که این سیستم همونی هست که داشته اسنیف میکرده یا نه
ifconfigدستوری هست که شما بهش نیاز دارین . که اگر توی خط آخر خروجی دستور به کلمه Promisc برخود کردین بدونین که این همون سیستمه .
latency Method:
این روش بر این مبنا هست که فرض میشه اسنیفر عمل پارسینگ را داره انجام میده . پس داره اطلاعات زیادی را از شبکه میگیره و حالا اگر شما بیایین و یه حجم زیاد از اطلاعات را برود کست کنید سیستم اسنیف کننده تا بخواهد جواب بده وقت زیادی را میگیره و این تفاوت زمانی میتونه مشخص کنه که کدام سیستم در حال اسنیف قرار گرفته .
ARP watch
همانطور که گفته شد یکی از روش هایی که برای اسنیف روی یک شبکه سوئیچ انجام میشه اینه که ارپ را اسپوف کنیم . ابزاری که ARPwatch نامیده میشه استفاده میشه تا ببینه که هیچ چند تایی برای یه ماشین نباشه . یعنی واسه یه سیستم چند تا مدخل توی جدول نباشه . اگر اینطور باشه برنامه اینو تشخیص میده و هشدار میده . توی یه شبکه دی اچ سی پی این میتونه باعث هشدار های اشتباه زیادی بشه کاری که میشه انجام داد تا جلوی این مشکل گرفته بشه اینه که زمان اجاره آی پی را افزایش بدین و مثلا بذارین 60 روز .
شاید روشی که بتونه بهتون کمک کنه تا بفهمین که یکی داره شبکه را اسنیف میکنه افت شدی روی سوئیچ باشه .
گروه دور همی پارسی کدرز
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg
https://t.me/joinchat/GxVRww3ykLynHFsdCvb7eg