570 likes | 837 Views
کارگاه امنیت شبکه های کامپیوتری. تکنیکهای آزمون نفوذ ارائه دهنده : میلاد شونددشت دانشجوی کارشناسی ارشد مهندسی فناوری اطلاعات گرایش شبکه دانشگاه پردیس بین الملل گیلان. فهرست مطالب. آشنایی با مفاهیم اولیه و کلی در خصوص ارزیابی امنیتی شبکه ها
E N D
کارگاه امنیت شبکه های کامپیوتری تکنیکهای آزمون نفوذ ارائه دهنده : میلاد شونددشت دانشجوی کارشناسی ارشد مهندسی فناوری اطلاعات گرایش شبکه دانشگاه پردیس بین الملل گیلان
فهرست مطالب آشنایی با مفاهیم اولیه و کلی در خصوص ارزیابی امنیتی شبکه ها آشنایی با استانداردها و متدولوژی های موجود آشنایی با روش های مختلف بررسی امنیتی آشنایی با مراحل مختلف انجام بررسی امنیتی آشنایی با ابزارهای مختلف و تکنیک های مختلف نفوذ
امنیت در شبکه سه اصل مهم در هر سيستم حفظ • (Confidentiality) • (Integrity) • (Availability) در هر شبکه به خطر افتادن يک يا تمامی اين موارد، بصورت مستقيم و يا غير مستقيم منجر به اختلال در سيستم يا چرخه کاری سيستم خواهد شد هدف از برقراری امنيت، محافظت از اين سه اصل و در نتيجه تضمين پايداری سيستم و چرخه های کاريست
تهدیدات امنیتی رایج تقسيم بندی از نظر منشاء حمله حملات و تهديدات از داخل شبکه • پرسنل ناراضی،کنجکاو، ناآگاه • پيمانکاران وارد شده به مجموعه • افراد ناشناس وارد شده به مجموعه که به شبکه دسترسی دارند • تروجان ها، ويروس ها و کرم های رايانه ايی حملات و تهديدات از خارج شبکه سازمان • ويروس ها و کرم های رايانه ايی • پرسنل يا مديران شبکه خارج شده از مجموعه • رقبای تجاری و کاری • نفوذگران بدون هدف مشخص؛ افرادی که از سر تفنن اقدام به تلاش برای نفوذ می کنند • نفوذگران دارای هدف مشخص؛ افرادی که به دنبال اطلاعات خاصی از (شبکه) مجموعه شما هستند
تهدیدات امنیتی رایج تقسيم بندی از نظر هدف حمله • از کار انداختن سرويس ها و ايجاد اختلال عمدی • دسترسی به اطلاعات و داده های ارزشمند • تخريب وجهه اجتماعی، سياسی • ساير موارد )ويروس های مزاحم و بدون هدف خاص( تقسيم بندی از نظر نحوه گسترش حملات • خودکار و گسترده (ويروسها، کرم های اينترنتی) • غير خودکار و موردی (اقدام به نفوذ توسط هکرها) برخی از مهم ترين علت های بروز تهديدات امنيتی • بروز نبودن سيستم ها و نرم افزارها (عدم نصب اصلاحيه های امنيتی) • تنظيمات اشتباه يا نا امن پياده سازی شده در سيستم ها و نرم افزارها • کلمات عبور ضعيف و قابل حدس • عدم استفاده از نرم افزارهای آنتی ويروس، بروز نبودن آنها و يا نا کارآمد بودن نرم افزار • ورود و خروج کنترل نشده اطلاعات و نرم افزارها در شبکه و سيستم ها
مشکلات رایج در شبکه های بزرگ و گسترده -گستردگی شبکه و تنوع سرويس ها سبب می شود که استفاده از نرم افزارهای جانبی و سرويس های فعال در شبکه از کنترل خارج گردد و نظارتی بر آنها وجود نداشته باشد -شبکه عملآ توسط پيمانکارانی که نرم افزارها و سخت افزارهای آنها در شبکه پياده سازی شده، هدايت می گردد. -دغدغه اصلی و اوليه مديران شبکه، کارکرد صحيح سيستم ها و راضی نگه داشتن پرسنل می باشد -در اغلب موارد از نرم افزارهای قفل شکسته و بدون لايسنس استفاده می گردد = عدم بروز رسانی مديران شبکه )عمومآ با مشکلات زيادی در دريافت بودجه برای مصارف امنيتی مواجه هستند ( -امنيت سيستم ها و سرويس ها تا زمانی جدی گرفته می شود که بار مسئوليت و مديريتی ايجاد نکرده و اختلال و سختی در کارها ايجاد نکند -در بسياری از موارد تنها نام يک محصول امنيتی در بستر شبکه به چشم می خورد، اما درعمل همه کارايی و قابليت های آن مورد استفاده قرار نمی گيرد -بدليل عدم استفاده از تنظيمات بهينه، حجم اخطارها و پيغام های توليد شده توسط راهکارهای امنيتی آنقدر زياد است که ناديده گرفته می شود -حتی در صورت بهينه بودن تنظيمات، نيروی متخصص برای تحليل رويداد های ثبت شده وجود ندارد -روال پيچيده اداری در بسياری از سازمانها، پياده سازی امنيت در سطح گسترده را بسيار زمانبر و مشکل می کند
مشکلات رایج در شبکه های متوسط و کوچک • مجموعه ايی کوچک از سيستمها در حد به انجام رسيدن کارهای مجموعه به هم متصل شده اند • سيستم های پرسنل بدليل نوع محيط دارای اعتمادی کاذب به يکديگر هستند • کسی بصورت مجزا و اختصاصی به امنيت سيستم ها فکر نمی کند • معمولا مديريت يکپارچه در شبکه و جود ندارد و سيستم ها بصورت جزيره ايی کنترل می شوند • راهکارها و روش های امنيتی بصورت سليقه ايی مورد استفاده قرار می گيرند • بدليل کوچک بودن مجموعه ، خريد راهکارهای امنيتی پيشرفته ممکن است مقرون به صرفه نباشند (حتی در صورتی که به آنها نياز باشد) • حتی در صورت خريد اين قبيل تجهيزات، نيرويی فنی برای استفاده صحيح از آنها وجود ندارد • در اغلب موارد از نرم افزارهای قفل شکسته و بدون لايسنس استفاده می گردد ( عدم بروز رسانی) • بدليل عدم دسترسی به اينترنت با سرعت بالا و مناسب، کاربر عمومآ تمايلی به بروز رسانی نرم افزارها يا سيستم عامل ندارد
معرفی انواع رايج راهکارهای های امنيتی برخی از راهکارهای امنيتی که بيشتر شناخته شده اند • نرم افزارهای آنتی ويروس • سيستم های سخت افزاری يا نرم افزاری Firewall • سيستم های تشخيص مقابله با نفوذ (IDP) • راهکارهای مديريت اصلاحيه های امنيتی • راهکارهای جمع آوری، ثبت و مديريت رويداد ها • راهکارهای ارتباطی امن (VPN) در تمامی اين موارد، تکيه برا استفاده از ابزار يا نرم افزاری خاص وجود دارد موارد ذکر شده تنها راهکارهای موجود و قابل استفاده نيستند از ديدگاه ها و روش های ديگری نيز می توان امنيت را بهبود داد
آنچه شما با خريد نرم افزار يا سخت افزار به آنها نخواهيد رسيد • راهکاری برای ايجاد و اعمال روال های امنيتی • راهکاری برای امن سازی تنظيمات سيستم های موجود • راهکاری برای استفاده بهينه از نرم افزارها و سخت افزارهای امنيتی • راهکاری برای محکم سازی سرويس ها و نرم افزارهای موجود • راهکاری که متناسب با شرايط، امکانات و بودجه شما برنامه ايی را برای پياده سازی امنيت ارائه کند • و در نهايت هرآنچه برای دستيابی به آن تجربه و تخصص فردی نياز است
معرفی انواع سرويس های امنيتی رخی از فروشندگان محصولات امنيتی از ادعاهايی خلاف واقع برای تبليغ محصولات خود استفاده می کنند انواع سرويس های امنيتی • بازبينی و طراحی ساختار شبکه بصورت امن • (Hardening) بازبينی تنظيمات و اعمال تنظيمات امن • (Vulnerability Assessment) ارزيابی امنيتی شبکه و سيستمها • (Penetration Test) آزمون نفوذ پذيری • (Security Audit) ارزيابی امنيتی تنظيمات پياده سازی شده • (Managed Security) مديريت امنيت سيستم های فعال • (Incident Response) بازيابی از رخدادهای امنيتی • طراحی و پياده سازی روال ها و قوانين امنيتی • آموزش و فرهنگ سازی امنيت
ارزیابی امنیتی و تست نفوذ پذیری اهداف آزمون نفوذ • اطمينان از صحت پيكربندي امنيتي سيستمها • اطمينان از به روز بودن سيستمها و رايانه ها • اطمينان از ايمني در مقابل آخرين آسيبپذيريها • يافتن نقاط ضعف، پيش از سوء استفاده مهاجمان از آنها • كاهش هزينه هاي ترميم، با كاهش مخاطره نفوذ مهاجمان
جنبههاي مختلف يك آزمون نفوذ • پويش شبكه • پويش آسيبپذيريها • آزمون گذرواژهها • آزمون رويدادنامهها • آزمون بررسي جامعيت • آزمون برنامههاي مخرب • آزمون كنترلهاي امنيتي • آزمون حملات از كاراندازي خدمات
جنبههاي مختلف يك آزمون نفوذ • آزمون War Dialing • آزمون War Driving • آزمون نفوذ واقعي با انجام ارزيابي امنيتي در مراحل فوق، نقاط آسيبپذيري موجود كشف، علت بروز آنها مشخص و چگونگي برطرف كردن يا كاهش مخاطرات آنها گزارش ميشود اين گزارش كمك فراواني به مدير سازمان در توليد، توسعه و مستندسازي سياستهاي امنيتي يك سازمان خواهد نمود
آشنایی با مفاهیم ، اصول ، استانداردها آشنایی با روش های مختلف ارزیابی امنیتی شبکه مدیریت امنیتی و ممیزی (Network Security Audit) پویش و بررسی شبکه برای شناسایی نقاط ضعف (Vulnerability Assessment) آزمون نفوذپذیری (Penetration Test)
آشنایی با روش های مختلف ارزیابی امنیتی شبکه : مدیریت امنیتی و ممیزی (Network Securitu Audit) بررسی تهیه و پیاده سازی قوانین امنیتی تغییر و اصلاح قوانین موجود در صورت لزوم بازرسی صحت وکیفیت پیاده سازی قوانین بازرسی فنی تنظیمات و قوانین اعمال شده بازرسی روال ها و پروسه های انجام عملیات از دید امنیتی
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :شناسایی نقاط ضعف یا Vulnerability Assessment نیازمند تسلط ارزیاب بر موارد تحت بررسی انتخاب محدوده انجام بررسی بررسی شبکه عمومی (External Test) بررسی شبکه داخلی ( Internal test) انتخاب جزئیات بررسی بررسی کلیه سیستم ها و سرویس های قابل شناسایی بررسی سرور(host) ها و یا سرویس های خاص (Web,DB,…) انتخاب سطح و نوع دسترسی برای انجام بررسی بررسی با اعتبار و دسترسی مجاز (Authenticated) بررسی بدون داشتن دسترسی (Unauthenticated)
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :شناسایی نقاط ضعف یا Vulnerability Assessment روش های انجام بررسی ؛ مزایا و معایب بررسی خودکار (Automated) استفاده از ابزارها و اسکریپت های بهینه شده سرعت بالا + دقت کم = کیفیت پائین عدم نیاز به نیروی متخصص بررسی دستی (Manual) استفاده از ابزارهای کمکی و تخصصی در کنار تجربه سرعت پائین + دقت بالا = کیفیت بالا وابسته به نیروی متخصص ترکیب روش های Automated و Manual دستیابی به حداکثر بازدهی ممکن برخورداری از ویژگی های هر دو روش تعادل میان سرعت و کیفیت مناسب
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :شناسایی نقاط ضعف یا Vulnerability Assessment قوانین کلی بررسی اقدام به بررسی و شناسایی ضعف های شناخته شده عدم ایجاد وقفه اختلال در عملکرد سیستم ها (Safe Checks) صرفآ شناسایی ضعف ها و عدم استفاده از آنها بررسی و آزمایش حملات DoS و Overflows انتخاب روش پیشبرد انجام و تکمیل بررسی بر اساس راهکارها و متد های شخصی /مختص گروه ، شرکت یا سازمان بر اساس استاندارد ها و Framework های موجود
(Vulnerability Assessment) ارزيابی امنيتی شبکه و سيستم ها شرايط موجود • چند درصد از شما پيش از اين با مشکلات امنيتی در شبکه خود مواجه بوده ايد؟ • چند درصد از شما واقعآ از وضعيت امنيتی شبکه خود (بصورت فنی) آگاه هستيد؟ • چند درصد از شما بصورت منظم امنيت سيستم های خود را (به هر شکل) ارزيابی می کنيد؟ • چند درصد از شما بعد از ارزيابی امنيتی، استفاده موثری از خروجی آن داشته ايد؟ • تحليل خروجی روال ها و ابزارهای ارزيابی امنيتی نيازمند آگاهی کامل و شناخت دقيق انواع تهديدات امنيتی و مشکلات فنی است چيزی که کمتر مدير شبکه ايی فرصت درگير شدن با آن را دارد راهکارهايی که در اين سرويس ارائه می شود • استفاده از متدولوژی ها و ابزارهای بروز، کامل و استاندارد، برای ارزيابی وضعيت امنيت شبکه • بررسی سيستم ها از زوايای مختلف، برای آگاهی و بررسی دقيق تر شرايط موجود • شناسايی نقاط ضعف امنيتی موجود در تنظيمات و نسخ نرم افزارها و سرويس های مختلف شبکه • تهيه گزارشی دقيق و جامع از مشکلات امنيتی، که مشخص کننده اولويت ها و نيازهای شما از ميان راهکارها و سرويس های امنيتی است
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) لزوم دانش فنی ، تخصص و تجربه انجام دهنده تست محدوده های انجام بررسی گسترده تر و دقیق تر از محدوده های رایج انجام VA سطح دانش فنی و انگیزه نفوذگر( Skills And Motivations) شبیه سازی حملات ابتدایی (Script Kiddies) شبیه سازی حملات پیشرفته ولی بدون اهداف خاص شبیه سازی حملات از پیش طراحی شده و هدفمند
(Penetration Test) آزمون نفوذ پذيری شرايط موجود • مستندات امنيتی شبکه ها (در صورت وجود!) معمولآ دارای تفاوت زيادی با آنچه واقعآ وجود دارد هستند • حتی در صورت استفاده از راهکارهای امنيتی،ارزيابی امنيتی و پس از آن محکم سازی، نمی توان مطمئن بود که همه چيز طبق ميل ما پياده سازی شده است • تنها راه اطمينان از اين مورد، به چالش کشيدن امنيت سيستم ها و شبکه است • به چالش کشيدن امنيت، نيازمند تخصص و تجربه و مهارت می باشد. چند درصد از مديران حرفه ايی شبکه در اين خصوص اطلاعاتی دارند ؟! • در واقع يک شبيه سازی استاندارد و کامل است از آنچه هکرها انجام می دهند تا به سيستم های شما نفوذ کنند • حتی امن ترين شبکه ها و سيستم ها نيز در خلال اين تست نقاط ضعفی را هرچند جزئی نمايان خواهند کرد! • شما نمی توانيد به هکرها اطمينان کنيد، يا از آنها انتظار کمک داشته باشيد! راهکارهايی که در اين سرويس ارائه می شود • قبل از اينکه ديگران به سيستم های شما نفوذ کنند، خود به آنها نفوذ می کنيد! • پياده سازی حملات واقعی به شبکه و سيستم ها، توسط متخصصين با تجربه و قابل اطمينان • تست و بررسی کليه اجزای سيستم ها و شبکه بر اساس متدولوژی های استاندارد و کامل • مستند سازی نقاط ضعف شناسايی شده و کشف روش های ممکن برای نفوذ به شبکه ها و سيستم های شما • آگاهی از اينکه راهکارهای امنيتی مورد استفاده در شرايط واقعی تا چه ميزان کارآمد هستند
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) انواع روش های Penetration Test Black-Box تست و نفوذ بدون در اختیار داشتن هرگونه اطلاعاتی از هدف تنها نام شرکت ، یک آدرس اینترنتی ویا محدوده IP در اختیار قرار میگیرد شبیه سازی حمله یک نفوذگر که اطلاعات زیادی در مورد هدف ندارد White-Box درخواست کننده تست اطلاعات کلی را در اختیار قرار میدهد نوع سیستم های بکار رفته مانند بانک های اطلاعاتی ، وب سرور ها ، طراحی کلی شبکه ، سیستم های حفاظتی بکار رفته مانند Firewall ، IDS و شبیه سازی حمله یک نفوذگر که اطلاعات کاملی راجع به هدف خود دارد مراحل کلی انجام تست تست اولیه بدون در اختیار داشتن هرگونه دسترسی مجاز به سیستم تست ثانویه در اختیار داشتن دسترسی و یا نام کاربری معتبر در شبکه هدف
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) انتخاب شدت حملات و تست غیر مخرب ( Non Distractive) پویش و بررسی هدف برای شناسایی نقاط ضعف آنالیز یافته ها و تدارک برای نفوذ بکمک ضعف های شناسایی شده استفاده از آسیب پذیری ها برای نفوذ ، با حفظ پایداری سیستم ها عدم آزمایش و استفاده از حملات DoS مخرب ( Destractive ) پویش و بررسی هدف برای شناسایی نقاط ضعف آنالیز یافته ها و تدارک برای نفوذ بکمک ضعف های شناسایی شده کلیه روش های احتمالی و ممکن حمله و نفوذ از جمله حملات DoS بررسی و آزمایش میگردد
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) انتخاب دامنه انجام تست سیستم های قابل دسترسی از طریق اینترنت تجهیزات و دامنه DMZ شبکه سیستم های بانک اطلاعاتی تجهیزات و شبکه Wireless شبکه قابل دسترسی از طریق Dialup شبکه Intranet / Extranet ترمینال های VPN, Remote Access فاکتور انسانی و حملات Social Engineering سیستم های تحت وب Web Applications نرم افزارهای خاص مورد استفاده
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) مشخص کردن محدودیت ها در انجام تست استفاده یا عدم استفاده از Backdoors / Trojans استفاده یا عدم استفاده از Rootkit ها استفاده / عدم استفاده از حملات DoS استفاده / عدم استفاده از ضعف های ناشناخته Zero-Day Attacks تلاش برای کشف و استفاده از ضعف های ناشناخته در سیستم ها و نرم افزار های اختصاصی هدف تلاش برای کشف و استفاده از ضعف های ناشناخته در سرویس ها و نرم افزارهای عمومی تلاش /عدم تلاش برای مخفی ماندن از دید سیستم های تشخیص نفوذ تلاش /عدم تلاش برای حذف رد پا ها (Covering tracks
آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test) روش های تست نفوذ ؛ مزایا و معایب خودکار (Automated) استفاده از ابزارهای خودکار و پیشرفته برای پویش، بررسی و درنهایت نفوذ به سیستم ها و تولید گزارش محدود به قابلیت های نرم افزار و کاربر آن هزینه پایین نسبت به سایر روش ها Core Impact , Immunity Canvas , SAINT Exploiter , Metasploit Framework غیر خودکار ( Non Automated) شخص یا گروه بکمک ابزار ها و تکنیک های موجود اقدام به بررسی و نفوذ به هدف مینمایند محدود به قابلیت ها ، امکانات و تخصص تیم بررسی کننده هزینه نسبتآ بالا در مقایسه با روش Automated
جمع آوري اطلاعات دسترسي به سرويس ها و سيستم ها ارتقاع دسترسي ها Fingerprinting & Foot printing ارزيابي شبكه بررسي / فراراز قوانين فايروال پويش پورت ها و شناسايي سرويس ها جستجوي دستي و خودكار براي شناسايي آسيب پذيري ها تهيه و تنظيم گزارش نهايي و ارائه آن استفاده از آسيب پذيري ها حملات DoS آشنایی با روش های مختلف ارزیابی امنیتی شبکه :تست نفوذپذیری (Penetration Test)
آشنایی با استانداردها و متدولوژی های موجود Framework های بررسی امنیتی موجود OSSTMMwww.isecom.org شامل عنوان هایی که میبایست در بررسی لحاظ گردد فاقد اطلاعات فنی در مورد نحوه انجام بررسی ISSAFwww.oissg.org قابل استفاده بعنوان مرجع برای انجام بررسی های امنیتی شامل اطلاعات فنی و راهکارها و روش های انجام بررسی OWASPwww.owasp.org متمرکز بر بررسی امنیت سیستم های تحت وب شامل اطلاعات فنی و ابزارهای تخصصی تهیه شده NIST (csrc.nist.gov ) نسخه قدیمی SP 800-42 نسخه جدید SP 800-115 http://csrc.nist.gov/publications/PubsDrafts.html تمرکز بر توضیح ومعرفی روش های انجام بررسی
مراحل مختلف انجام بررسی امنیتی : Information gathering & Foot printing Scanning Enumeration System hacking Trojans and Backdoors Sniffing Session Hijacking Denial of Service Social Engineering Hacking Web Applications Hacking Database systems Hacking Wireless Networks Covert Channels Physical Security Documentation and Reporting
آشنایی با مراحل مختلف انجام بررسی امنیتی :جمع آوری اطلاعات (Information Gathering) • هدف از جمع آوری اطلاعات • آشنایی با هدف و شناسایی حوزه فعالیت های آن • شناسایی مدخل های مختلف و احتمالی دسترسی به هدف • شناسایی اشخاص شرکت های مرتبط با هدف • شناسایی تکنولوژی های بکار رفته در شبکه توسط هدف • شناسایی پرسنل هدف و آشنایی با خصوصیات آنها • بدست آوردن محدوده های آدرس مرتبط با شبکه هدف • بدست آوردن شماره های تلفن (و Dialup ) مرتبط با هدف • بدست آوردن هرگونه مستندات فنی در خصوص شبکه هدف • بدست آوردن و مطالعه هر نوع سندی که منجر به افزایش آگاهی ما از هدف گردد. • تهیه لیستی از اهداف ، برای استفاده در مراحل بعدی • اهمیت انجام صحیح و کامل این مرحله • انواع کلی روش های جمع آوری اطلاعات • جمع آوری نا محسوس و غیرفعالانه (Passive) • جمع آوری فعالانه اطلاعات (Active) Penetration Testing & Ethical Hacking
آشنایی با مراحل مختلف انجام بررسی امنیتی :جمع آوری اطلاعات (Information Gathering) • جمع آوری اطلاعات بصورت غیرفعال Passive مطالعه و مرور وب سایت های مرتبط با هدف • استفاده از موتورهای جستجوبرای شناسایی جزئیات • مراجعه به وب سایت های مرجع • بدست آوردن اطلاعات اشخاص • بدست آوردن اطلاعات در خصوص دامنه ها و محدوده IP • بدست آوردن اطلاعات در خصوص وب سرور ها • شناسایی دامنه های عمومی شبکه هدف بصورت غیرفعال • شناسایی دامنه های خصوصی شبکه هدف بصورت غیرفعال Penetration Testing & Ethical Hacking
جمع آوری اطلاعات (Information Gathering) :جمع آوری اطلاعات بصورت غیرفعال (Passive) • آشنایی با Google Hacking • Google Hacking for Penetration Testers • Google Hacking cheat sheets • پارامترهای پرکاربرد : • (sitedate,link,related,intitle,allintitle,inurl,allinurl,filetype,ext,cache,intext) • ترکیب پارامترها : • (AND , OR , “ | “ , “ + “ , “ – “ , “” • Google Code Search • Google MAP/Google Earth • Google APIs • جمع آوری اطلاعات از منابع مختلف • لیست های پستی Mailing Lists • گروه های خبری News Groups • فروم های اینترنتی و وبلاگ ها • اجتماع های اینترنتی مانند Orkut ,Facebook • آگهی ها و فرم های استخدام نیرو • رزومه شرکت های فعال در زمینه IT ! • جمع آوری اطلاعات ازمنابع و سایت های مرجع • سایت های whois ( RIPE , ARIN(.., • سایت های ثبت اطلاعات IP ( www.whois.sc ) (www.domainsdb.net • سایت های ثبت پیشینه ( www.archive.org( • سایت های ثبت جزئیات فنی ( www.netcraft.com( Penetration Testing & Ethical Hacking
جمع آوری اطلاعات (Information Gathering) :جمع آوری اطلاعات بصورت غیرفعال (Passive) • ابزارها و اسکریپت های مربوطه • Google! • Dns-enum.pl ( SensPost) • شناسایی زیردامنه ها بکمک اطلاعات Google • BiLE.pl & BiLE-Weigh.pl (SensPost) • شناسایی سایت های مرتبط با هدف بکمک Google • Google-enum.pl • استخراج ایمیل های مربوط به یک دامنه • Maltego ( Former Patreva-Evolution) • جمع آوری اطلاعات مرتبط با هدف تنها با استفاده از منابع مختلف آنلاین مانند محدوده IP , دامنه ها و زیر دامنه ها , آدرس های ایمیل ، شماره های تلفن ، سایت های مرتبط ، کلید های عمومی رمزنگاری ، ... • *Spiderfoot(برخی از قابلیت ها بصورت Passive عمل نمیکنند !) • جمع آوری اطلاعات مرتبط با هدف تنها با استفاده از منابع مختلف بصورت Passive و Active مانند محدوده IP , دامنه ها و زیر دامنه ها , آدرس های ایمیل ، سایت های مرتبط ، نسخه وب سرورهای شناسایی شده • SmartWhoIs و ابزارهای مشابه • استخراج اطلاعات رجیستر شده مربوط به آدرس های IP و نام های دامنه ها • … Penetration Testing & Ethical Hacking
آشنایی با مراحل مختلف انجام بررسی امنیتی :جمع آوری اطلاعات (Information Gathering) • جمع آوری اطلاعات بصورت فعال Active • استفاده از خروجی مرحله قبل Passive • اقدام به تآئید یافته های مرحله قبل (Passive) از قبیل محدوده آدرس ها ، (زیر)دامنه ها ، ایمیل های شناسایی شده ، شماره های تلفن ، نرم افزارها و نسخه های آنها و • اقدام به ارسال درخواست و استخراج اطلاعات از منابع شناسایی شده ، بصورت فعال و با درخواست مستقیم اطلاعات از شبکه هدف • استخراج زیر دامنه های (Sub-Domains) خصوصی و عمومی • اقدام به کشف و شناسایی توپولوژی شبکه هدف • اقدام به کشف و شناسایی سیستم ها , سرویس ها و پروتکل های فعال *Scanning • استخراج اطلاعات کاربران از منابع در دسترس *Enumeration • استخراج اطلاعات از منابع انسانی • اقدام به کشف شماره های جدید Dialup ( (War-Dialing • اقدام به بررسی موقعیت فیزیکی و امکان سنجی ( در صورت نیاز به بررسی امنیت فیزیکی ( • اقدام به شناسایی و تآئید وجود شبکه های بیسیم War-Driving & Wireless site survey • اقدام به پیاده سازی حملات مهندسی اجتماعی (Social Engineering) برای کسب اطلاعات • اقدام به کشف منابع و روش های دسترسی جدید و تکرار حلقه جمع آوری اطلاعات Penetration Testing & Ethical Hacking
جمع آوری اطلاعات (Information Gathering) :جمع آوری اطلاعات بصورت فعال (Active) • استخراج زیر دامنه های (Sub-Domains) خصوصی و عمومی • تمرکز این مرحله ، استخراج هرچه بیشتر اطلاعات از طریق پروتکل DNS و استفاده از NS های شناسایی شده در طول مراحل قبل میباشد • آشنایی با انواع رکورد های DNS • A : رکورد آدرس IP هر Host در DNS • MX : مبادله کننده ایمیل های Host یا دامنه • NS : سرور DNS دامنه یا Host • SOA : مشخص کننده Authority of Domain • SRV : رکورد حاوی موقعیت سرویس ها • RP : رکورد حاوی نام شخص مسئول دامنه یا Host • PTR : نام دامنه مربوط به یک Host ، IP مربوط به یک Host • TXT : رکورد متنی عمومی • HINFO : رکورد حاوی اطلاعات مربوط به یک Host شامل توع CPU و سیستم عامل Penetration Testing & Ethical Hacking
جمع آوری اطلاعات (Information Gathering) :جمع آوری اطلاعات بصورت فعال (Active) • استخراج زیر دامنه های (Sub-Domains) خصوصی و عمومی • اقدام به انجام Zone Transfer در صورت امکان • nslookup@target-dns> ls –d target.com • Dig axfr target.com @target-dns • اقدام به انجام Reverse DNS Lookup در محدوده های IP • Jarf-rev.pl و بسیاری از اسکریپت های مشابه • اقدام به Dictionary Attack برای حدس نام زیر دامنه ها (hostip) • اقدام به Brute-force برای کشف اطلاعات (iphost/domain) در صورت امکان • Dns-ip-brute.pl , fierce.pl • آشنایی با ابزار DNS-Digger • آشنایی با ابزار TXDNS Penetration Testing & Ethical Hacking
جمع آوری اطلاعات بصورت فعال (Active) :بررسی سیستم ها ، سرویس های فعال و نسخه های آنها (Network Scanning) • اقدام به کشف و شناسایی توپولوژی شبکه هدف • شناسایی مسیرهای عبور اطلاعات (Network Routes) • Qtrace, LFT , traceroute , … • شناسایی تکنولوژی های بکار رفته درزیرساخت شبکه • بررسی لینک های ارتباطی (VSAT ,Leased ,DSL , Wireless , …) • بررسی وجود Load Balancer ها و موقعیت جغرافیایی شبکه ها • بررسی وجود لینک های ارتباطی پشتیبان یا Redundant • بررسی وجود فایروال ها • شناسایی محدودیت های اعمال شده و قوانین فایروال ها • IP Protocols ( ICMP,IGMP,TCP,UDP,…) • TCP/UDP Protocols ( HTTP,Telnet,SSH,FTP,… ) • Hosts and Ports • بررسی وجود احتمالی IPS (Intrusion Prevention System) • بررسی و شناسایی پروتکل ها, سیستم ها و پورت های تحت حفاظت • بررسی و تخمین دقت و آستانه قوانین تشخیص و بلوکه کردن ترافیک • بررسی و تخمین نحوه و زمان بلاک کردن حملات و نفوذگر • ترسیم شمای کلی شبکه هدف ، چیدمان سیستم ها و لینک های ارتباطی Penetration Testing & Ethical Hacking
جمع آوری اطلاعات بصورت فعال (Active) :بررسی سیستم ها ، سرویس های فعال و نسخه های آنها (Network Scanning) • اقدام به پویش و شناسایی کامل و دقیق شبکه هدف بمنظور شناسایی سیستم ها ، سرویس های فعال و نسخه های آنها : • شناسایی سیستم های فعال Alive Hosts • شناسایی بر اساس IP Protocol های فعال • ICMP Echo ,Timestamp and Netmask request • ARP Ping Scan ( مختص شبکه داخلی ) • شناسایی بر اساس پروتکل ها و پورت های فعال TCP و UDP • TCP Syn/Ack and UDP port discovery • شناسایی بر اساس آنالیز ترافیک Broadcast و ترافیک عبوری(مختص مرحله ثانویه پویش پس از نفوذ ) • بررسی ترافیک Broadcast و Multicast • بررسی ترافیک عبوری از گلوگاه های شبکه روتر ها ، سوئیچ ها • بررسی ترافیک عبوری از سیستم ها بررسی session های فعال • شناسایی بر اساس آنالیز Log file ها ، تنظیمات اعمال شده ، مستندات یافت شده • فرض کردن تمامی سیستم ها در محدوده آدرس بعنوان فعال • شناسایی پورت های باز TCP و UDP • بررسی و انجام روش های مختلف بررسی پورت های باز TCP • بررسی پورت های باز سیسم بصورت Localمختص مرحله ثانویه پویش پس از نفوذ • بررسی و شناسایی پورت های بسته و یا فیلتر شده بررسی دقیق قوانین فایروال • تهیه لیست نهایی پورت های باز هر سیستم و همچنین قوانین اعمال شده توسط فایروال ها Penetration Testing & Ethical Hacking
جمع آوری اطلاعات بصورت فعال (Active) :بررسی سیستم ها ، سرویس های فعال و نسخه های آنها (Network Scanning) • کنترل و بررسی بمنظور شناسایی نوع سرویس های فعال بر روی پورت های باز • تخمین نوع سرویس بر اساس شماره پورت (IANA Ports list) • مشاهده و بررسی سطحی پورت ها پس از اتصال به آنها (Banner Grabbing) • ارسال ترافیک خاص به پورت ، بمنظور دریافت پاسخ و تشخیص نوع سرویس (تشخیص پروتکل های خاص ، پیچیده یا باینری) • کنترل وبررسی دقیق سرویس های شناسایی شده ، برای تشخیص نسخه استفاده شده (Version Detection) • بررسی روش ها و تکنیک های مختلف Version Detection • تکیه بر Banner ها • تکیه بر تفاوت های موجود در پاسخ ها ، در نسخه های مختلف سرویس / نرم افزار • ارسال درخواست اعلام نسخه به سرویس / نرم افزار • تکیه بر اطلاعات یافت شده در مرحله Passive Info Gathering و تآیید آنها به روش های بالا • اقدام به تشخیص سیستم عامل هدف و نسخه استفاده شده (OS Detection) • تشخیص فعالانه (Active OS Detection) • Active Stack Fingerprinting • مرور تکنیک های مورد استفاده در نرم افزار Nmap • تکیه بر CLSID های منتشر شده توسط سرویس RPC (مختص ویندوز( • تکیه بر UUID های منتشر شده توسط سرویس های RPC فعال (مختص ویندوز( • تشخیص زبان سیستم عامل (Language Detection) (مختص ویندوز) • تشخیص نامحسوس (Passive OS Detection) • بررسی TTL پکت های ارسالی از سیستم • بررسی Window Size پکت های ارسالی از سیستم • بررسی پرچم DF پکت های ارسالی از سیستم (Don't Fragment Flag ) • Passive Stack Fingerprinting • بررسی ابزارها و نرم افزارهای موجود برای انجام مراحل فوق • Nmap,p0f,Syphon,queso,ettercap,… Penetration Testing & Ethical Hacking
جمع آوری اطلاعات بصورت فعال (Active) :استخراج اطلاعات از سیستم ها و سرویس ها (Enumeration) • استخراج اطلاعات کاربران و سیستم ها از منابع در دسترس Enumeration • استخراج ایمیل ها (نام های کاربری) از سرورهای SMTPTCP 25 • VRFY & EXPN command • استخراج اطلاعات کاربران از سرویس Finger TCP 79 • finger –l @target.com • Finger user1@target.com • استخراج اطلاعات از سرویس TFTP TCP/UDP 69 • Tftp.exe –i get /etc/passwd • استخراج اطلاعات کاربران و سرویس ها از سرویس MSRPC TCP 135 • استخراج اطلاعات کاربران و سیستم ها از سرویس Netbios UDP 137/TCP 139 • استخراج اطلاعات کاربران از سرویس SNMP UDP 161 • Snmpwalk.exe –d target-ip PUBLIC .1.3.6.1.4.1.77.1.2.25 • Snmputil walk target-ip PUBLIC .1.3.6.1.4.1.77.1.2.25 • استخراج سایر اطلاعات مفید از سرویس SNMP • استخراج اطلاعات کاربران از سرویس LDAP TCP 389/TCP 3268 • استخراج اطلاعات کاربران از Novel NetWare TCP 524 / IPX • استخراج نام های کاربری از فرم های اعتبارسنجی تحت وب آسیب پذیر • استخراج اطلاعات کاربران از سرویس دایرکتوری عمومی Microsoft Exchange • استخراج اطلاعات در مورد سیستم و منابع به اشتراک گذاشته شده با استفاده از سرویس NetBios • استخراج اطلاعات در مورد سیستم با استفاده از سرویس MS-SQL • استخراج اطلاعات ازسرویس NFS و منابع به اشتراک گذاشته شده • بررسی سایر تکنیک ها و روش های استخراج اطلاعات مفید ، از منابع و سرویس های شناسایی شده Penetration Testing & Ethical Hacking
جمع آوری اطلاعات بصورت فعال (Active) :استخراج اطلاعات از سایر منابع • اقدام به کشف شماره های جدید Dialup) (War-Dialing • شناسایی خطوط ارتباطی Dialup • شناسایی دستگاه های PBX • اقدام به شناسایی و تا ئید وجود شبکه های بیسیم War-Driving & Wireless site survey • نیازمند تعیین موقعیت فیزیکی , انجام شده در مراحل قبل • اقدام به شنود امواج رادیویی (802.11) بمنظور شناسایی شبکه های بیسیم موجود • شناسایی فعالانه : • ارسال درخواست های اعلام SSID • اتصال به شبکه بیسیم درصورت امکان ، و تکرار مراحل شناسایی • شناسایی غیر فعالانه بررسی سیگنال ها و پکت های دریافتی بمنظور شناسایی شبکه بیسیم و تنظیمات آن • شناسایی کلاینت های فعال و SSID های مورد جستجو ، تشخیص OS ، ... • آنالیز ترافیک Broadcast / Multicast شده توسط کلاینت ها • اقدام به پیاده سازی حملات مهندسی اجتماعی Social Engineeringبرای کسب اطلاعات Penetration Testing & Ethical Hacking
شناسایی ضعف های امنیتی و اقدام به نفوذ :تقسیم بندی کلی تکنیک های نفوذ و انواع ضعف های امنیتی • کشف نام های کاربری و شکستن کلمات عبور • Online Attacks • Offline Attacks • شناسایی و استفاده از آسیب پذیری های Information Discloser • شناسایی و استفاده از آسیب پذیری های Remote • حمله به سرویس هاس خاص • حمله به کاربران سیستم Client-Side Attacks • شناسایی و استفاده از آسیب پذیری های Local • حملات ارتقاع سطح دسترسی Privilege Escalation Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با حملات شکستن وکشف کلمات عبور (Password Guessing/Cracking) • تقسیم بندی کلی حملات • Online Attacks • تمرکز بر روی کشف نام کاربری و کلمه عبور از طریق اقدام به تعامل با سرویس • نیازمند اقدام به برقراری ارتباط با هدف بطور مستقیم برای حدس کلمات عبور • نیازمند در دسترس بودن سرویس های خاص بمنظور تعامل با آنها • قابلیت شناسایی آسان بدلیل حجم ترافیک و رویداد های تولید شده در طول حمله • سرعت بسیار پایین در مقایسه با حملات Offline ، و وابسته به منابع شبکه • عدم نیاز به قدرت پردازش بالا در سمت نفوذگر • Offline Attacks • تمرکز بر روی شکستن کلمات عبور رمز/کد شده که از هدف بدست آمده • عدم نیاز به برقراری ارتباط با هدف در طول حمله • نیازمند تعامل با سرویس / سیستم تنها بمنظور استخراج کلمات عبور رمز شده • امکان شناسایی تنها در زمان استخراج کلمات عبور رمز شده (در شرایط خاص) • سرعت بسیار بالا ( وابسته به روش رمزنگاری بکار برده شده ) • نیازبه قدرت پردازش بالا در سمت نفوذگر Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با حملات شکستن وکشف کلمات عبور (Password Guessing/Cracking) • Online Attacks • قابل پیاده سازی از طریق سرویس ها وپروتکل های مختلف • سرویس ها و پروتکل های دسترسی از راه دور Telnet,SSH,Rlogin,TS,VNC,… • سرویس های پستی POP,SMTP,IMAP,… • سرویس های بانک اطلاعاتی MS-SQL,MySQL,Oracle,… • سرویس های وابسته به وب HTTP,LoginForms,Proxies,Socks,… • پروتکل های مدیریت از راه دور SNMP,RPC,WMI,… • و هر سرویس دیگری که برای دسترسی نیاز به ارسال نام کاربری و کلمه عبور داشته باشد ! • بررسی روش ها و ابزارهای مختلف پیاده سازی حمله • بررسی روش های متداول مقابله با این دسته از حملات • نکاتی در خصوص نام های کاربری و کلمات عبور پیشفرض • Networking Devices,DatabaseSystems,Product default accounts,Product Master/Hidden/Hardcoded passwords,Service accounts • نکاتی در خصوص انتخاب فایل های دیکشنری و محدوده کلمات عبور Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با حملات شکستن وکشف کلمات عبور (Password Guessing/Cracking) • Offline Attacks • آشنایی با مکانیزم های Hash و Encoding کلمات عبور • آشنایی با برخی سرویس ها و مکانیزم های بکار برده شده توسط آنها • بررسی روش های بدست آوردن کلمات عبور رمز شده • استخراج از فایل های خاص ذخیره کلمات عبور سیستم عامل • C:\windows\system32\config\SAM • /etc/passwd & /etc/shadow • استخراج از فایل های حاوی تنظیمات سیستم یا سرویس • استخراج از ترافیک شبکه • استخراج از بانک های اطلاعاتی Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با حملات شکستن وکشف کلمات عبور (Password Guessing/Cracking) • Offline Attacks • بررسی روش های بدست آوردن کلمات عبور رمز شده • استخراج از بانک های اطلاعاتی • MySQLselect user, password from user • MS-SQL 2000 select name, password from master..sysxlogins • MS-SQL 2005,2008select name,password_hash FROM sys.sql_logins • Oracle select username, password from DBA_USERS • Oracleselect name,password from SYS.USER$ • PortageSQLselect usename, passwd FROM pg_shadow • بررسی تکنیک های شکستن کلمات عبور رمز شده • Dictonary , Bruteforce , Hybrid • (Pre-Computed Rainbow Tables) Cryptanalysis • Cryptography flaws • بررسی روش های پیاده سازی حملات • Single System • Distributed Systems • Free & Commercial Cryptanalysis providers Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با انواع ضعف های امنیتی • Mis-configurations • Default / Insecure configurations • Insecure Permissions • Input Validations • Command Injection • Code Injection • Local / Remote File Inclusion • SQL Injection • Script Injection • Buffer Overflows • Output Validations • Design Flaws • Vulnerable Protocol Implementations • System / OS / Application design flaws • Spoofing • Hijacking Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :آشنایی با روش های شناسایی ضعف های امنیتی • روش های دستی (Manual) • استفاده از نتایج مراحل Scanning و Enumeration و انتخاب سرویس یا نرم افزار خاص • مراجعه به منابع آنلاین بمنظور آگاهی از آسیب پذیری های شناخته شده مربوط به هدف • تهیه نرم افزار کد اسکریپت برای استفاده از یک ضعف خاص و تست آن در محیط آزمایشگاهی • بهینه سازی نرم افزار کد و استفاده از آن علیه هدف واقعی کمک گرفتن از نرم افزارهای Vulnerability Scanner • استفاده از نتایج مراحل Scanning و Enumeration بمنظور بهینه سازی تنظیمات نرم افزار ، و انجام پویش • شناسایی و حذف خطاهای نرم افزار False Positives • مراجعه به منابع آنلاین بمنظور تکمیل اطلاعات ارائه شده در گزارش نرم افزار • تهیه کد اسکریپت برای استفاده از ضعف ، تست آن در محیط آزمایشگاهی و در نهایت استفاده از آن چند نرم افزار Vulnerability Scanner معتبر • Nessus,ISSScanner,Retina,LanGuard Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :نفوذ از طریق ضعف های سیستم عامل ، سرویس های و نرم افزارهای جانبی • استفاده از آسیب پذیری های Remote • دسته بندی حملات بصورت Authenticated و UnAuthenticated • حمله به سرویس های سیستم عامل • بررسی آسیب پذیری های مهم و اخیر سیستم عامل Windows • MSRPC , LSASS , IIS , MS-Exchange • بررسی آسیب پذیری های مهم سیستم عامل های خانواده Linux/Unix • Apache , OpenSSL , BIND ,SAMBA , CVS , Telnetd • حمله به سرویس ها و نرم افزارهای تحت شبکه جانبی • بررسی آسیب پذیری های بانک های اطلاعاتی • بررسی آسیب پذیری های نرم افزارهای رایج Backup • بررسی آسیب پذیری های نرم افزارهای Mail/FTP Server • بررسی آسیب پذیری های Device Driver های شبکه ، Networking Stack • حمله به کاربران سیستم (Client-Side Attacks) • بررسی آسیب پذیری های مهم و اخیر نرم افزارهای سیستم عامل • مرورگرهای اینترنتی • نرم افزارهای Multimedia • فایل فرمت های پشتیبانی شده توسط سیستم عامل • فایل فرمت های پشتیبانی شده توسط نرم افزارهای خاص / جانبی • بررسی ضعف های امنیتی نرم افزارهای جانبی پرکاربرد • بررسی ضعف های امنیتی مربوط به قابلیت های اضافه شده به مرورگرهای اینترنتی توسط نرم افزارهای جانبی • استفاده از آسیب پذیری های Local و Privilege Escalation • حمله به ضعف های امنیتی مربوط به هسته سیستم عامل • حمله به ضعف های امنیتی Device Driver ها و سرویس های اصلی سیستم عامل • حمله به ضعف های امنیتی ناشی از دسترسی های نا امن سیستم عامل • حمله به ضعف های امنیتی نرم افزار ها / سرویس های جانبی برای ارتقاع دسترسی Penetration Testing & Ethical Hacking
بررسی انواع تکنیک های نفوذ و ضعف های امنیتی :نفوذ از طریق ضعف های تنظیمات سیستم ها و دسترسی ها • Symlink Attacks • سو استفاده از تغییرات اعمال شده بر روی فایل ها توسط نرم افزارها / سرویس های با دسترسی بالا • Core dump files • جستجو برای یافتن اطلاعات حساس / مفید (passwords, Hashes, encryption keys, certificates ) • File and directory permissions • Locating and exploiting SUID binaries • Locating and exploiting SGUID binaries • Modifying configuration files in world-writeable directories • NFS insecure permissions • World readable/writeable shares or exports • Abusing trust relationships • Attacking Remote/Roaming home folders Penetration Testing & Ethical Hacking