وبلاگ پژوهشی - آموزشی دانش شبکه

Cisco & MicroSoft Tech : English , Persian / تکنولوژی های سیسکو و مایکروسافت

وبلاگ پژوهشی - آموزشی دانش شبکه

Cisco & MicroSoft Tech : English , Persian / تکنولوژی های سیسکو و مایکروسافت

وبلاگ پژوهشی - آموزشی دانش شبکه

وبلاگ رسمی مهندس علی کسرایی.تلاش بر این است تا تجربیاتم رو بدون واسطه در اختیار علاقمندان قرار دهم

آخرین نظرات
پیوندها

۳ مطلب با موضوع «Penetration Testing» ثبت شده است

دوستان عزیزم ... این هم یک یادداشت انفجاری دیگه که قال بحث تست تشحیص نفوذ تا یه مدتی کنده شود به امید حق .

در این یادداشت بشکل تصویری و بدون هیچ شرحی به معرفی ابزارهای معروف لینوکس بیس تست های تشخیص نفوذ می پردازم . البته برای خالی نبودن عریضه شکل اینترفیس آنها را هم ارائه داده ام . امید که با هدف های علمی قانونی مورد استفاده قرار گیرد . فقط بگم که توی این سالهایی که روی مباحث امنیتی تحقیق می کنم کمتر استادی رو دیدم که بطور یکجا همه این ابزارها رو بشناسه و کار کرده باشه . توی 5 سال گذشته کاری نبوده که نتونم با این ابزارها انجام بدم . پس بدونید که همه این راه نیازمند افتادگی و تمرین بسیار خواهد بود . یادم می یاد که وقتی از استاد عزیز و باسوادم در CEH و ... در این موارد می پرسیدم ، دستیار مغرور ایشون ، به جای ایشون کلاسی می گذاشتند که نگو و امروز که در خدمت عزیزان به عنوان متخصص و محقق ؛ هستم ؛ پس از سالها رنج ، بی ریا این مطالب را به شماها هدیه می دهم . پس قدر بدانید و به دیگران هم بی غرور بیاموزانید . فدای همتون . 


Dear friends ... 

This is an explosive note on the walk talk penetration testing  to be removed for a while, hoping to right.

The notes form an image and no description of the introduction of the popular Linux-based test, intrusion detection tools to revisit. The interface of the petition for lack of space I have given them. Hope that the law will be used for scientific purpose. Just to say that I am researching security issues this year, the few professors who met and worked together all these tools could Bshnas·h. In the last 5 years is not something that can not do with these tools. So know that all it will require humility and practice . I remember that when the master's and Basvadm the CEH and ... So much to learn and Teach others without pride. Maybe you all.


 : BackTrack


  • Senior Administrator

دوستان ارجمندم ...

این سطور ، قسمت آخر مربوط به یادداشت قبلی در خصوص ابزارهای تست تشخیص نفوذ می باشد که با عنوان روش های اجرای تست تشخیص نفوذ ارائه می گردد . لازم به ذکر است که نوشته های ذیل همگی ترجمه و تصحیح شده ی مقالات ارائه شده از این مقوله می باشد که دوستان می توانند در سایت ماهر ، به آنها دست یابند . امید که روشنگر راه باشد . یا حق


پیش نیاز اجرای تست نفوذ

هر شرکت یا سازمان، پیش از اجرای تست نفوذ، به یک سیاست امنیتی کامپیوتر نیاز دارد. سیاست امنیتی، یک آئین نامه رسمی از قوانینی است که باید توسط افرادی که دسترسی به دارایی های اطلاعاتی و فناوری یک شرکت یا سازمان دارند، رعایت شوند. تدوین سیاست امنیتی باید با توجه به ارزش دارایی ها و منابع اطلاعاتی شرکت انجام شده و سپس رویه های امنیتی مناسب با آنها ایجاد شوند. فاکتور اصلی در تعیین رویه ها و کنش های امنیتی مناسب در سیاست امنیتی کامپیوتر، هزینه ای است که شرکت در صورت از دست دادن داده ها متحمل می شود. برای مثال، در صورتی که شرکتی با اطلاعات دولتی و یا مالی سر و کار داشته باشد، روند غیر فعال کردن یک حساب کاربری (User ID) در آن، متفاوت از یک دانشکده خواهد بود. به علاوه اگر شرکتی دارای اطلاعات خصوصی، اسرار تجاری و یا لیست مشتریانی است که رقبا نباید از آن اطلاع حاصل کنند، لازم است ارزش امنیتی بالاتری را برای اطلاعات مذکور قائل شده و گام های امنیتی مناسب برای حفاظت از آنها برداشته شود.


