مبحث یکم : مقدمه و تاریخچه
مبحث دوم: مراحل نفوذ کردن / جلوگیری از نفوذ
مبحث سوم: حملات شبکه ای
مبحث چهارم - کار عملی
مبحث پنجم - DHCP
مبحث ششم - وب و حملات مطرح در آن
مبحث هفتم - حملات DoS
مبحث هشتم - سیستم عامل
مبحث نهم - مهندسی اجتماعی
مبحث دهم - Vulnerability (آسیب پذیری)

نحوه تکمیل lookup table

راهکار حمله، تکمیل کردن این جدول است . همین حمله را روی سوییچ های Catalyst انجام می دهند و جواب می گیرند . دقت کنید این جمله که ” همه تجهیزات شبکه ای را CISCO بگیرید ، بهترین کیفیت را دارد “توصیه شده نیست . توصیه شده این است که حتی از brand های مختلفی استفاده کنیم که اگر یک brand دارای یک آسیب پذیری بود روی همه نسخه های آن وارد نشود . ( این آسیب پذیری می تواند عمدا قرار داده شده باشد ) پس حواسمان به تست های مختلف (black box و …) باشد .

نحوه ی تکمیل شدن  – مرحله ی اول یادگیری سوئیچ است (شکل 18).

شکل 18

Ali به Charley پیغام می فرستد . این پیغام توسط hub به switch  و Alice ، broadcast می شود . سوییچ بسته را می بیند و این سطر را به جدول خود اضافه می کند.

Alice نگاه می کند به آدرس مقصد بسته . مقصد چارلی است پس آلیس ( خیلی خوش برخورد ) آن را drop می کند . سوییچ در حال حاضر نمی داند چارلی کجاست . پس بسته را به همه می فرستد . چارلی جواب به علی را برمی گرداند . حال سوییچ با دیدن این جواب به مبداء آن نگاه می کند این رکورد را به جدولش اضافه می کند . حال چون بسته باید به علی فرستاده شود و می داند علی کجاست آن را مستقیما به علی می فرستد .

حال آلیس می خواهد به علی پیغام بفرستد . پیغام به هاب می آید . هاب آن را به سوییچ  وعلی broadcast می کند . سوییچ سطر  A – Ali را در جدول به سطر A – Ali , Alice تغییر می دهد و با بسته کاری نمی کند و تشخیص می دهد که بسته رسیده است .

سوال : ممکن است یک بسته برای نودی بیاید که تا حالا نبوده ، Lookup table هم تکمیل شده است ( ممکن است این نود وجود داشته باشد یا نداشته باشد ) چه اتفاقی می افتد ؟ وقتی جدولش پرشد می توان روی آن protectionهای تعریف کرد که اگر یک جدول پر شد آن را fix کن آن وقت دیگر می گوید من فرد جدیدی در شبکه ندارم اما شرایط واقعی می گوید اگر یک لپ تاپ به سوئیچ وصل شد حالا Lookup table تکمیل شده باشد ، لپ تاپ من باید کار کند یا نه ؟ پس بسته را میفرستد .

بحث aging نیز در جدول مطرح است . یعنی ممکن است محتویات یک سطر از جدول اگر بعد از 10 دقیقه از آن نود پیغامی نیامد پاک شود ( سطر مربوط به آن نود ) مثلا یک زمان انقضا گذاشته می شود و بعد از سپری شدن آن زمان ، آن سطر از جدول پاک می شود . علت قرار دادن این ساختار این است که جدول خالی شود.. پس می توان سه حمله مثال زد : 1- در موقعی که lookup را تکمیل می کند. زمانی که در حال تکمیل کردن جدول look up است بیاییم و برق سازمان را قطع و وصل کنیم و شروع کنیم به Sniff کردن  . 2 – جا زدن خود جای همه  3- قبل از اینکه زمان انقضا تمام شود آن قدر بسته بفرستیم که بافرش پر شود و سوییچ دوباره دارای مشکل می شود .

  • استفاده از سوییچ تا حدی امنیت را برایمان فراهم می کند اما تکنیک هایی برای دور زدن آن وجود دارد .
  • برخی سوئیچ ها در صورت پر شدن CAM table همانند یک هاب عمل می کنند . و البته این پرشدن به سادگی انجام نمی شود (CAM) : Content Address mapping منظور همان جدول تناظر بین mac و پورت است ) ( جدولی داریم برای تناظر mac و IP که چون سوئیچ م ا لایه 3 نیست فعلا با آن کاری نداریم .)
  • همچنین می توان با جعل آدرس فرستنده ، در سوئیچ هایی با lookup table بازنویسی شونده ، سوئیچ را مطابق میل خود تنظیم کنیم .

شکل 19

