Transcript Document

‫تکنیکهای آزمون نفوذ‬
‫ارائه دهنده ‪ :‬میالد شونددشت‬
‫دانشجوی کارشناسی ارشد مهندسی فناوری اطالعات گرایش شبکه‬
‫دانشگاه پردیس بین الملل گیالن‬
‫آشنایی با مفاهیم اولیه و کلی در خصوص ارزیابی امنیتی شبکه ها‬
‫آشنایی با استانداردها و متدولوژی های موجود‬
‫آشنایی با روش های مختلف بررسی امنیتی‬
‫آشنایی با مراحل مختلف انجام بررسی امنیتی‬
‫آشنایی با ابزارهای مختلف و تکنیک های مختلف نفوذ‬
‫سه اصل مهم در هر سیستم حفظ‬
‫‪(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‬‬
‫•‬
‫•‬
‫•‬
‫بررسی تهیه و پیاده سازی قوانین امنیتی‬
‫تغییر و اصالح قوانین موجود در صورت لزوم‬
‫بازرسی صحت وکیفیت پیاده سازی قوانین‬
‫• بازرسی فنی تنظیمات و قوانین اعمال شده‬
‫• بازرسی روال ها و پروسه های انجام عملیات از دید امنیتی‬
‫نیازمند تسلط ارزیاب بر موارد تحت بررسی‬
‫انتخاب محدوده انجام بررسی‬
‫بررسی شبکه عمومی (‪)External Test‬‬
‫بررسی شبکه داخلی ( ‪) Internal test‬‬
‫انتخاب جزئیات بررسی‬
‫بررسی کلیه سیستم ها و سرویس های قابل شناسایی‬
‫بررسی سرور(‪ )host‬ها و یا سرویس های خاص (…‪)Web,DB,‬‬
‫انتخاب سطح و نوع دسترسی برای انجام بررسی‬
‫بررسی با اعتبار و دسترسی مجاز (‪)Authenticated‬‬
‫بررسی بدون داشتن دسترسی (‪)Unauthenticated‬‬
‫روش های انجام بررسی ؛ مزایا و معایب‬
‫بررسی خودکار (‪)Automated‬‬
‫استفاده از ابزارها و اسکریپت های بهینه شده‬
‫سرعت باال ‪ +‬دقت کم = کیفیت پائین‬
‫عدم نیاز به نیروی متخصص‬
‫بررسی دستی (‪)Manual‬‬
‫استفاده از ابزارهای کمکی و تخصصی در کنار تجربه‬
‫سرعت پائین ‪ +‬دقت باال = کیفیت باال‬
‫وابسته به نیروی متخصص‬
‫ترکیب روش های ‪ Automated‬و ‪Manual‬‬
‫دستیابی به حداکثر بازدهی ممکن‬
‫برخورداری از ویژگی های هر دو روش‬
‫تعادل میان سرعت و کیفیت مناسب‬
‫قوانین کلی بررسی‬
‫اقدام به بررسی و شناسایی ضعف های شناخته شده‬
‫عدم ایجاد وقفه اختالل در عملکرد سیستم ها (‪)Safe Checks‬‬
‫صرفآ شناسایی ضعف ها و عدم استفاده از آنها‬
‫بررسی و آزمایش حمالت ‪ DoS‬و ‪Overflows‬‬
‫انتخاب روش پیشبرد انجام و تکمیل بررسی‬
‫بر اساس راهکارها و متد های شخصی ‪/‬مختص گروه ‪ ،‬شرکت یا سازمان‬
‫بر اساس استاندارد ها و ‪ Framework‬های موجود‬
‫شرایط موجود‬
‫‪ ‬چند درصد از شما پیش از این با مشکالت امنیتی در شبکه خود مواجه بوده اید؟‬
‫‪ ‬چند درصد از شما واقعآ از وضعیت امنیتی شبکه خود (بصورت فنی) آگاه هستید؟‬
‫‪ ‬چند درصد از شما بصورت منظم امنیت سیستم های خود را (به هر شکل) ارزیابی می کنید؟‬
‫‪ ‬چند درصد از شما بعد از ارزیابی امنیتی‪ ،‬استفاده موثری از خروجی آن داشته اید؟‬
‫‪ ‬تحلیل خروجی روال ها و ابزارهای ارزیابی امنیتی نیازمند آگاهی کامل و شناخت دقیق انواع‬
‫تهدیدات امنیتی و مشکالت فنی است چیزی که کمتر مدیر شبکه ایی فرصت درگیر شدن با آن را‬
‫دارد‬
‫راهکارهایی که در این سرویس ارائه می شود‬
‫‪ ‬استفاده از متدولوژی ها و ابزارهای بروز‪ ،‬کامل و استاندارد‪ ،‬برای ارزیابی وضعیت امنیت شبکه‬
‫‪ ‬بررسی سیستم ها از زوایای مختلف‪ ،‬برای آگاهی و بررسی دقیق تر شرایط موجود‬
‫‪ ‬شناسایی نقاط ضعف امنیتی موجود در تنظیمات و نسخ نرم افزارها و سرویس های مختلف شبکه‬
‫‪ ‬تهیه گزارشی دقیق و جامع از مشکالت امنیتی‪ ،‬که مشخص کننده اولویت ها و نیازهای شما از‬
‫میان راهکارها و سرویس های امنیتی است‬
‫لزوم دانش فنی ‪ ،‬تخصص و تجربه انجام دهنده تست‬
‫محدوده های انجام بررسی گسترده تر و دقیق تر از محدوده های رایج‬
‫انجام ‪VA‬‬
‫سطح دانش فنی و انگیزه نفوذگر( ‪)Skills And Motivations‬‬
‫شبیه سازی حمالت ابتدایی (‪)Script Kiddies‬‬
‫شبیه سازی حمالت پیشرفته ولی بدون اهداف خاص‬
‫شبیه سازی حمالت از پیش طراحی شده و هدفمند‬
‫شرایط موجود‬
‫‪ ‬مستندات امنیتی شبکه ها (در صورت وجود!) معموآل دارای تفاوت زیادی با آنچه واقعآ وجود دارد هستند‬
‫‪ ‬حتی در صورت استفاده از راهکارهای امنیتی‪،‬ارزیابی امنیتی و پس از آن محکم سازی‪ ،‬نمی توان مطمئن بود‬
‫که همه چیز طبق میل ما پیاده سازی شده است‬
‫‪ ‬تنها راه اطمینان از این مورد‪ ،‬به چالش کشیدن امنیت سیستم ها و شبکه است‬
‫‪ ‬به چالش کشیدن امنیت‪ ،‬نیازمند تخصص و تجربه و مهارت می باشد‪ .‬چند درصد از مدیران حرفه ایی شبکه‬
‫در این خصوص اطالعاتی دارند ؟!‬
‫‪ ‬در واقع یک شبیه سازی استاندارد و کامل است از آنچه هکرها انجام می دهند تا به سیستم های شما نفوذ‬
‫کنند‬
‫‪ ‬حتی امن ترین شبکه ها و سیستم ها نیز در خالل این تست نقاط ضعفی را هرچند جزئی نمایان خواهند کرد!‬
‫‪ ‬شما نمی توانید به هکرها اطمینان کنید‪ ،‬یا از آنها انتظار کمک داشته باشید!‬
‫راهکارهایی که در این سرویس ارائه می شود‬
‫‪ ‬قبل از اینکه دیگران به سیستم های شما نفوذ کنند‪ ،‬خود به آنها نفوذ می کنید!‬
‫‪ ‬پیاده سازی حمالت واقعی به شبکه و سیستم ها‪ ،‬توسط متخصصین با تجربه و قابل اطمینان‬
‫‪ ‬تست و بررسی کلیه اجزای سیستم ها و شبکه بر اساس متدولوژی های استاندارد و کامل‬
‫‪ ‬مستند سازی نقاط ضعف شناسایی شده و کشف روش های ممکن برای نفوذ به شبکه ها و سیستم های شما‬
‫‪ ‬آگاهی از اینکه راهکارهای امنیتی مورد استفاده در شرایط واقعی تا چه میزان کارآمد هستند‬
‫انواع روش های ‪Penetration Test‬‬
‫‪Black-Box‬‬
‫تست و نفوذ بدون در اختیار داشتن هرگونه اطالعاتی از هدف‬
‫تنها نام شرکت ‪ ،‬یک آدرس اینترنتی ویا محدوده ‪ IP‬در اختیار قرار میگیرد‬
‫شبیه سازی حمله یک نفوذگر که اطالعات زیادی در مورد هدف ندارد‬
‫‪White-Box‬‬
‫درخواست کننده تست اطالعات کلی را در اختیار قرار میدهد‬
‫نوع سیستم های بکار رفته مانند بانک های اطالعاتی ‪ ،‬وب سرور ها ‪ ،‬طراحی کلی شبکه ‪ ،‬سیستم‬
‫های حفاظتی بکار رفته مانند ‪ IDS ، Firewall‬و‬
‫شبیه سازی حمله یک نفوذگر که اطالعات کاملی راجع به هدف خود دارد‬
‫مراحل کلی انجام تست‬
‫تست اولیه بدون در اختیار داشتن هرگونه دسترسی مجاز به سیستم‬
‫تست ثانویه در اختیار داشتن دسترسی و یا نام کاربری معتبر در شبکه هدف‬
‫انتخاب شدت حمالت و تست‬
‫غیر مخرب ( ‪) Non Distractive‬‬
‫پویش و بررسی هدف برای شناسایی نقاط ضعف‬
‫آنالیز یافته ها و تدارک برای نفوذ بکمک ضعف های شناسایی شده‬
‫استفاده از آسیب پذیری ها برای نفوذ ‪ ،‬با حفظ پایداری سیستم ها‬
‫عدم آزمایش و استفاده از حمالت ‪DoS‬‬
‫مخرب ( ‪) Destractive‬‬
‫پویش و بررسی هدف برای شناسایی نقاط ضعف‬
‫آنالیز یافته ها و تدارک برای نفوذ بکمک ضعف های شناسایی شده‬
‫کلیه روش های احتمالی و ممکن حمله و نفوذ از جمله حمالت ‪ DoS‬بررسی و آزمایش‬
‫میگردد‬
‫انتخاب دامنه انجام تست‬
‫سیستم های قابل دسترسی از طریق اینترنت‬
‫تجهیزات و دامنه ‪ DMZ‬شبکه‬
‫سیستم های بانک اطالعاتی‬
‫تجهیزات و شبکه ‪Wireless‬‬
‫شبکه قابل دسترسی از طریق ‪Dialup‬‬
‫شبکه ‪Intranet / Extranet‬‬
‫ترمینال های ‪VPN, Remote Access‬‬
‫فاکتور انسانی و حمالت ‪Social Engineering‬‬
‫سیستم های تحت وب ‪Web Applications‬‬
‫نرم افزارهای خاص مورد استفاده‬
‫مشخص کردن محدودیت ها در انجام تست‬
‫استفاده یا عدم استفاده از ‪Backdoors / Trojans‬‬
‫استفاده یا عدم استفاده از ‪ Rootkit‬ها‬
‫استفاده ‪ /‬عدم استفاده از حمالت ‪DoS‬‬
‫استفاده ‪ /‬عدم استفاده از ضعف های ناشناخته ‪Zero-Day Attacks‬‬
‫تالش برای کشف و استفاده از ضعف های ناشناخته در سیستم ها و نرم افزار های اختصاصی‬
‫هدف‬
‫تالش برای کشف و استفاده از ضعف های ناشناخته در سرویس ها و نرم افزارهای عمومی‬
‫تالش ‪ /‬عدم تالش برای مخفی ماندن از دید سیستم های تشخیص نفوذ‬
‫تالش ‪/‬عدم تالش برای حذف رد پا ها (‪Covering tracks‬‬
‫روش های تست نفوذ ؛ مزایا و معایب‬
‫خودکار (‪)Automated‬‬
‫استفاده از ابزارهای خودکار و پیشرفته برای پویش‪ ،‬بررسی و درنهایت نفوذ به سیستم ها و تولید‬
‫گزارش‬
‫محدود به قابلیت های نرم افزار و کاربر آن‬
‫هزینه پایین نسبت به سایر روش ها‬
‫‪Core Impact , Immunity Canvas , SAINT Exploiter , Metasploit‬‬
‫‪Framework‬‬
‫غیر خودکار ( ‪)Non Automated‬‬
‫شخص یا گروه بکمک ابزار ها و تکنیک های موجود اقدام به بررسی و نفوذ به هدف مینمایند‬
‫محدود به قابلیت ها ‪ ،‬امکانات و تخصص تیم بررسی کننده‬
‫هزینه نسبتآ باال در مقایسه با روش ‪Automated‬‬
‫جمع آوري اطالعات‬
‫دسترسي به سرويس ها‬
‫و سيستم ها‬
‫ارتقاع دسترسي ها‬
‫& ‪Fingerprinting‬‬
‫‪Foot printing‬‬
‫بررسي ‪ /‬فراراز قوانين‬
‫فايروال‬
‫ارزيابي شبكه‬
‫پويش پورت ها و‬
‫شناسايي سرويس ها‬
‫جستجوي دستي و خودكار‬
‫براي شناسايي آسيب پذيري ها‬
‫تهيه و تنظيم گزارش نهايي‬
‫و ارائه آن‬
‫استفاده از آسيب پذيري ها‬
‫حمالت ‪DoS‬‬
‫‪ Framework‬های بررسی امنیتی موجود‬
‫‪www.isecom.org OSSTMM‬‬
‫شامل عنوان هایی که میبایست در بررسی لحاظ گردد‬
‫فاقد اطالعات فنی در مورد نحوه انجام بررسی‬
‫‪www.oissg.org ISSAF‬‬
‫قابل استفاده بعنوان مرجع برای انجام بررسی های امنیتی‬
‫شامل اطالعات فنی و راهکارها و روش های انجام بررسی‬
‫‪www.owasp.org OWASP‬‬
‫متمرکز بر بررسی امنیت سیستم های تحت وب‬
‫شامل اطالعات فنی و ابزارهای تخصصی تهیه شده‬
‫‪) csrc.nist.gov ( NIST‬‬
‫نسخه قدیمی ‪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
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫هدف از جمع آوری اطالعات‬
‫‪ ‬آشنایی با هدف و شناسایی حوزه فعالیت های آن‬
‫‪ ‬شناسایی مدخل های مختلف و احتمالی دسترسی به هدف‬
‫‪ ‬شناسایی اشخاص شرکت های مرتبط با هدف‬
‫‪ ‬شناسایی تکنولوژی های بکار رفته در شبکه توسط هدف‬
‫‪ ‬شناسایی پرسنل هدف و آشنایی با خصوصیات آنها‬
‫‪ ‬بدست آوردن محدوده های آدرس مرتبط با شبکه هدف‬
‫‪ ‬بدست آوردن شماره های تلفن (و ‪ ) Dialup‬مرتبط با هدف‬
‫‪ ‬بدست آوردن هرگونه مستندات فنی در خصوص شبکه هدف‬
‫‪ ‬بدست آوردن و مطالعه هر نوع سندی که منجر به افزایش آگاهی ما از هدف‬
‫گردد‪.‬‬
‫‪ ‬تهیه لیستی از اهداف ‪ ،‬برای استفاده در مراحل بعدی‬
‫اهمیت انجام صحیح و کامل این مرحله‬
‫انواع کلی روش های جمع آوری اطالعات‬
‫‪ ‬جمع آوری نا محسوس و غیرفعاالنه (‪)Passive‬‬
‫‪ ‬جمع آوری فعاالنه اطالعات (‪)Active‬‬
‫‪30‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪ ‬جمع آوری اطالعات بصورت غیرفعال ‪Passive‬‬
‫مطالعه و مرور وب سایت های مرتبط با هدف‬
‫‪‬‬
‫‪‬‬
‫استفاده از موتورهای جستجو برای شناسایی جزئیات‬
‫مراجعه به وب سایت های مرجع‬
‫‪ ‬بدست آوردن اطالعات اشخاص‬
‫‪ ‬بدست آوردن اطالعات در خصوص دامنه ها و محدوده ‪IP‬‬
‫‪ ‬بدست آوردن اطالعات در خصوص وب سرور ها‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫شناسایی دامنه های عمومی شبکه هدف بصورت غیرفعال‬
‫شناسایی دامنه های خصوصی شبکه هدف بصورت غیرفعال‬
‫‪31‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
Google Hacking ‫آشنایی با‬
Google Hacking for Penetration Testers 
Google Hacking cheat sheets 
: ‫ پارامترهای پرکاربرد‬
)intext cache, ext, filetype, allinurl, inurl, allintitle, intitle, related, link, date, site(

AND , OR , “ | “ , “ + “ , “ – “ , “”(

: ‫ترکیب پارامترها‬

Google Code Search 
Google MAP/Google Earth 
Google APIs 
‫جمع آوری اطالعات از منابع مختلف‬
Mailing Lists ‫ لیست های پستی‬
News Groups ‫ گروه های خبری‬
‫ فروم های اینترنتی و وبالگ ها‬
Orkut ,Facebook ‫ اجتماع های اینترنتی مانند‬
‫ آگهی ها و فرم های استخدام نیرو‬
! IT ‫ رزومه شرکت های فعال در زمینه‬
‫جمع آوری اطالعات ازمنابع و سایت های مرجع‬
(.., RIPE , ARIN ( whois ‫ سایت های‬
www.domainsdb.net( ) www.whois.sc ( IP ‫ سایت های ثبت اطالعات‬
( www.archive.org ( ‫ سایت های ثبت پیشینه‬
( www.netcraft.com ( ‫ سایت های ثبت جزئیات فنی‬
Penetration Testing &
Ethical Hacking
32



‫ آذر‬/
1386Dec.
2007
‫‪‬‬
‫ابزارها و اسکریپت های مربوطه‬
‫‪Google! ‬‬
‫‪)SensPost ( Dns-enum.pl ‬‬
‫‪ ‬شناسایی زیردامنه ها بکمک اطالعات ‪Google‬‬
‫‪)SensPost( BiLE-Weigh.pl & BiLE.pl ‬‬
‫‪ ‬شناسایی سایت های مرتبط با هدف بکمک ‪Google‬‬
‫‪Google-enum.pl ‬‬
‫‪ ‬استخراج ایمیل های مربوط به یک دامنه‬
‫‪)Former Patreva-Evolution ( Maltego ‬‬
‫‪ ‬جمع آوری اطالعات مرتبط با هدف تنها با استفاده از منابع مختلف آنالین مانند محدوده‬
‫‪ , IP‬دامنه ها و زیر دامنه ها ‪ ,‬آدرس های ایمیل ‪ ،‬شماره های تلفن ‪ ،‬سایت های مرتبط ‪،‬‬
‫کلید های عمومی رمزنگاری ‪... ،‬‬
‫‪*Spiderfoot ‬‬
‫(برخی از قابلیت ها بصورت ‪ Passive‬عمل نمیکنند !)‬
‫‪ ‬جمع آوری اطالعات مرتبط با هدف تنها با استفاده از منابع مختلف بصورت ‪ Passive‬و‬
‫‪ Active‬مانند محدوده ‪ , IP‬دامنه ها و زیر دامنه ها ‪ ,‬آدرس های ایمیل ‪ ،‬سایت های‬
‫مرتبط ‪ ،‬نسخه وب سرورهای شناسایی شده‬
‫‪ SmartWhoIs ‬و ابزارهای مشابه‬
‫‪ ‬استخراج اطالعات رجیستر شده مربوط به آدرس های ‪ IP‬و نام های دامنه ها‬
‫‪… ‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪33‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫جمع آوری اطالعات بصورت فعال ‪Active‬‬
‫‪ ‬استفاده از خروجی مرحله قبل ‪Passive‬‬
‫‪ ‬اقدام به تآئید یافته های مرحله قبل (‪ )Passive‬از قبیل محدوده آدرس ها ‪،‬‬
‫(زیر)دامنه ها ‪ ،‬ایمیل های شناسایی شده ‪ ،‬شماره های تلفن ‪ ،‬نرم افزارها و نسخه‬
‫های آنها و‬
‫‪ ‬اقدام به ارسال درخواست و استخراج اطالعات از منابع شناسایی شده ‪ ،‬بصورت فعال‬
‫و با درخواست مستقیم اطالعات از شبکه هدف‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استخراج زیر دامنه های (‪ )Sub-Domains‬خصوصی و عمومی‬
‫اقدام به کشف و شناسایی توپولوژی شبکه هدف‬
‫اقدام به کشف و شناسایی سیستم ها ‪ ,‬سرویس ها و پروتکل های فعال *‪Scanning‬‬
‫استخراج اطالعات کاربران از منابع در دسترس *‪Enumeration‬‬
‫استخراج اطالعات از منابع انسانی‬
‫اقدام به کشف شماره های جدید ‪(War-Dialing ( Dialup‬‬
‫‪ ‬اقدام به بررسی موقعیت فیزیکی و امکان سنجی ( در صورت نیاز به بررسی امنیت فیزیکی (‬
‫‪ ‬اقدام به شناسایی و تآئید وجود شبکه های بیسیم ‪War-Driving & Wireless site‬‬
‫‪survey‬‬
‫‪ ‬اقدام به پیاده سازی حمالت مهندسی اجتماعی (‪ )Social Engineering‬برای کسب اطالعات‬
‫‪ ‬اقدام به کشف منابع و روش های دسترسی جدید و تکرار حلقه جمع آوری اطالعات‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪34‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫استخراج زیر دامنه های (‪ )Sub-Domains‬خصوصی و عمومی‬
‫‪ ‬تمرکز این مرحله ‪ ،‬استخراج هرچه بیشتر اطالعات از طریق پروتکل ‪ DNS‬و استفاده از‬
‫‪ NS‬های شناسایی شده در طول مراحل قبل میباشد‬
‫‪ ‬آشنایی با انواع رکورد های ‪DNS‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪ : A‬رکورد آدرس ‪ IP‬هر ‪ Host‬در ‪DNS‬‬
‫‪ : MX‬مبادله کننده ایمیل های ‪ Host‬یا دامنه‬
‫‪ : NS‬سرور ‪ DNS‬دامنه یا ‪Host‬‬
‫‪ : SOA‬مشخص کننده ‪Authority of Domain‬‬
‫‪ : SRV‬رکورد حاوی موقعیت سرویس ها‬
‫‪ : RP‬رکورد حاوی نام شخص مسئول دامنه یا ‪Host‬‬
‫‪ : PTR‬نام دامنه مربوط به یک ‪ IP ، Host‬مربوط به یک ‪Host‬‬
‫‪ : TXT‬رکورد متنی عمومی‬
‫‪ : HINFO‬رکورد حاوی اطالعات مربوط به یک ‪ Host‬شامل توع ‪ CPU‬و سیستم عامل‬
‫‪35‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫) خصوصی و عمومی‬Sub-Domains( ‫استخراج زیر دامنه های‬

‫ در صورت امکان‬Zone Transfer ‫ اقدام به انجام‬
nslookup@target-dns> ls –d target.com 
Dig axfr target.com @target-dns 
IP ‫ در محدوده های‬Reverse DNS Lookup ‫ اقدام به انجام‬
‫ و بسیاری از اسکریپت های مشابه‬Jarf-rev.pl 
‫ برای حدس نام زیر دامنه ها‬Dictionary Attack ‫ اقدام به‬
)hostip(
)iphost/domain( ‫ برای کشف اطالعات‬Brute-force ‫ اقدام به‬
‫در صورت امکان‬
Dns-ip-brute.pl , fierce.pl 
DNS-Digger ‫ آشنایی با ابزار‬
TXDNS ‫ آشنایی با ابزار‬
Penetration Testing &
Ethical Hacking
36
‫ آذر‬/
1386Dec.
2007
‫‪‬‬
‫اقدام به کشف و شناسایی توپولوژی شبکه هدف‬
‫‪ ‬شناسایی مسیرهای عبور اطالعات (‪)Network Routes‬‬
‫‪Qtrace, LFT , traceroute , … ‬‬
‫‪ ‬شناسایی تکنولوژی های بکار رفته درزیرساخت شبکه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بررسی لینک های ارتباطی (… ‪)VSAT ,Leased ,DSL , Wireless ,‬‬
‫بررسی وجود ‪ Load Balancer‬ها و موقعیت جغرافیایی شبکه ها‬
‫بررسی وجود لینک های ارتباطی پشتیبان یا ‪Redundant‬‬
‫بررسی وجود فایروال ها‬
‫‪ ‬شناسایی محدودیت های اعمال شده و قوانین فایروال ها‬
‫‪)ICMP,IGMP,TCP,UDP,… ( IP Protocols ‬‬
‫‪) HTTP,Telnet,SSH,FTP,… ( TCP/UDP Protocols ‬‬
‫‪Hosts and Ports ‬‬
‫‪ ‬بررسی وجود احتمالی )‪IPS (Intrusion Prevention System‬‬
‫‪ ‬بررسی و شناسایی پروتکل ها‪ ,‬سیستم ها و پورت های تحت حفاظت‬
‫‪ ‬بررسی و تخمین دقت و آستانه قوانین تشخیص و بلوکه کردن ترافیک‬
‫‪ ‬بررسی و تخمین نحوه و زمان بالک کردن حمالت و نفوذگر‬
‫‪ ‬ترسیم شمای کلی شبکه هدف ‪ ،‬چیدمان سیستم ها و لینک های ارتباطی‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪37‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫اقدام به پویش و شناسایی کامل و دقیق شبکه هدف بمنظور شناسایی سیستم ها ‪ ،‬سرویس‬
‫های فعال و نسخه های آنها ‪:‬‬
‫‪ ‬شناسایی سیستم های فعال ‪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‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫بررسی و انجام روش های مختلف بررسی پورت های باز ‪TCP‬‬
‫بررسی پورت های باز سیسم بصورت ‪ Local‬مختص مرحله ثانویه پویش پس از نفوذ‬
‫بررسی و شناسایی پورت های بسته و یا فیلتر شده بررسی دقیق قوانین فایروال‬
‫تهیه لیست نهایی پورت های باز هر سیستم و همچنین قوانین اعمال شده توسط فایروال ها‬
‫‪38‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫کنترل و بررسی بمنظور شناسایی نوع سرویس های فعال بر روی پورت های باز‬
‫‪‬‬
‫کنترل وبررسی دقیق سرویس های شناسایی شده ‪ ،‬برای تشخیص نسخه استفاده شده ( ‪Version‬‬
‫‪)Detection‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تخمین نوع سرویس بر اساس شماره پورت (‪)IANA Ports list‬‬
‫مشاهده و بررسی سطحی پورت ها پس از اتصال به آنها (‪)Banner Grabbing‬‬
‫ارسال ترافیک خاص به پورت ‪ ،‬بمنظور دریافت پاسخ و تشخیص نوع سرویس (تشخیص پروتکل های خاص ‪ ،‬پیچیده یا باینری)‬
‫بررسی روش ها و تکنیک های مختلف ‪Version Detection‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اقدام به تشخیص سیستم عامل هدف و نسخه استفاده شده (‪)OS Detection‬‬
‫‪‬‬
‫تشخیص فعاالنه (‪)Active OS Detection‬‬
‫‪‬‬
‫تشخیص نامحسوس (‪)Passive OS Detection‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫تکیه بر ‪ Banner‬ها‬
‫تکیه بر تفاوت های موجود در پاسخ ها ‪ ،‬در نسخه های مختلف سرویس ‪ /‬نرم افزار‬
‫ارسال درخواست اعالم نسخه به سرویس ‪ /‬نرم افزار‬
‫تکیه بر اطالعات یافت شده در مرحله ‪ Passive Info Gathering‬و تآیید آنها به روش های باال‬
‫‪Active Stack Fingerprinting‬‬
‫مرور تکنیک های مورد استفاده در نرم افزار ‪Nmap‬‬
‫تکیه بر ‪ CLSID‬های منتشر شده توسط سرویس ‪( RPC‬مختص ویندوز(‬
‫تکیه بر ‪ UUID‬های منتشر شده توسط سرویس های ‪ RPC‬فعال (مختص ویندوز(‬
‫تشخیص زبان سیستم عامل (‪( )Language Detection‬مختص ویندوز)‬
‫بررسی ‪ TTL‬پکت های ارسالی از سیستم‬
‫بررسی ‪ Window Size‬پکت های ارسالی از سیستم‬
‫بررسی پرچم ‪ DF‬پکت های ارسالی از سیستم (‪) Don't Fragment Flag‬‬
‫‪Passive Stack Fingerprinting‬‬
‫بررسی ابزارها و نرم افزارهای موجود برای انجام مراحل فوق‬
‫‪‬‬
‫…‪Nmap,p0f,Syphon,queso,ettercap,‬‬
‫‪39‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫استخراج اطالعات کاربران و سیستم ها از منابع در دسترس ‪Enumeration‬‬
‫‪ ‬استخراج ایمیل ها (نام های کاربری) از سرورهای ‪TCP 25 SMTP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استخراج اطالعات از سرویس ‪TCP/UDP 69 TFTP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استخراج اطالعات کاربران و سرویس ها از سرویس ‪MSRPC TCP 135‬‬
‫استخراج اطالعات کاربران و سیستم ها از سرویس ‪UDP 137/TCP 139 Netbios‬‬
‫استخراج اطالعات کاربران از سرویس ‪UDP 161 SNMP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استخراج سایر اطالعات مفید از سرویس ‪SNMP‬‬
‫استخراج اطالعات کاربران از سرویس ‪TCP 389/TCP 3268 LDAP‬‬
‫استخراج اطالعات کاربران از ‪TCP 524 / IPX Novel NetWare‬‬
‫استخراج نام های کاربری از فرم های اعتبارسنجی تحت وب آسیب پذیر‬
‫استخراج اطالعات کاربران از سرویس دایرکتوری عمومی ‪Microsoft Exchange‬‬
‫استخراج اطالعات در مورد سیستم و منابع به اشتراک گذاشته شده با استفاده از سرویس ‪NetBios‬‬
‫استخراج اطالعات در مورد سیستم با استفاده از سرویس ‪MS-SQL‬‬
‫استخراج اطالعات ازسرویس ‪ NFS‬و منابع به اشتراک گذاشته شده‬
‫بررسی سایر تکنیک ها و روش های استخراج اطالعات مفید ‪ ،‬از منابع و سرویس های شناسایی شده‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪VRFY & EXPN command‬‬
‫استخراج اطالعات کاربران از سرویس ‪TCP 79 Finger‬‬
‫‪finger –l @target.com‬‬
‫‪Finger [email protected]‬‬
‫‪Tftp.exe –i get /etc/passwd‬‬
‫‪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‬‬
‫‪40‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪ ‬اقدام به کشف شماره های جدید ‪(War-Dialing ) Dialup‬‬
‫‪ ‬شناسایی خطوط ارتباطی ‪Dialup‬‬
‫‪ ‬شناسایی دستگاه های ‪PBX‬‬
‫‪ ‬اقدام به شناسایی و تا ئید وجود شبکه های بیسیم‬
‫‪& Wireless site survey‬‬
‫‪War-Driving‬‬
‫‪ ‬نیازمند تعیین موقعیت فیزیکی ‪ ,‬انجام شده در مراحل قبل‬
‫‪ ‬اقدام به شنود امواج رادیویی (‪ )802.11‬بمنظور شناسایی شبکه های بیسیم موجود‬
‫‪ ‬شناسایی فعاالنه ‪:‬‬
‫‪ ‬ارسال درخواست های اعالم ‪SSID‬‬
‫‪ ‬اتصال به شبکه بیسیم درصورت امکان ‪ ،‬و تکرار مراحل شناسایی‬
‫‪ ‬شناسایی غیر فعاالنه بررسی سیگنال ها و پکت های دریافتی بمنظور شناسایی شبکه بیسیم و‬
‫تنظیمات آن‬
‫‪ ‬شناسایی کالینت های فعال و ‪ SSID‬های مورد جستجو ‪ ،‬تشخیص ‪... ، OS‬‬
‫‪ ‬آنالیز ترافیک ‪ Broadcast / Multicast‬شده توسط کالینت ها‬
‫‪ ‬اقدام به پیاده سازی حمالت مهندسی اجتماعی ‪Social‬‬
‫‪ Engineering‬برای کسب اطالعات‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪41‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫کشف نام های کاربری و شکستن کلمات عبور‬
‫‪Online Attacks ‬‬
‫‪Offline Attacks ‬‬
‫‪ ‬شناسایی و استفاده از آسیب پذیری های ‪Information Discloser‬‬
‫‪ ‬شناسایی و استفاده از آسیب پذیری های ‪Remote‬‬
‫‪ ‬حمله به سرویس هاس خاص‬
‫‪ ‬حمله به کاربران سیستم ‪Client-Side Attacks‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫شناسایی و استفاده از آسیب پذیری های ‪Local‬‬
‫حمالت ارتقاع سطح دسترسی ‪Privilege Escalation‬‬
‫‪42‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪ ‬تقسیم بندی کلی حمالت‬
‫‪Online Attacks ‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تمرکز بر روی کشف نام کاربری و کلمه عبور از طریق اقدام به تعامل با سرویس‬
‫نیازمند اقدام به برقراری ارتباط با هدف بطور مستقیم برای حدس کلمات عبور‬
‫نیازمند در دسترس بودن سرویس های خاص بمنظور تعامل با آنها‬
‫قابلیت شناسایی آسان بدلیل حجم ترافیک و رویداد های تولید شده در طول حمله‬
‫سرعت بسیار پایین در مقایسه با حمالت ‪ ، Offline‬و وابسته به منابع شبکه‬
‫عدم نیاز به قدرت پردازش باال در سمت نفوذگر‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تمرکز بر روی شکستن کلمات عبور رمز‪/‬کد شده که از هدف بدست آمده‬
‫عدم نیاز به برقراری ارتباط با هدف در طول حمله‬
‫نیازمند تعامل با سرویس ‪ /‬سیستم تنها بمنظور استخراج کلمات عبور رمز شده‬
‫امکان شناسایی تنها در زمان استخراج کلمات عبور رمز شده (در شرایط خاص)‬
‫سرعت بسیار باال ( وابسته به روش رمزنگاری بکار برده شده )‬
‫نیازبه قدرت پردازش باال در سمت نفوذگر‬
‫‪Offline Attacks ‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪43‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪Online Attacks ‬‬
‫‪ ‬قابل پیاده سازی از طریق سرویس ها وپروتکل های مختلف‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫سرویس ها و پروتکل های دسترسی از راه دور‬
‫سرویس های پستی …‪POP,SMTP,IMAP,‬‬
‫سرویس های بانک اطالعاتی …‪MS-SQL,MySQL,Oracle,‬‬
‫سرویس های وابسته به وب …‪HTTP,Login Forms,Proxies,Socks,‬‬
‫پروتکل های مدیریت از راه دور …‪SNMP,RPC,WMI,‬‬
‫و هر سرویس دیگری که برای دسترسی نیاز به ارسال نام کاربری و کلمه‬
‫عبور داشته باشد !‬
‫…‪Telnet,SSH,Rlogin,TS,VNC,‬‬
‫‪ ‬بررسی روش ها و ابزارهای مختلف پیاده سازی حمله‬
‫‪ ‬بررسی روش های متداول مقابله با این دسته از حمالت‬
‫‪ ‬نکاتی در خصوص نام های کاربری و کلمات عبور پیشفرض‬
‫‪Networking Devices,Database Systems,Product ‬‬
‫‪default accounts,Product‬‬
‫‪Master/Hidden/Hardcoded passwords,Service‬‬
‫‪accounts‬‬
‫‪ ‬نکاتی در خصوص انتخاب فایل های دیکشنری و محدوده کلمات عبور‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪44‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪Offline Attacks ‬‬
‫‪ ‬آشنایی با مکانیزم های ‪ Hash‬و ‪ Encoding‬کلمات عبور‬
‫‪ ‬آشنایی با برخی سرویس ها و مکانیزم های بکار برده شده توسط‬
‫آنها‬
‫‪ ‬بررسی روش های بدست آوردن کلمات عبور رمز شده‬
‫‪ ‬استخراج از فایل های خاص ذخیره کلمات عبور سیستم عامل‬
‫‪C:\windows\system32\config\SAM ‬‬
‫‪/etc/passwd & /etc/shadow ‬‬
‫‪ ‬استخراج از فایل های حاوی تنظیمات سیستم یا سرویس‬
‫‪ ‬استخراج از ترافیک شبکه‬
‫‪ ‬استخراج از بانک های اطالعاتی‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪45‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
Offline Attacks 
‫ بررسی روش های بدست آوردن کلمات عبور رمز شده‬
‫ استخراج از بانک های اطالعاتی‬
select user, password from user
MySQL
select name, password from master..sysxlogins
MS-SQL 2000
select name,password_hash FROM sys.sql_logins
MS-SQL 2005,2008
select username, password from DBA_USERS
Oracle
select name,password from SYS.USER$
Oracle
select usename, passwd FROM pg_shadow





PortageSQL 
‫ بررسی تکنیک های شکستن کلمات عبور رمز شده‬
Dictonary , Bruteforce , Hybrid 
(Pre-Computed Rainbow Tables) Cryptanalysis 
Cryptography flaws 
‫ بررسی روش های پیاده سازی حمالت‬
Single System 
Distributed Systems 
Free & Commercial Cryptanalysis providers 
Penetration Testing &
Ethical Hacking
46
‫ آذر‬/
1386Dec.
2007

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
47
‫ آذر‬/
1386Dec.
2007
‫‪‬‬
‫روش های دستی (‪)Manual‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از نتایج مراحل ‪ Scanning‬و ‪ Enumeration‬و انتخاب سرویس یا نرم افزار‬
‫خاص‬
‫مراجعه به منابع آنالین بمنظور آگاهی از آسیب پذیری های شناخته شده مربوط به هدف‬
‫تهیه نرم افزار کد اسکریپت برای استفاده از یک ضعف خاص و تست آن در محیط‬
‫آزمایشگاهی‬
‫بهینه سازی نرم افزار کد و استفاده از آن علیه هدف واقعی‬
‫کمک گرفتن از نرم افزارهای ‪Vulnerability Scanner‬‬
‫‪ ‬استفاده از نتایج مراحل ‪ Scanning‬و ‪ Enumeration‬بمنظور بهینه سازی تنظیمات نرم‬
‫افزار ‪ ،‬و انجام پویش‬
‫‪ ‬شناسایی و حذف خطاهای نرم افزار ‪False Positives‬‬
‫‪ ‬مراجعه به منابع آنالین بمنظور تکمیل اطالعات ارائه شده در گزارش نرم افزار‬
‫‪ ‬تهیه کد اسکریپت برای استفاده از ضعف ‪ ،‬تست آن در محیط آزمایشگاهی و در نهایت‬
‫استفاده از آن‬
‫چند نرم افزار ‪ Vulnerability Scanner‬معتبر‬
‫‪Nessus,ISS Scanner,Retina,LanGuard ‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪48‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
‫‪‬‬
‫استفاده از آسیب پذیری های ‪Remote‬‬
‫‪‬‬
‫‪‬‬
‫دسته بندی حمالت بصورت ‪ Authenticated‬و ‪UnAuthenticated‬‬
‫حمله به سرویس های سیستم عامل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫حمله به سرویس ها و نرم افزارهای تحت شبکه جانبی‬
‫‪‬‬
‫بررسی آسیب پذیری های ‪ Device Driver‬های شبکه ‪Networking Stack ،‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫بررسی آسیب پذیری های بانک های اطالعاتی‬
‫بررسی آسیب پذیری های نرم افزارهای رایج ‪Backup‬‬
‫بررسی آسیب پذیری های نرم افزارهای ‪Mail/FTP Server‬‬
‫حمله به کاربران سیستم (‪)Client-Side Attacks‬‬
‫بررسی آسیب پذیری های مهم و اخیر نرم افزارهای سیستم عامل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بررسی آسیب پذیری های مهم و اخیر سیستم عامل ‪Windows‬‬
‫‪MSRPC , LSASS , IIS , MS-Exchange ‬‬
‫بررسی آسیب پذیری های مهم سیستم عامل های خانواده ‪Linux/Unix‬‬
‫‪Apache , OpenSSL , BIND ,SAMBA , CVS , Telnetd ‬‬
‫مرورگرهای اینترنتی‬
‫نرم افزارهای ‪Multimedia‬‬
‫فایل فرمت های پشتیبانی شده توسط سیستم عامل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فایل فرمت های پشتیبانی شده توسط نرم افزارهای خاص ‪ /‬جانبی‬
‫بررسی ضعف های امنیتی نرم افزارهای جانبی پرکاربرد‬
‫بررسی ضعف های امنیتی مربوط به قابلیت های اضافه شده به مرورگرهای اینترنتی توسط نرم افزارهای جانبی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫حمله به ضعف های امنیتی مربوط به هسته سیستم عامل‬
‫حمله به ضعف های امنیتی ‪ Device Driver‬ها و سرویس های اصلی سیستم عامل‬
‫حمله به ضعف های امنیتی ناشی از دسترسی های نا امن سیستم عامل‬
‫حمله به ضعف های امنیتی نرم افزار ها ‪ /‬سرویس های جانبی برای ارتقاع دسترسی‬
‫استفاده از آسیب پذیری های ‪ Local‬و ‪Privilege Escalation‬‬
‫‪49‬‬
‫& ‪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
50
‫ آذر‬/
1386Dec.
2007
Pen-Test ‫ های انجام‬Framework‫نرم افزارها و‬
MetaSploit Framework
Exploit development capabilities
Wide range of payloads and techniques
IDS / IPS Evasion techniques
Meterpreter Payload and Pivoting






Immunity CANVAS 
MOSDEF 
IDS / IPS Evasion techniques 
Advanced pivoting capabilities 
Core Impact 
Automated pen-test 
Rapid pen-test methodology 
Syscall proxying and Pivoting 
SAINT Exploiter 
Client-side Attack ‫ های‬Framework ‫ بررسی‬
Mostly used by malware distributors 
Mpack and alike frameworks 
‫آشنایی با سرویس های تجاری خریدار ضعف های امنیتی‬
‫ سرویس ها و بسته های تجاری ارائه دهنده آسیب پذیری های امنیتی و‬، ‫آشنایی با کلوپ ها‬
‫کد های اکسپلویت‬
Penetration Testing &
Ethical Hacking
51


‫ آذر‬/
1386Dec.
2007
Sniffing ‫ آشنایی با ابزارهای رایج و پرکاربرد‬
Sniffing ‫ آشنایی با روش های‬
Passive 
Wired Networks 
Wireless Networks 
Active 
ARP Spoofing
MAC Spoofing
DNS Poisoning
MAC Flooding
Man In The Middle Attacks
Hijacking Connections 
Injecting data in connections 
Intercepting protected connections (SSL,SSH) 
Routing Protocol Attacks






‫استخراج اطالعات مفید از ترافیک شبکه‬
‫تولید ترافیک دلخواه‬
VLAN Hopping ‫حمالت‬
‫ در الیه شبکه‬DoS ‫حمالت‬
DoS / ‫ شنود‬/ ‫ برای هدایت ترافیک‬Routing Protocols ‫حمالت علیه‬
Penetration Testing &
Ethical Hacking
52





‫ آذر‬/
1386Dec.
2007
‫آشنایی با آناتومی حمله به سیستم های تحت وب‬

‫ پویش برای شناسایی نرم افزار تحت وب‬
Web Spidering and User directed spidering
Discovering Hidden contents
Checking search engines and archive sites
Brute-forcing directories and files




Identify entry points for user inputs 
‫ جمع آوری اطالعات و شناسایی هدف‬
‫ شناسایی وب سرور‬
Application Server ‫ شناسایی‬
‫ تست و بررسی وجود آسیب پذیری ها‬
‫ طراحی روش حمله و نحوه پیاده سازی آن‬
‫ پیاده سازی حمله‬
Penetration Testing &
Ethical Hacking
53
‫ آذر‬/
1386Dec.
2007
‫‪ ‬بررسی حمالت ‪SQL Injection‬‬
‫‪ ‬آشنایی با مکانیزم حمالت ‪SQL Injection‬‬
‫‪ ‬نحوه جستجو و شناسایی ‪SQL Injection‬‬
‫‪Blind SQL Injection ‬‬
‫‪Normal SQL Injection ‬‬
‫‪ ‬عبور از فرم های اعتبار سنجی‬
‫‪ ‬تزریق دستورات ) ‪(SELECT,UNION SELECT,INSERT,UPDATE,DELETE‬‬
‫‪ ‬استخراج اطالعات مفید اولیه از بانک اطالعاتی‬
‫‪ ‬مشخص کردن نسخه بانک اطالعاتی‬
‫‪ ‬مشخص کردن نام کاربری مورد استفاده بانک اطالعاتی‬
‫‪ ‬بررسی سایر موارد پرکاربرد (‪)WAHHB Page 290‬‬
‫‪ ‬استخراج اطالعات مورد نظر از بانک اطالعاتی بر اساس پیغام های خطا‬
‫(‪ )http://www.evilsql.com/page2.html‬و‬
‫(‪)http://www.evilsql.com/page3.html‬‬
‫‪ ‬استخراج اطالعات مورد نظر در حمالت ‪Blind SQL Injection‬‬
‫(‪)http://www.evilsql.com/page1.html‬‬
‫‪ ‬آشنایی با روش های غیر معمول استخراج اطالعات (‪)Out of band channels‬‬
‫‪MS-SQL Openrowset ‬‬
‫‪DNS Resolve ‬‬
‫‪HTTP GET ‬‬
‫‪ /‬آذر‬
‫‪1386Dec.‬‬
‫‪2007‬‬
‫‪ ‬اجرای دستورات سیستم عامل از طریق ‪SQL Injection‬‬
‫‪ ‬بررسی ابزارهای ‪ Automated‬استخراج اطالعات‬
‫‪54‬‬
‫& ‪Penetration Testing‬‬
‫‪Ethical Hacking‬‬
OS Command Injection ‫بررسی حمالت‬
)WAHHB Page 300-304(

‫ بررسی بسترهای مختلف پیاده سازی‬
Perl Applications 
ASP Applications 
PHP Applications 
‫ روش های شناسایی‬
‫ قبل از دستورات و مشاهده مستقیم نتیجه‬، ‫ تزریق کاراکترهای خاص در پارامترها‬
‫ تزریق و تشخیص بر اساس تآخیرهای زمانی‬
‫ تزریق و تشخیص بر اساس مشاهده خروجی دستور از سایر روش ها‬
‫ بررسی مثال ها و نمونه های واقعی‬
)WAHHB Page 307(
Code Injection ‫بررسی حمالت‬

Dynamic Code Execution in PHP 
Dynamic Code Execution in ASP 
File Inclusion 
PHP Remote File Inclusion (RFI) 
Local File Inclusin (LFI) 
Penetration Testing &
Ethical Hacking
55
‫ آذر‬/
1386Dec.
2007
Path Traversal ‫ بررسی حمالت‬
Cross Site Scripting (XSS) ‫ بررسی حمالت‬
)WAHHB Page 334(
)WAHHB Page 375(
‫ و تفاوت های آنها‬XSS ‫ بررسی انواع حمالت‬
Reflected XSS 
Stored XSS 
XSS ‫ شناسایی ضعف های‬
XSS ‫ بررسی کاربردهای حمالت‬
)WAHHB Page 401(
‫ کاربر‬Session ‫سرقت‬
Web Application ‫ کردن برخی محدودیت های‬Bypass
‫ برای انجام عملی خاص‬web application ‫ارسال درخواست بجای کاربر به‬
)WAHHB Page 396( ‫بررسی سایر روش های سو استفاده‬




Parameter Tampering/Manipulation ‫ بررسی حمالت‬
Forceful Browsing ‫ بررسی حمالت‬
‫ معرفی ابزارهای پویش و بررسی نرم افزارهای تحت وب‬
Penetration Testing &
Ethical Hacking
56
‫ آذر‬/
1386Dec.
2007
‫‪[email protected]‬‬
‫با تشکر از توجه شما‬
‫منبع ‪ :‬اسالبدها و دروس مهندس حمید کشفی در کمپ پیشگامان و سرفصل ‪CEH+ 5‬‬