یک سیاست امنیتی کامپیوتر باید موارد زیر را پوشش دهد:

  • اتصالات از/به اینترنت

  • اتصالات از طریق خط تلفن (dial-up)

  • امنیت دسترسی فیزیکی

  • مدیریت کلمه عبور

  • مسئولیت ها و حقوق کاربران

  • مسئولیت ها و حقوق مدیران

  • محافظت از اطلاعات حساس

  • روال های پاسخگویی به فوریت ها

  • مستند سازی

  • پشتیبان گیری از اطلاعات

  • گزارش ها و ثبت وقایع (logs)

  • رسیدگی به رخدادها

  • چگونگی گزارش یک مشکل یا رخداد امنیتی

  • تخلفاتی که باید گزارش شوند

  • اجرای سیاست

  • مسئول نهایی


برنامه ریزی تست نفوذ

قبل از اجرای تست نفوذ لازم است برای آن برنامه ریزی شده و میزان آزادی عمل تست و قلمروی آن دقیقاً معین شود. همچنین در این مرحله در مورد اجرای تست به شیوه جعبه سفید و یا جعبه سیاه تصمیم گیری صورت می گیرد، اعضای تیم مشخص می گردند، معیارهای موفقیت تست تعریف می شوند و مجوز مدیریت دریافت می گردد. در این مرحله با توجه به حوزه تست نفوذ، پارامترهای ضروری برای تشخیص آسیب پذیری ها تعیین می گردد. مواردی که در زمینه برنامه ریزی تست نفوذ باید مورد توجه قرار گیرند عبارتند از:

  • مدت زمان انجام تست چقدر است؟

  • چه کسانی از انجام تست اطلاع دارند؟

  • چه کسی تأیید کننده دسترسی غیر مجاز است؟

  • چه منابع و سیستم هایی و چگونه تست شوند ؟

    • تنظیمات فایروال

      • اطلاعات کامل

      • بدون اطلاعات

    • سیستم های میزبان

      • وب سرورها

      • انتخاب کلمات عبور

      • چگونگی به اشتراک گذاری

      • سرورهای FTP

      • سیستم تشخیص نفوذ

    • سرورهای DNS

    • مودم ها Dial in

    • دسترسی های بی سیم

    • Public Branch Exchange(PBX)

    • غیر فعال سازی UserID و یا روند خارج شدن یک کارمند از سیستم

    • دسترسی های فیزیکی

    • مهندسی اجتماعی

    • کامپیوترهای رومیزی

      • انتخاب کلمات عبور

      • تنظیمات مودم ها برای پاسخگویی اتوماتیک و یا دسترسی به نرم افزارهای خارجی

  • چگونگی ارائه نتایج

  • بعد از چه مدت زمانی، تست دیگری برای اطمینان از نتایج تغییرات انجام می شود؟


همچنین :


: The Penetration Testing Process


Port Scanning

System Fingerprinting

Service Probing

Vulnerability testing and verification

OS Configuration Verification

Application Layer Testing

Firewall and ACL Testing

Administrator and Root Privilege Testing

Password Aging and Strength

Network Security Control Testing

Database Security Flaw Testing

Third-Party/Vendor Security Configuration Testing

Hardened Server/Device Configuration Testing

Vulnerability Exploitation


جمع آوری اطلاعات (شناسایی)

پس از تعیین قلمروی تست نفوذ، نوبت به جمع آوری اطلاعات درباره شرکت هدف تست می رسد. تست نفوذ معمولاً با سه مرحله پیش تست آغاز می شود. footprinting، scanning و enumerating. این سه مرحله پیش تست بسیار مهم هستند زیرا تفاوت بین یک تست موفق که تصویری کامل از شبکه هدف را فراهم می سازد و یک تست ناموفق که این کار را انجام نمی دهد، از این سه مرحله ناشی می شود. این سه با یکدیگر به عنوان گام شناسایی یا reconnaissance شناخته می شوند. در این گام سعی می شود تا حد امکان اطلاعات در مورد شبکه هدف جمع آوری گردد و شامل هفت زیر مرحله می شود:

  1. جمع آوری اطلاعات اولیه

  2. مشخص کردن دامنه آدرس های IP شبکه

  3. شناسایی رایانه های فعال

  4. کشف پورت های باز و نقاط دسترسی

  5. شناسایی سیستم عامل

  6. شناسایی سرویس های ارائه شده در هر پورت

  7. نگاشت شبکه

در زیر در مورد هر کدام از گام های پیش تست بیشتر توضیح می دهیم:

Footprinting