Eve می خواهد به رضا پیغام بفرستد در این جا رضا نداریم  (شکل 19). سوییچ مبدا را نگاه و Eve را با سگمنت A در جدول درج می کند  ( سطر A – Eve – ).  Eveمی گوید از Alice به رضا می خواهم پیغام بفرستم ( مبدا خود را جعل می کند ) . پس سوئیچ فکر میکند که Alice هم در آن سگمنت است و به سطر قبلی Alice را هم اضافه می کند . مجددا Eve می گوید از Ali به Reza می خواهم بفرستم . سوییچ به سطر قبلی Ali  را هم اضافه می کند . حال پیغام از Ali به Alice می خواهد برود . سوئیچ می بیند : Ali آن جای قبلی نیست پس از سطر قبلی علی را حذف و سطر جدید C – Ali را اضافه می کند اما Alice همچنان در سگمنت A  است ( چون حمله کننده سوئیچ را آلودهpoison= کرده است ) پس بسته رضا به Eve رسید ( کاری که Eve کرده بود این بود که خود  را به جای همه زده بود).

توجه : می توان IP ، mac را عوض کرد .

اگر حمله بالا با قدرت و قوت انجام شود Client چیزی نمی بیند چون دسترس پذیری تحت کنترل قرار می گیرد . چون ممکن است Packet loss رخ دهد . به همین دلیل در حملات LAN  موفقیت حمله کاملا بستگی  دارد به پردازنده و کارت شبکه نفوذگر . نفوذگر برای این که چنین مشکلی پیش نیاید یعنی کسی نفهمد Packet loss رخ داده است ، می آید و دوباره جدول سوئیچ را به حالت صحیح آن تنظیم می کند.

چرا در سوئیج به این راحتی می شود sniff کرد ؟ چون خیلی خوش خیالانه پروتکل ها را طراحی کرده اند ، سوییچ گفته است ممکن است یک کامپیوتر الان به یک پورت وصل است ممکن است برود و به پورت دیگر وصل شود ممکن است همچنین یک لینک سوییچ به یک هاب متصل باشد و کلی کامپیوتر به این هاب وصل باشند حال اگر این سناریوها را سوئیچ انجام نمی داد ، سوئیچ دیگر سوئیچ نبود .

حملات Poisoning دو نوع داریم : 1- حمله ای که علیه سیستم مقصد استفاده می شود 2- حمله ای که علیه سوئیچ استفاده می شود .

در اولی جداول سیستم مقصد آلوده می شود ، دومی جداول سوئیچ را آلوده می کند ( ما در این حالت از ARP استفاده کرده­ایم) .

  • وقتی می خواهیم سایت گوگل را ببینیم چه اتفاقی می افتد؟ ابتدا با استفاده از DNS ، IP گوگل بدست می آید . چون IP گوگل با آدرس شبکه ما، match نمی شود ، از طریق قرار دادن gateway mac به gateway فرستاده می­شود. اگر در شبکه local باشد باید بداند که در شبکه محلی، mac هرکس چیست؟ و مستقیما mac فرد مورد نظر را قرار دهد . با استفاده از ARP می توان آدرس mac را بدست آورد.

تمرین : در cmd ویندوز عبارت arp –a را بزنید . شکل 20 را مشاهده کنید .

شکل 20

همانطور که می بینید آدرس های زیادی وجود دارد . چون سیستم های دیگر با آن ارتباط برقرار کرده اند و کلا بین این سیستم و سیستم های دیگر ارتباط شبکه ای برقرار شده است . مثلا ما به یک IP ، telnet زده ایم . بسته می خواست به آن IP برود ولی سوئیچینگ در لایه mac و فیزیکی انجام می شود یعنی نیاز به آدرس mac است . درشکل 1 یک  آی­پی 192.168.100.155 وجود دارد که broadcast است و mac آن نیز FF- FF-FF-FF-FF-FF است.

  • اگر wireshark را اجرا کنید کلی بسته ARP را می بینید . مثلا یک بسته ARP ایجاد کرده و در آن گفته است چه کسی صاحب فلان IP است و آن را به صورت broadcast ارسال کرده است . ( حال این فرد این IP را برای هرکاری ممکن است خواسته باشد ، telnet ، دیدن web ، ssh و …) . همین جا ممکن است یک حمله دیگر اتفاق افتد . کسی خود را جای دیگری بزند و یک پاسخ نادرست به درخواست ARP ارسال کند و بگوید آن کسی که به دنبالش هستی من هستم. پاسخ یک بسته ARP شامل mac آن IP درخواست شده است ) .

حالا می توان این IP و macها را تغییر داد و منجر به انجام حملاتی شد .

