دوستان ارجمندم ...
این سطور ، قسمت آخر مربوط به یادداشت قبلی در خصوص ابزارهای تست تشخیص نفوذ می باشد که با عنوان روش های اجرای تست تشخیص نفوذ ارائه می گردد . لازم به ذکر است که نوشته های ذیل همگی ترجمه و تصحیح شده ی مقالات ارائه شده از این مقوله می باشد که دوستان می توانند در سایت ماهر ، به آنها دست یابند . امید که روشنگر راه باشد . یا حق
پیش نیاز اجرای تست نفوذ
هر
شرکت یا سازمان، پیش از اجرای تست نفوذ، به یک سیاست امنیتی کامپیوتر نیاز
دارد. سیاست امنیتی، یک آئین نامه رسمی از قوانینی است که باید توسط
افرادی که دسترسی به دارایی های اطلاعاتی و فناوری یک شرکت یا سازمان
دارند، رعایت شوند. تدوین سیاست امنیتی باید با توجه به ارزش دارایی ها و
منابع اطلاعاتی شرکت انجام شده و سپس رویه های امنیتی مناسب با آنها ایجاد
شوند. فاکتور اصلی در تعیین رویه ها و کنش های امنیتی مناسب در سیاست
امنیتی کامپیوتر، هزینه ای است که شرکت در صورت از دست دادن داده ها متحمل
می شود. برای مثال، در صورتی که شرکتی با اطلاعات دولتی و یا مالی سر و کار
داشته باشد، روند غیر فعال کردن یک حساب کاربری (User ID) در آن، متفاوت
از یک دانشکده خواهد بود. به علاوه اگر شرکتی دارای اطلاعات خصوصی، اسرار
تجاری و یا لیست مشتریانی است که رقبا نباید از آن اطلاع حاصل کنند، لازم
است ارزش امنیتی بالاتری را برای اطلاعات مذکور قائل شده و گام های امنیتی
مناسب برای حفاظت از آنها برداشته شود.
یک سیاست امنیتی کامپیوتر باید موارد زیر را پوشش دهد:
-
-
اتصالات از طریق خط تلفن (dial-up)
-
-
-
مسئولیت ها و حقوق کاربران
-
-
-
روال های پاسخگویی به فوریت ها
-
-
-
گزارش ها و ثبت وقایع (logs)
-
-
چگونگی گزارش یک مشکل یا رخداد امنیتی
-
تخلفاتی که باید گزارش شوند
-
-
برنامه ریزی تست نفوذ
قبل
از اجرای تست نفوذ لازم است برای آن برنامه ریزی شده و میزان آزادی عمل
تست و قلمروی آن دقیقاً معین شود. همچنین در این مرحله در مورد اجرای تست
به شیوه جعبه سفید و یا جعبه سیاه تصمیم گیری صورت می گیرد، اعضای تیم مشخص
می گردند، معیارهای موفقیت تست تعریف می شوند و مجوز مدیریت دریافت می
گردد. در این مرحله با توجه به حوزه تست نفوذ، پارامترهای ضروری برای تشخیص
آسیب پذیری ها تعیین می گردد. مواردی که در زمینه برنامه ریزی تست نفوذ
باید مورد توجه قرار گیرند عبارتند از:
-
مدت زمان انجام تست چقدر است؟
-
چه کسانی از انجام تست اطلاع دارند؟
-
چه کسی تأیید کننده دسترسی غیر مجاز است؟
-
چه منابع و سیستم هایی و چگونه تست شوند ؟
-
-
-
-
-
-
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 شناخته می شوند. در این
گام سعی می شود تا حد امکان اطلاعات در مورد شبکه هدف جمع آوری گردد و شامل
هفت زیر مرحله می شود:
-
-
مشخص کردن دامنه آدرس های IP شبکه
-
-
کشف پورت های باز و نقاط دسترسی
-
-
شناسایی سرویس های ارائه شده در هر پورت
-
در زیر در مورد هر کدام از گام های پیش تست بیشتر توضیح می دهیم:
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)
Member Rights and Responsibilities
Responsibilities and Rights Management
Procedures for responding to emergencies
How to report a security issue or event
Violations that must be reported
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?
Who is accrediting unauthorized access?
What resources and systems and how to test?
Intrusion Detection System
Public Branch Exchange (PBX)
UserID or the inactivate an employee leaving the system
Modem settings for automatic or availability of external accountability
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:
- Basic data collection
- Specify the range of IP addresses for network
- Identification of active computers
- Discover open ports and access points
- Identification of the operating system
- Identify the services provided at each port
- 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
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.