در این مرحله دو گام اول مرحله شناسایی یعنی جمع آوری اطلاعات اولیه و مشخص کردن دامنه آدرس های IP شبکه هدف صورت انفعالی انجام می پذیرد. این مرحله بسیار مهم است زیرا هکرها می توانند اطلاعات به دست آمده در این مرحله را بدون آگاهی سازمان هدف جمع آوری کنند. در این زمینه تعدادی منابع و ابزار رایگان و تجاری وجود دارند که می توانند در به دست آوردن اطلاعات اولیه کمک خوبی باشند. دسترسی به بعضی از این منابع مانند خبرنامه های شرکت بسیار آسان است. تست کنندگان با استفاده از این منبع به اطلاعات مفیدی دست پیدا می کنند که کارمندان حتی بدون آنکه متوجه باشند آنها را بروز می دهند. دیگر روش ها برای جمع آوری اطلاعات استفاده از Whois، Nslookup، Smart Whois و SamSpade است. برای مثال Whois با استفاده از سرویس های دایرکتوری، اطلاعاتی را در مورد دامنه ها و ثبت کنندگان آنها در اختیار می گذارد و Nslookup یک پرس و جوی تعاملی را با سرورهای نام دامنه انجام می دهد.

Scanning

چهار مرحله بعدی گام شناسایی (شناسایی رایانه های فعال، کشف پورت های باز و نقاط دسترسی، شناسایی سیستم عامل و شناسایی سرویس های ارائه شده در هر پورت) به عنوان بخشی از مرحله پویش یا Scanning در نظر گرفته می شوند. در این مرحله هدف جمع آوری اطلاعات در مورد پورت های باز، پویش برنامه های کاربردی، ping کردن دستگاه ها، مشخص کردن حدود شبکه و پویش پورت های هر دستگاه به تنهایی است. این مرحله نسبت به footprinting پویاتر بوده و اطلاعات جزئی تری از هدف جمع آوری می شود. مانند مرحله قبل برخی ابزارها در این مرحله یاری رسانند مانند NMap، ping، Telnet ،Traceroute، SuperScan، Netcat، NeoTrace و Visual Route. برای مثال با استفاده از Ping می توان یک تقاضای ICMP ECHO را به یک میزبان شبکه مشخص ارسال کرد. در دستور ping می توان یک پورت را نیز تعیین کرد که دریافت پاسخ، نشان دهنده باز بودن پورت مذکور برای ارتباط TCP/IP است. همچنین با استفاده از Telnet می توان یک ارتباط تعاملی را با یک میزبان مشخص برقرار کرده و یک پورت را در این دستور وارد کرد. دریافت پاسخ نشان دهنده باز بودن پورت مذکور برای ارتباط TCP/IP است. Traceroute ابزار دیگری است که مسیرهای ارتباطی اینترنت را بین دو سیستمی که ارتباط TCP/IP دارند، مشخص می سازد.

Enumerating

آخرین مرحله گام شناسایی نگاشت شبکه است که با استفاده از اطلاعات Scanning انجام شده و مرحله Enumerating را تشکیل می دهد. در این مرحله هدف طراحی یک تصویر نسبتاً کامل از شبکه هدف است. در این مرحله اطلاعات نام کاربران و گروه ها، منابع شبکه به اشتراک گذاشته شده و برنامه های کاربردی جمع آوری می گردد. مخصوصاً اطلاعات مربوط به سیستم عامل مورد استفاده (همراه با نسخه آن) و برنامه های کاربردی نصب شده و نسخه آنها اطلاعات باارزشی در این زمینه محسوب می شوند. با دانستن نوع سیستم عامل و برنامه های کاربردی می توان از آسیب پذیری های شناخته شده موجود در آنها جهت پیاده سازی نفوذ استفاده کرد. در این مرحله می توان از تکنیک های زیر استفاده کرد:

  • به دست آوردن اطلاعات Active Directory و شناسایی کاربران آسیب پذیر

  • شناسایی NetBIOS با استفاده از Nbscan

  • استفاده از SNMPutil برای SNMP

  • به کارگیری پرس و جوهای DNS

  • ایجاد ارتباطات و نشست هایnull

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


به کارگیری آسیب پذیری ها با هدف نفوذ


در مرحله سوم تست نفوذ، برای شناسایی مشکلات مربوط به تنظیمات سیستم، از ابزارهای پویش کردن آسیب پذیری ها و 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، سرریز بافر و تروجان ها نیز بر روی شبکه شبیه سازی می شوند که در مقاله جداگانه ای چگونگی انجام آنها را به تفصیل توضیح خواهیم داد.


پاکسازی


در این مرحله تمام فایل هایی که در حین تست نفوذ انجام شده اند پاک شده و تمام تنظیمات و یا پارامترهایی که تغییر یافته اند به حالت اولیه باز می گردند. همچنین تمام ردپاها پاک شده و تمام سیستم هایی که به آنها نفوذ شده است به حالت پیش از تست نفوذ بر می گردند.


ارائه نتایج تست


نتایج تست باید حاوی راه حل هایی برای کاهش و یا حذف آسیب پذیری ها باشد. تفاوت اصلی ممیزی امنیتی و تست نفوذ در نکته مذکور است. باید یک برنامه زمانی برای رفع آسیب پذیری های کشف شده نیز ارائه گردد و بعد از آن دوباره سیستم را برای اطمینان از رفع آسیب پذیری های مذکور بررسی کرد.


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