اگر mac سیستم من با سیستم یک نفر دیگر یکسان باشد ( فرض سوئیچ لایه 3 نیست و Port Security نداریم ) سیستم کار می کند به هر دو بسته را نمی دهد به هر کدام که سریعتر جدولش را به روزرسانی کرده باشد می دهد . یعنی سوییچ فکر می کند که این فرد دائما جای خود را بین دو پورت عوض می کند ( جدول را به روزرسانی می کند ) . اگر IP ها یکسان باشد چه اتفاقی می افتد ؟ ( mac متفاوت ) می شود یک کامپیوتر . اگر هم IP و هم mac یکسان باشد ؟ Conflict انجام نمی شود دوباره مثل حالت اول می شود ( فکر می کند دائما در حال جابه جا شدن است ). Conflict زمانی رخ می دهد که مکان دو سیستم را بداند که متفاوت است اما IP هایشان یکسان باشد .

  • در صورتی که Port Security فعال باشد اگر از یک پورت به پورت دیگر جا به جا شویم دیگر نمی توانیم ارتباط برقرار کنیم .
  • برای مثال یک حمله می تواند این گونه باشد که تا می توانیم جدول arp خود را با برقراری ارتباط با جاهای مختلف ( دریک شبکه ) پرکنیم و IPهای مختلف را ببینیم سازمان ها از میان این IPها ، غالبا آی­پی 192.168.100.1 یا 192.168.100.10را برای server ، gateway و … قرار می دهند حال می توان mac و IP خود را یکی از IPهای بالا ( که مطمئن شده ایم برای ما نفع دارند) قرار می دهیم ( یکی از این نفع ها این است که مثلاً آی­پی 192.168.100.1 به اینترنت وصل است پس ما هم می توانیم به اینترنت وصل شویم!). راهکار جلوگیری از این کار دفاع در عمق است . مثلا login به ازای اتصال به اینترنت را می توان انجام داد. در مثال بالا اگر برنامه ای که login برای دسترسی به اینترنت را انجام می داد مبتنی بر IP و mac می­بود بعد از انجام یک login موفق ( فرض کنید ما account اینترنت 1 ساعته را داشتیم ) دیگر چون دارای IP و mac فردی هستیم که دسترسی نامحدود به اینترنت دارد ، نامحدود می توانیم از اینترنت استفاده کنیم .
  • به تکنیک قبلی ( که Sourceها را جا می زدیم ) Switch Port Stealing می گویند . یعنی می گویم که تمام  پورت های سوئیچ خودم هستم .
  • با توجه به تغییر پذیر بودن محتویات look up table توسط Alice و Ali، نفوذگر (Eve) می بایست سرعت لازم در مسموم کردن (Poisoning) این جدول را داشته باشد .
  • تکنیک های دیگری نیز علیه سوئیچ ها به کار گرفته میشود که از آن جمله می توان به تکنیک CAM table flooding اشاره نمود CAM table سوئیچ که پر شود ، سوئیچ مثل hub عمل می کند . از ابزاری به نام hping می توان برای CAM table flooding استفاده نمود .
  • تحقیق : درباره ی حمله APR تحقیق کنید .
  • یکی دیگر از تکنیک هایی که در حمله علیه شبکه ها به کاربرده می شود تکنیک ARP Cache Poisoning نامیده می شود .
  • این تکنیک با توجه به ساختار پروتکل ARP و ضعف برخی سیستم های عامل در مدیریت اطلاعات آن می تواند موثر واقع شود .

مثلا سیستم شما وقتی بسته ای از آن عبور می کند نگاه می کند به اینکه مبدأ آن چه کسی است . IP آن چیست  و این اطلاعات را برای خود نگاه می دارد برای اینکه mac address کاملی داشته باشد . آدرس mac و IP مبدا را برای خود نگه می دارد .

  • اساس کار این تکنیک نیز بر تغییر دادن دلخواه محتویات جدولی در سیستم قربانی استوار است .

Back track

راه کار تمرین کردن مباحث : یکی از روش های که برای کار کردن استفاده می شود استفاده از VMware است . VMware یک شبیه سازی سخت افزاری را برای ما انجام می دهد مثلا می توانیم در آن تنظیم کنیم چه مقدار حافظه ، پردارنده و … می خواهیم . می­توانیم هر سیستم عاملی که خواستیم روی آن نصب کنیم . پس یک راهکار این است که VMware را نصب کنید ، چند سیستم عامل مختلف برروی آن نصب کنید ، back track را هم روی آن قرار دهید .

Back track ابزاری است که ابزارهای مورد نیاز برای hacking ، Pen. test را در خود دارد . توزیع های دیگری هم به غیر از back track وجود دارند که معروفترین و پرکاربردترین آن back track است . روی توزیع های ایرانی هم در حال کار شدن است.

شکل (21) اجرای back track را نشان می دهد که پیغام هایی است که کرنل در حال شناسایی یک سری از موارد است .

شکل 21

