روال اجرای تست نفوذ(2)
Enumerating
آخرین
مرحله گام شناسایی نگاشت شبكه است كه با استفاده از اطلاعات Scanning
انجام شده و مرحله Enumerating را تشكیل می دهد. در این مرحله هدف طراحی یك
تصویر نسبتاً كامل از شبكه هدف است. در این مرحله اطلاعات نام كاربران و
گروه ها، منابع شبكه به اشتراك گذاشته شده و برنامه های كاربردی جمع آوری
می گردد. مخصوصاً اطلاعات مربوط به سیستم عامل مورد استفاده (همراه با نسخه
آن) و برنامه های كاربردی نصب شده و نسخه آنها اطلاعات باارزشی در این
زمینه محسوب می شوند. با دانستن نوع سیستم عامل و برنامه های كاربردی می
توان از آسیب پذیری های شناخته شده موجود در آنها جهت پیاده سازی نفوذ
استفاده كرد. در این مرحله می توان از تكنیك های زیر استفاده كرد:
-
به دست آوردن اطلاعات Active Directory و شناسایی كاربران آسیب پذیر
-
شناسایی NetBIOS با استفاده از Nbscan
-
استفاده از SNMPutil برای SNMPایجاد ارتباطات و نشست هایnull
-
به كارگیری پرس و جوهای DNS
هر كدام از ابزارها و
تكنیك های فوق می توانند در مورد ارتباطات شبكه و یا سیستم میزبان نیز
اطلاعات بیشتری را در اختیار بگذارند. در این مرحله از تست كه اولین مرحله
است، توصیه به جمع آوری هر چه بیشتر اطلاعات می شود. اطلاعات مذكور از طرفی
انتخاب تست های قابل انجام را راحت تر می كنند و از طرف دیگر تست را بیشتر
به شبیه سازی یك نفوذ واقعی هدایت می كنند. هكرهای واقعی قبل از انجام
حمله تا جایی كه می توانند به مطالعه و تحقیق در مورد سیستم مورد حمله می
پردازند و لذا یك انجام دهنده تست نفوذ نیز بایستی با اطلاعاتی مشابه یك
هكر واقعی به انجام تست بپردازد. هر چقدر اطلاعات كمتری توسط ابزارهای فوق
به دست آید، نشان دهنده امنیت بالاتر سیستم است.
به كارگیری آسیب پذیری ها با هدف نفوذ
در
مرحله سوم تست نفوذ، برای شناسایی مشكلات مربوط به تنظیمات سیستم، از
ابزارهای پویش كردن آسیب پذیری ها و Password Crackers استفاده می شود.
برخی از ابزارهای قابل استفاده در این زمینه عبارتند از:
Nessus – ابزاری برای تشخیص آسیب پذیری ها در سیستم های Unix
SARA – دومین نسل از ابزار پویش آسیب پذیری SATAN
Whisker – ابزار پویش آسیب پذیری در CGI
Hping2
– یك ابزار شبكه است كه می تواند بسته های دلخواه ICMP، UDP و TCP را
ارسال كند و برای آزمودن قوانین فایروال و بررسی قطعات (fragments) بسته ها
استفاده می شود.
Firewalk - یك ابزار شبیه دنبال كننده های مسیر
است كه اجازه دسترسی به Access Control List یك فایروال را می دهد و همچنین
امكان در آوردن نقشه شبكه را نیز فراهم می كند.
NAT(NetBIOS Auditing tool) – یك ابزار برای مشخص كردن آسیب پذیری ها در تنظیمات NetBIOS یك سیستم NT است.
Toneloc – ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك و یا اجرای نرم افزار از راه دور به كار می روند.
برخی ابزارهای تجاری نیز در این زمینه وجود دارند كه عبارتند از:
Internet
Security Server (ISS) – این محصول بسیار پر كاربرد است و بسیاری از شركت
های انجام دهنده تست نفوذ از آن برای شناسایی آسیب پذیری ها استفاده می
كنند.
CyberCop – این ابزار نیز برای پویش آسیب پذیری ها به كار می رود.
Phonesweep
- ابزاری برای بررسی مودم سیستم های رومیزی است كه برای جواب دهی اتوماتیك
و یا اجرای نرم افزار از راه دور به كار می روند.
به غیر از موارد
ذكر شده در بالا ابزارهایی نیز برای تشخیص نفوذ و مدیریت داده های تولید
شده در روند تشخیص نفوذ وجود دارند. البته مبحث تشخیص نفوذ با اینكه مرتبط
با تست نفوذ است ولی نیازمند بررسی جداگانه و مفصلی است و لذا از آوردن
ابزارهای مرتبط با آن خودداری كرده ایم.
بعد از انتخاب ابزارهای
ارزیابی آسیب پذیری، باید از آنها بر روی سیستم ها و شبكه استفاده كرد.
اطلاعاتی كه از ابزارهای فوق به دست می آید، به روشنی آسیب پذیری های اصلی
را مشخص می كنند. در این مرحله لازم است با توجه به نوع نفوذ، كاری انجام
داد تا وجود آسیب پذیری را به اثبات رساند. برای مثال باید فایلی را در
منطقه كنترل شده قرار داد و یا كلمه عبور مربوط به نام كاربری مهمان را
تغییر داد. همچنین در موارد دسترسی های فیزیكی باید بخشی از پرونده ای را
برداشت و یا در شبیه سازی حملات مهندسی اجتماعی می توان به شماره تلفن منزل
مدیر سیستم دسترسی پیدا كرد.
در این مرحله برخی از حملات مانند
حملات تزریق SQL، XSS، سرریز بافر و تروجان ها نیز بر روی شبكه شبیه سازی
می شوند كه در مقاله جداگانه ای چگونگی انجام آنها را به تفصیل توضیح
خواهیم داد.
پاكسازی
در
این مرحله تمام فایل هایی كه در حین تست نفوذ انجام شده اند پاك شده و
تمام تنظیمات و یا پارامترهایی كه تغییر یافته اند به حالت اولیه باز می
گردند. همچنین تمام ردپاها پاك شده و تمام سیستم هایی كه به آنها نفوذ شده
است به حالت پیش از تست نفوذ بر می گردند.
ارائه نتایج تست
نتایج
تست باید حاوی راه حل هایی برای كاهش و یا حذف آسیب پذیری ها باشد. تفاوت
اصلی ممیزی امنیتی و تست نفوذ در نكته مذكور است. باید یك برنامه زمانی
برای رفع آسیب پذیری های كشف شده نیز ارائه گردد و بعد از آن دوباره سیستم
را برای اطمینان از رفع آسیب پذیری های مذكور بررسی كرد.
راه حل
های ارائه شده بستگی به نوع آسیب پذیری ها دارد و در آنها باید هزینه هایی
كه بر شركت در صورت سوءاستفاده از آسیب پذیری تحمیل می شود و همچنین هزینه
راه حل آورده شود. برای مثال ممكن است در یك راه حل خواسته شود سیستم های
جدیدی كه برای وب سرور مورد استفاده قرار می گیرند قبل از نصب تست شوند و
در یك راه حل دیگر خواسته شود تا ایمیل های ارسالی درون سیستم، ابتدا به یك
میل سرور مركزی ارجاع و سپس برای گیرنده ارسال شوند.