در پایان باید گفت نتایج تست نفوذ باید به دقت محافظت شده و محرمانه تلقی گردند، زیرا در صورت دسترسی افراد ناباب، امکان سوءاستفاده از آن بسیار زیاد است.


--------------

Friends  ...

These lines, the last part of the previous notes on testing tools for intrusion detection, which is a method of testing the performance of intrusion detection can be provided. Hope that is enlightening way. Or the right


The prerequisite for performing penetration testing

for any company or organization before performing penetration testing, a computer security policy needs. Security Policy, a formal regulations of the laws that have access to information assets and technology by people who have a business or organization, are adhered to. The main factor in determining reasonable security procedures and practices in computer security policy, which has cost the company in the event of data loss is incurred. For example, if the company is dealing with government information and financial trends disable a user account (User ID) that vary from one school will be.


A computer security policy should cover the following :

  • Connections from / to the Internet

  • Connections through the telephone line (dial-up)

  • Physical access security

  • Password Management

  • Member Rights and Responsibilities

  • Responsibilities and Rights Management

  • Protect Sensitive Data

  • Procedures for responding to emergencies

  • Documentation

  • Backup of Data

  • Reports and logs (logs)

  • Handle events

  • How to report a security issue or event

  • Violations that must be reported

  • Policy

  • The final charge


Planning Penetration Testing

Penetration Testing is required prior to its scheduled release rate of the test and its territory is strictly defined. At this stage, due to the penetration testing field parameters are determined necessary to detect vulnerabilities. cases where penetration testing should be considered in planning include:

  • What is the duration of the test?

  • What tests do know?

  • Who is accrediting unauthorized access?

  • What resources and systems and how to test?

    • Firewall settings

      • Full Details

      • No Information

    • Host systems

      • Web servers

      • Choose passwords

      • How to share

      • FTP servers.

      • Intrusion Detection System

    • DNS servers

    • Dial in modem

    • Wireless Access

    • Public Branch Exchange (PBX)

    • UserID or the inactivate an employee leaving the system

    • Physical access

    • Social Engineering

    • Desktop Computers

      • Choose passwords

      • Modem settings for automatic or availability of external accountability

  • How to submit results

  • How long after, another test is performed to ensure that the results change?


Also:


: The Penetration Testing Process


Port Scanning

System Fingerprinting

Service Probing

Vulnerability testing and verification

OS Configuration Verification

Application Layer Testing

Firewall and ACL Testing

Administrator and Root Privilege Testing

Password Aging and Strength

Network Security Control Testing

Database Security Flaw Testing

Third-Party/Vendor Security Configuration Testing

Hardened Server / Device Configuration Testing 

Vulnerability Exploitation



Data collection - detecting

the designated territory Penetration Testing, testing it comes to gathering information about the target company. Penetration testing is usually three steps before testing begins. footprinting, scanning and enumerating. These three together are known as pitch recognition or reconnaissance. This step is to try as much as possible to collect information about the target network and includes the following seven steps are:

    1. Basic data collection
    2. Specify the range of IP addresses for network
    3. Identification of active computers
    4. Discover open ports and access points
    5. Identification of the operating system
    6. Identify the services provided at each port
    7. Network Mapping



This step is very important because hackers may have obtained information at this stage without knowing the purpose of their collection. In this area there are a number of free and commercial resources and tools that can be helpful in obtaining basic information. Some of these sources, such as company newsletters is easy. Were tested using this resource to find useful information that will develop employees, even without realizing it. Other methods used to collect information from Whois, Nslookup, Smart Whois and is SamSpade. For example, using the Whois directory services, domains and registration information about the suppliers and Nslookup provides an interactive query domain name servers do. 

Scanning

next step in the identification of four stages (detection computers Enable, discover open ports and access points detected by the operating system and identify the services provided at each port) or Scanning as part of the dynamics are considered. This phase aimed at collecting information about open ports scanning applications, ping the device, specify the dynamics of the network ports on each device alone. This step towards dynamic footprinting and more detailed information is collected for the purpose. Like before some tools to assist in this process, such as NMap, ping, Telnet, Traceroute, SuperScan, Netcat, NeoTrace and Visual Route. For example, Ping uses the ICMP ECHO request to a specified network host sent. The ping command can also specify a port that receives the response, indicating patency of the port to connect to TCP / IP. You can also use Telnet to establish an interactive relationship with a specified host and port, enter this command. Get answers openness indicates the port to connect to TCP / IP. 



This step aims to design a fairly complete picture of the target network. At this point the user name and group information, shared network resources and applications will be collected. In particular, information on the operating system used (with version) and OEM applications and versions they are considered valuable information in this regard.

  • Active Directory users to obtain information and identify vulnerable

  • NetBIOS identified using Nbscan

  • SNMPutil used for SNMP

  • Deployment of DNS queries

  • Create a null session connections

At this stage of the first phase of testing is advised to gather more information. Much less information obtained by these means, indicating higher security system.