در آن Login می کنیم . غالبا نام کاربری پیش فرض آن root و پسورد آن toor است ( یادآوری root ، به administrator user در لینوکس گفته می­شود). در محیط back track  می توانیم text mode کار کنیم . مثلا می توان از ابزارهای مختلف آن استفاده کرد . همچنین می توان به محیط گرافیکی آن رفت و این کار با استفاده از دستور startx انجام می شود . در محیط گرافیکی ، یک سری منو در بالای صفحه وجود دارد . مثل منوی Application که در ان مواردی مثل Accessories ، Backtrack ، Internet ، offline و … وجود دارد .

شکل 22

میتوان مانند یک سیستم عمومی با آن کار کرد می توان همچنین از منوی backtrack  می­توان با ابزارهای خود backtrack کار کرد ( شکل 22). مثلا ابزارهای information Gathering ،Vulnerability Assessment ( بررسی آسیب پذیری ) ، Exploitation test ، Privilege Escalation ( بالا بردن سطح دسترسی ) وجود  دارند. هرکدام از مراحلی که در hacking مطرح می شود ابزارهای آن را دسته بندی کرده است . ابزار Monitoring Access ( حفظ دسترسی که ماnet cat  را معرفی کردیم ) .

DOS را تحت عنوان Stress Test ها مطرح می کنند . انواع test ها وجود دارد یکی از تست هایی که درباره برنامه ها انجام می شود stress test است. با استفاده از این آزمون بررسی می کنند که آیا سیستم درست کارمی کند یا نه. سیستم سروری که طراحی می شود بایت تست stress آن قبول شده باشد تا بتواند به عنوان سرور ارائه شود باید در بار ترافیک بالا بتواند به درستی جوابگو باشد تا بتواند به عنوان سیستم سرور مطرح شود .

در قسمت Services نیز میتوان یک سری از سرویس ها مثل وب سرور ، SSH و … را راه اندازی کرد .

مثلا دربحث Exploitation > Network …. دارای ابزارهایی مثل Cisco  Attack ، Metasploit framework و … است. Metasploit(MSF) یک frameork است که با استفاده از آن می توان نفوذ را انجام داد . در قسمت Open Source Exploitation ، Exploit – DB و آرشیوهای آنلاین را دارد . در قسمت Social Engineering نیز ابزارهایی برای مهندسی اجتماعی وجود دارد .کاری که این ابزار می کند این است که شما یک سری مطالب که می خواهید در نامه وجود داشته باشد را به آن می دهید .آن ابزار طوری کلمات را در کنار هم می چیند که بتوان Admin یک سیستم را فریب داد . مثلا یک لینک اشتباه در نامه قرار می دهند و طوری وانمود می کند که حتما آن لینک بازدید شود .

درقسمت Privilege Escalation، قسمت Snifferها Network Sniffer ، Sniffer های مختلفی از جمله wireshark وجود دارند که اگر wireshark را اجرا کنید همان wireshark که قبلا دیده بودیم را می آورد . ابزار دیگری که زیاد استفاده میشود ethercap است که حملات Poison را انجام می دهد ( با استفاده از تغییر بسته و ارسال سریع آن ها برای آلوده نگه داشتن جدول )

  • تغییر mac address: بستگی به قابلیت هایی که سیستم عامل در اختیارتان قرار می دهد می توانید آدرس mac کارت شبکه خود را عوض کنید. برای این کار در ویندوز seven وارد قسمت Network Connection می شویم (شکل 23).

شکل 23

  • سپس بر روی Local Aria Connection  راست کلیک کرده و گزینه Properties را انتخاب می کنیم  . در پنجره باز شده گزینه Configure را زده و در پنجره باز شده به برگه Advanced می رویم و در لیست موجود مورد Locally Administrated Address را پیدا می کنیم آن را انتخاب کرده و درسمت راست پنجره آدرس دلخواه خودرا وارد میکنیم ( به صورت پشت سرهم و بدون هیچ جداکننده ای بین اعداد ( توجه : اینکه بگوییم mac ثابت است برای قدیم بوده ! الان خیلی راحت به طور عادی می توان  mac را عوض کرد و نیاز به ابزار وحشتناکی نیست . )

با عوض کردن mac سیستم مان می شود سیستم کسی که mac آن را برداشتیم . می توانیم IP آن فرد را نیز IP خود قرار دهیم . اگر مثلا 4.2.2.4 را ping کنیم می بینیم دسترسی به اینترنت هم داریم . البته یک مقدار سیستم هم کند میشود ( بستگی به به روزرسانی انجام شده در سوئیچ دارد ). حال اگر IP خود را عوض کنیم ، آیا Conflict به وجود می آید ؟ خیر ، انگار یک کامپیوتر دو IP دارد . اگر IP خود را به IP دیگر عوض کنیم باز هم می بینیم که دسترسی به اینترنت داریم .

اسکرول به بالا