The aim of using influence vulnerability


In the third phase of penetration testing to identify problems related to system configuration, vulnerability scanning tools are used and Password Crackers. Some of the tools used in this area include:


Nessus - A tool to detect vulnerabilities in Unix systems


SARA - the second generation of vulnerability scanning tools SATAN


Whisker - CGI Vulnerability Scan Tool


Hping2 - a network tool that can be customized packages ICMP, UDP and TCP send and to test firewall rules and Evaluation pieces (fragments) packets used.


NAT (NetBIOS Auditing tool) - a tool for identifying vulnerabilities in the NetBIOS setting is an NT system.


Toneloc - tool for automatic answering modem or desktop systems that are used to run software remotely.


There are some commercial tools in this area include:


Internet Security Server (ISS) - This product is very useful and a lot of companies performing penetration testing for the identification of vulnerabilities is often used.


CyberCop - This tool is used to scan for vulnerabilities.


Phonesweep - tool for automatic answering modem or desktop systems that are used to run software remotely.


Apart from the above mentioned data management tools for intrusion detection and intrusion detection are produced in the process. Of course, the topic of intrusion detection is related to penetration testing, but requires separate and detailed review, and so have refused to bring the relevant tools.


After selecting a vulnerability assessment tools , should they be used on systems and networks. The information obtained from these tools, they clearly identify the main vulnerabilities. This step is necessary due to the kind of influence do they have proved so vulnerable. For example, the file must be placed in checked or changed the password of the guest user name. In cases of physical access to part of a document or in a simulated harvest social engineering attacks can be accessed by the system administrator's home phone number.


Cleanup


At this stage all the files that have been deleted during penetration testing and all the settings or parameters that have been changed back to its original state. Also removed all traces of all the systems that they have influence on the mode of penetration testing are.


Provide test results


The test results should contain solutions to reduce or eliminate the vulnerability is. Security audits and penetration testing is a major difference in the point.


In the end, Penetration Testing results should be considered very carefully guarded secret, because the wrong people have access, the possibility of abuse is enormous.



  • Senior Administrator


دوستان ارجمندم ، سلام و عرض ادب

به دنبال پاسخگویی به سئوالات رسیده از شما دوستان در مورد مباحث Penetration Testing  و شناخت ابزارهای آزمونهای تشخیص نفوذ ، برآن شدم تا بصورت تیتروار ، مروری بر این تکنیک ها داشته باشم . بطور کلی و بنا بر نظر تحلیلگران امنیتی ، ابزارهای تشخیص نفوذ با ( 12 ) دسته مختلف طبقه بندی می شوند که ملاخظه می فرمایید :



در ادامه بصورت تیتروار و اجمالی ؛ به معرفی ابزارها ، سازندگان آنها ، لایسنس و نوع پلاتفرمی که برای اجرا نیاز دارند ، می پردازم :


نکته )

روی هر یک از ابزارها کلیک نمایید تا شما را به سایت تولید کننده ابزار برده و یا آنرا دانلود نمایید .


تذکر علمی و حقوقی )

این یادداشت و نوشته های مشابه فقط و فقط به عنوان آموزش و اطلاع رسانی به متخصصان و دانشجویان ارائه شده است و امید که دوستان از آن مصرف متعارف علمی داشته باشند.بدینوسیله نویسنده این وبلاگ ، هر گونه استفاده غیر قانونی از این ابزارها توسط بازدیدکننده ی محترم و همچنین تعاقب قانونی آن را از گذشته تا حال و از حال تا آینده ، از خود ، سلب و ساقط اعلام می دارد .

 

Information Gathering Tools

  • Fingerprinting

Name

Owner

Licence

Platforms

httprint

NetSquare Inc

no cost for personal, educational and non-commercial use.

Win, Lin, Mac, FreeBSD

httprecon

Marc Ruef

GPL

Windows

Netcraft

Netcraft Inc

N/A

WebBased

WebRecon

Aung Khant

GPL

WebBased



 

Configuration Management Testing Tools

  • SSL Testing

Name

Owner

Licence

Platforms

OpenSSL




SSL Digger





  • DB Listener Testing

Name

Owner

Licence

Platforms

TNS Listener




Toad




 



Authentication Testing Tools

  • Password Brute Force Testing

Name

Owner

Licence

Platforms

Burp Intruder




Brutus




Cain & Abel

oxid

Freeware

Windows

John the Ripper




Ophcrack




THC Hydra




 



Session Management Testing Tools

 

Name

Owner

Licence

Platforms

CookieDigger




 



Authorization Testing Tools

Data Validation Testing Tools

  • Fuzzers
  • SQL Injection Testing
  • XSS Testing
  • Buffer Overflow Testing

Name

Owner

Licence

Platforms

Skipfish

N/A

Apache

Linux

w3af

NA

GPL v2

Python required (cross platform)

 



Denial of Service Testing Tools

Web Services Testing Tools

Ajax Testing Tools

HTTP Traffic Monitoring

  • Web Proxies

  • Sniffers

Encoders / Decoders

  • CAPTCHA Decoders

Name

Owner

Licence

Platforms

PWNtcha




The Captcha Breaker







Web Testing Frameworks

Name

Owner

Licence

Platforms

w3af

Andres Riancho and w3af team

GPLv2

Windows, Linux

Websecurify

GNUCITIZEN / Websecurify

GPLv2

Windows, Mac OS, Linux

ZeroDayScan


Free

Online, Cloud

 

در خاتمه با ذکر تعاریف در این خصوص امید که آشنایی دوستان با این مقوله به درستی صورت گرفته و روشنگر عزیزان در پیگیری تحقیقاتشان در این خصوص باشد . ( لازم به ذکر است که کلیه سطور ارائه شده از این پاراگراف مربوطه به مرکز ماهر می باشد که دوستان برای تحقیق بیشتر بدانجا مراجعه نمایند . )

...

در طی سالهای اخیر بسیاری از شرکت ها برای راحتی بیشتر مشتریان و کارمندان خود، برخی امکانات اضافی را به برنامه های کاربردی موجود اضافه کرده و یا برنامه های کاربردی جدیدی را پیاده سازی کرده اند. برای مثال می توان به دسترسی آنلاین به خدمات بانکی و یا گسترش شیوه های ارتباط الکترونیک برای کارمندانی که در خانه کار می کنند، اشاره کرد. از طرف دیگر بسیاری از شرکت ها به ضرورت حضور در اینترنت برای جذب مشتریان بالقوه و حفظ مشتریان فعلی پی برده اند. در هر دو مورد، زمانی که بحث حضور در اینترنت پیش می آید، عنصر امنیت به خصوص امنیت سرورها اهمیت ویژه ای پیدا می کند. سرورهای وب ، در کنار سرویس های مفید خود، مجموعه جدیدی از آسیب پذیری ها را نیز پدید آورده اند که لازم است دست اندرکاران سیستم های رایانه ای، به خصوص سیستم های مبتنی بر وب، آنها را جدی تلقی کنند. البته آسیب پذیری ها به سرورها محدود نمی شوند و ممکن است به صورت عمدی یا غیر عمدی در طراحی و پیاده سازی برنامه های کاربردی، حتی برنامه هایی که مدتهاست در حال کار هستند، ایجاد شده باشند. به همین جهت شناسایی آسیب پذیری ها و میزان نفوذ و تأثیر آنها بر روی سیستم از اهمیت ویژه ای برخوردار است. لذا بسیاری از شرکت ها برای نیل به هدف فوق از تست نفوذ استفاده می کنند.

در این مقاله مفهوم تست نفوذ و تعاریف مرتبط با آن را توضیح می دهیم
.


تست نفوذ چیست؟


یک تست نفوذ یا Penetration Test یک پروسه مجاز، برنامه ریزی شده و سیستماتیک برای به کارگیری آسیب پذیری ها جهت نفوذ به سرور، شبکه و یا منابع برنامه های کاربردی است. در واقع تست نفوذ روشی برای ارزیابی امنیتی یک سیستم یا شبکه کامپیوتری است که از طریق شبیه سازی حمله یک هکر یا نفوذگر خرابکار صورت می گیرد. پروسه تست نفوذ یک تحلیل فعال از سیستم برای یافتن هر حفره، آسیب پذیری و نقص فنی است که بالقوه یک ضعف امنیتی سیستم محسوب می شود. این تحلیل در مقام یک هکر بالقوه انجام می شود و در آن می توان از آسیب پذیری های امنیتی فعال برای اجرای حملات استفاده کرد. همه مشکلات امنیتی باید همراه با ارزیابی میزان اهمیت آنها و همچنین پیشنهاد هایی برای کاهش اثر خطرات و یا راه حل های فنی به صاحب سیستم ارائه شوند. تست نفوذ می تواند با استفاده از منابع داخلی همچون سیستم امنیتی میزبان و یا منابع خارجی همچون اتصالات شرکت به اینترنت هدایت شود. در این تست معمولاً از یک سری ابزارهای اتوماتیک و یا دستی برای آزمودن منابع سیستم استفاده می شود. البته انجام تست نفوذ بر روی سیستم های فعال، خطر از هم گسستن آنها را در پی دارد زیرا اجرا کردن حملات فعال بر روی سیستم ممکن است منجر به از کار افتادگی، بروز برخی رفتارهای غیر قابل پیش بینی و بی ثباتی سیستم شود.

تست نفوذ چه چیزی نیست؟


یک اقدام هماهنگ نشده برای دسترسی بدون اجازه به منابع را نمی توان یک تست نفوذ دانست. تست نفوذ باید به صورت برنامه ریزی شده و هماهنگ با صاحبان سیستم انجام شود. کمترین تأثیر تست نفوذ بر سیستم، ایجاد هشدارهایی بر روی سیستم تشخیص نفوذ یا IDS (در صورت وجود) است. به علاوه برخی تست ها منجر به از کار افتادن تجهیزات شبکه یا سیستم می شوند و به همین علت آگاهی مدیران و کارمندان از انجام تست نفوذ یک ضرورت به حساب می آید. تنها مورد استثناء در آگاهی دادن کامل به کارمندان، مربوط به تست سیستم تشخیص نفوذ و عکس العمل کارمندان در برابر آن است. بنابراین گرفتن مجوز از مدیریت برای انجام تست نفوذ جهت پذیرش پیامدهای آن، ضروری محسوب می شود.

چه چیزهایی باید تست شوند؟


در تست نفوذ لازم است تمام سرویس های درونی که توسط شرکت ارائه می شوند، مورد بررسی و آزمون قرار گیرند. سرویس های مذکور عبارتند از: Mail، DNS، سیستم های فایروال، ساختار کلمات عبور، سیستم های پروتکل انتقال فایل (FTP)و وب سرورها. طبق اطلاعات جدید سیستم های بی سیم شرکت و Public Branch Exchange(PBX) نیز باید مورد تست قرار گیرند. از طرف دیگر روش های بالقوه نفوذ مانند دسترسی به منابع شبکه و شیوه به دست آوردن اطلاعات نیز باید مورد بررسی قرار گیرند. همچنین تلاش های مهندسی اجتماعی را نیز برای دسترسی به منابع باید در نظر گرفت.

روش های تست: جعبه سیاه در مقابل جعبه سفید


تست نفوذ و یا ارزیابی آسیب پذیری ها از دیدگاه مدیریتی به دو روش اساسی می تواند انجام شود. در واقع تست نفوذ می تواند به صورت محرمانه (تست جعبه سیاه) و یا به صورت عمومی (تست جعبه سفید) انجام پذیرد.

تفاوت اصلی در این روشها میزان دانش تست کنندگان از جزئیات پیاده سازی سیستم مورد بررسی است. در تست نفوذ به روش جعبه سیاه فرض می شود تست کنندگان هیچگونه اطلاعاتی از زیرساخت های سیستم ندارند و لذا ابتدا باید گستردگی و توزیع سیستم را یافته و سپس شروع به تحلیل کنند. این مرحله بسیار زمان بر بوده و به عنوان مرحله جمع آوری اطلاعات شناخته می شود. در نقطه مقابل و در انتهای دیگر طیف، روش جعبه سفید وجود دارد که در آن اطلاعات کامل زیر ساخت، در اختیار تست کنندگان قرار می گیرد. این اطلاعات معمولاً شامل نمودارهای شبکه، کد منبع و اطلاعات آدرس دهی IP است. در میان این دو، طیف گسترده ای وجود دارد که آن را به عنوان روش جعبه خاکستری می شناسند. همچنین تست های نفوذ بنا بر میزان اطلاعاتی که در اختیار تست کنندگان قرار می گیرد به عنوان تست های "افشای کامل"، "افشای جزئی" و یا "کور" نیز توضیح داده می شوند. بحث هایی بر سر میزان شایستگی نسبی هر کدام از این روش ها وجود دارد. تست به روش جعبه سیاه حملاتی را از طرف یک فرد ناآشنا با سیستم شبیه سازی می کند. تست نفوذ به روش جعبه سفید حملاتی را از داخل سازمان و یا بعد از نشت اطلاعات حساس شبیه سازی می کند که در آن مهاجم به نقشه شبکه، کد منبع و حتی برخی از کلمات عبور دسترسی دارد.

تست داخلی در مقابل تست خارجی


امروزه بسیاری از سازمان ها و شرکت ها دارای شبکه داخلی یا LAN هستند که از طریق آن بین کامپیوترها و منابع ارتباط برقرار کرده و می توانند برخی از منابع را از این طریق به اشتراک گذارند. در اینجا منظور از شبکه داخلی همه کامپیوترها، سوئیچ ها، پرینترها و همه دستگاه های دیگری است که در داخل شرکت یا سازمان قابل دسترسی هستند. منظور از دستگاه های خارجی، آنهایی هستند که از طریق اینترنت و یا بخش عمومی شبکه قابل دسترسی هستند. در این بخش دستگاه هایی مانند وب سرورها (HTTP)، میل سرورها (POP3 و SMTP) و سرورهای DNS وجود دارند. به این دستگاه ها منابع خارجی گفته شده و معمولاً از آنجایی که به اینترنت اتصال پیدا می کنند، میزان خطر آنها نسبت به منابع داخل سازمان بالاتر در نظر گرفته می شود، اما تحقیقات نشان داده است حدود 50 درصد رخدادهای امنیتی در داخل سازمان رخ می دهند و هزینه ای را که بر سازمان تحمیل می کنند بسیار بیشتر از حملات خارج سازمانی است. برای مثال هر حمله داخلی به طور متوسط 2.7 میلیون دلار و هر حمله خارجی 57 هزار دلار برای شرکت اراکل هزینه دارد. تست هایی که برای مشخص کردن آسیب پذیری های با دسترسی به منابع داخلی سازمان و یا از طریق مهندسی اجتماعی انجام می شوند، به عنوان تست نفوذ داخلی شناخته می شوند. تست های نفوذ داخلی می توانند به خوبی نشان دهنده حملاتی که با دسترسی های مجاز انجام می شوند باشند. برای مثال می توان به حملاتی که از طرف کارمندان اخراجی انجام می شود، اشاره کرد. در مقابل تست نفوذ خارجی برای شبیه سازی حملاتی است که از طریق اینترنت قابل انجام هستند. برای مثال در صورتی که هدف از انجام تست مطمئن شدن از امنیت پایگاه داده از سمت وب سایت سازمان است، تست نفوذ خارجی پیشنهاد می شود. البته بسیاری از سازمان ها و شرکت ها از هر دو روش برای تست نفوذ استفاده می کنند.


محدودیت های تست نفوذ


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


استانداردها و گواهینامه ها


انجام تست نفوذ می تواند منجر به افشای اطلاعات حساس سازمان مورد بررسی شود. به همین دلیل شرکت های امنیتی باید صریحاً نشان دهند که از هکرهای کلاه سیاه قبلی استفاده نکرده و همه کارمندان آنها به قوانین مربوط به کد نویسی اخلاقی پایبند هستند. شرکت های امنیتی برای نشان دادن قابل اعتماد بودن خود، می توانند از گواهینامه های حرفه ای در این زمینه استفاده کنند.

موسسه Information Assurance Certification Review Board (IACRB) یک گواهینامه تست نفوذ را به عنوان Certified Penetration Tester(CPT) ارائه می دهد. برای دریافت CPT کاندیدا باید چندین امتحان تئوری را پشت سر گذاشته و سپس یک امتحان عملی را نیز با اجرای یک تست نفوذ بر روی سرورهای فعال پشت سر گذارد. موسسه SANS یکی دیگر از موسساتی است که در زمینه های مختلف امنیت فناوری اطلاعات دوره های آموزشی دارد و یک گواهینامه امنیتی به نام GIAC(Global Information Assurance Certification) صادر می کند. دو نوع از گواهینامه های GIAC مختص به تست نفوذ هستند و با نام های GIAC Certified Penetration Tester(GPEN) و GIAC Web Application Penetration Tester(GWAPT) شناخته می شوند.

برای برنامه های کاربردی مبتنی بر وب، Open Web Application Security Project(OWASP) یک چارچوب کاری را ارائه داده است که به عنوان یک محک (benchmark ) شناخته شده در سراسر جهان استفاده می شود.

چندین گواهینامه امنیتی نیز توسط دولت انگلیس تهیه شده است که در ابتدا هدف آنها سازمان های وابسته به دولت بود، ولی مدتی بعد در دسترس شرکت های تجاری که قصد دارند سطح بالایی از امنیت را برای مشتریان خود تضمین کنند، نیز قرار گرفت.

برای سالها تنها استاندارد تست نفوذ، الگوی CHECK بوده است که توسط گروه امنیت الکترونیک و ارتباطات انگلیس (CESG) تهیه شده است. این استاندارد در ابتدا یک پیش شرط اجباری برای تست های دولت مرکزی بوده ولی با توجه به قوانین انگلیس، اجرای آن برای دولت های محلی و شرکت های دولتی اجباری نبوده است. قابل ذکر است که استاندارد مذکور از سوی بخش خصوصی و شرکت های تجاری با استقبال خوبی روبرو شد.

الگوی TIGER یکی از الگوهای شناخته شده غیر دولتی انگلستان برای تست نفوذ است. برای به دست آوردن گواهینامه منطبق با الگوی مذکور، آموزش هایی توسط شرکت QBit ارائه می شود و برگزار کننده امتحانات مربوطه Glamorgan University است. برای گرفتن گواهینامه مذکور نیاز نیست فرد متقاضی در استخدام یک شرکت امنیتی باشد. گواهینامه تست کننده امنیتی ارشد (Tiger Senior Security Tester(SST)) معادل با رهبر تیم CHECK یا CHECK Team Leader(CTL) شناخته می شود. گواهینامه CREST(Council of Registered Ethical Security Testers) نیز یک گواهینامه تست نفوذ انگلیسی است که بر مبنای استاندارد CREST داده می شود. موسسه CREST یک مجتمع غیر انتفاعی متشکل از 15 شرکت امنیتی انگلیسی اجرا کننده تست نفوذ است. گواهینامه این موسسه نیز مانند گواهینامه CHECK تنها به کسانی که در استخدام شرکت های ارائه دهنده گواهینامه هستند، داده می شود.


  • Senior Administrator