Kiểm tra thâm nhập - Hướng dẫn nhanh

Kiểm tra thâm nhập là gì?

Kiểm thử thâm nhập là một loại kiểm thử bảo mật được sử dụng để kiểm tra tính không an toàn của một ứng dụng. Nó được tiến hành để tìm ra rủi ro bảo mật có thể có trong hệ thống.

Nếu một hệ thống không được bảo mật, thì bất kỳ kẻ tấn công nào cũng có thể phá vỡ hoặc chiếm quyền truy cập vào hệ thống đó. Rủi ro bảo mật thường là một lỗi ngẫu nhiên xảy ra trong khi phát triển và triển khai phần mềm. Ví dụ, lỗi cấu hình, lỗi thiết kế và lỗi phần mềm, v.v.

Tại sao cần phải kiểm tra thâm nhập?

Kiểm tra thâm nhập thường đánh giá khả năng bảo vệ mạng, ứng dụng, điểm cuối và người dùng của hệ thống khỏi các mối đe dọa bên ngoài hoặc bên trong. Nó cũng cố gắng bảo vệ các kiểm soát bảo mật và đảm bảo chỉ truy cập được phép.

Kiểm tra thâm nhập là cần thiết vì -

  • Nó xác định một môi trường mô phỏng, tức là cách kẻ xâm nhập có thể tấn công hệ thống thông qua white hat attack.

  • Nó giúp tìm ra các khu vực yếu mà kẻ xâm nhập có thể tấn công để giành quyền truy cập vào các tính năng và dữ liệu của máy tính.

  • Nó hỗ trợ để tránh black hat attack và bảo vệ dữ liệu gốc.

  • Nó ước tính mức độ lớn của cuộc tấn công vào doanh nghiệp tiềm năng.

  • Nó cung cấp bằng chứng cho thấy lý do tại sao việc tăng cường đầu tư vào khía cạnh bảo mật của công nghệ là quan trọng

Khi nào thực hiện kiểm tra thâm nhập?

Kiểm tra thâm nhập là một tính năng cần thiết cần được thực hiện thường xuyên để đảm bảo hoạt động của hệ thống. Ngoài ra, nó nên được thực hiện bất cứ khi nào -

  • Hệ thống an ninh phát hiện ra các mối đe dọa mới của những kẻ tấn công.
  • Bạn thêm một cơ sở hạ tầng mạng mới.
  • Bạn cập nhật hệ thống của mình hoặc cài đặt phần mềm mới.
  • Bạn di dời văn phòng của bạn.
  • Bạn thiết lập chương trình / chính sách người dùng cuối mới.

Kiểm tra thâm nhập có lợi như thế nào?

Thử nghiệm thâm nhập mang lại những lợi ích sau:

  • Enhancement of the Management System- Nó cung cấp thông tin chi tiết về các mối đe dọa bảo mật. Ngoài ra, nó cũng phân loại mức độ lỗ hổng và gợi ý cho bạn, cái nào dễ bị tổn thương hơn và cái nào ít hơn. Vì vậy, bạn có thể dễ dàng và chính xác quản lý hệ thống bảo mật của mình bằng cách phân bổ tài nguyên bảo mật cho phù hợp.

  • Avoid Fines- Kiểm tra thâm nhập giữ cho các hoạt động chính của tổ chức của bạn được cập nhật và tuân thủ hệ thống kiểm toán. Vì vậy, thử nghiệm thâm nhập bảo vệ bạn khỏi bị phạt.

  • Protection from Financial Damage- Một vi phạm đơn giản của hệ thống bảo mật có thể gây ra thiệt hại hàng triệu đô la. Kiểm tra thâm nhập có thể bảo vệ tổ chức của bạn khỏi những thiệt hại như vậy.

  • Customer Protection- Việc vi phạm dữ liệu của dù chỉ một khách hàng có thể gây ra thiệt hại lớn về tài chính cũng như thiệt hại về danh tiếng. Nó bảo vệ các tổ chức giao dịch với khách hàng và giữ nguyên dữ liệu của họ.

Kiểm tra thâm nhập là sự kết hợp của các kỹ thuật xem xét các vấn đề khác nhau của hệ thống và kiểm tra, phân tích và đưa ra giải pháp. Nó dựa trên một quy trình có cấu trúc thực hiện kiểm tra thâm nhập từng bước.

Chương này mô tả các bước hoặc các giai đoạn khác nhau của phương pháp thử nghiệm thâm nhập.

Các bước của phương pháp kiểm tra thâm nhập

Sau đây là bảy bước của kiểm tra thâm nhập -

Lập kế hoạch & Chuẩn bị

Lập kế hoạch và chuẩn bị bắt đầu với việc xác định các mục tiêu và mục tiêu của thử nghiệm thâm nhập.

Khách hàng và người kiểm tra cùng xác định các mục tiêu để cả hai bên có cùng mục tiêu và hiểu biết. Các mục tiêu chung của thử nghiệm thâm nhập là -

  • Để xác định lỗ hổng bảo mật và nâng cao tính bảo mật của hệ thống kỹ thuật.
  • Có bảo mật CNTT được xác nhận bởi bên thứ ba bên ngoài.
  • Tăng cường bảo mật của cơ sở hạ tầng tổ chức / nhân sự.

Trinh sát

Trinh sát bao gồm phân tích thông tin sơ bộ. Nhiều khi, người kiểm tra không có nhiều thông tin ngoài thông tin sơ bộ, tức là địa chỉ IP hoặc khối địa chỉ IP. Người kiểm tra bắt đầu bằng cách phân tích thông tin có sẵn và nếu cần, yêu cầu thêm thông tin như mô tả hệ thống, gói mạng, v.v. từ máy khách. Bước này là kiểm tra thâm nhập thụ động, một loại. Mục tiêu duy nhất là có được thông tin đầy đủ và chi tiết về hệ thống.

Khám phá

Trong bước này, người kiểm tra thâm nhập rất có thể sẽ sử dụng các công cụ tự động để quét nội dung mục tiêu nhằm phát hiện ra các lỗ hổng. Các công cụ này thường có cơ sở dữ liệu riêng cung cấp thông tin chi tiết về các lỗ hổng bảo mật mới nhất. Tuy nhiên, người thử nghiệm khám phá

  • Network Discovery - Chẳng hạn như khám phá hệ thống bổ sung, máy chủ và các thiết bị khác.

  • Host Discovery - Nó xác định các cổng mở trên các thiết bị này.

  • Service Interrogation - Nó thẩm vấn các cổng để khám phá các dịch vụ thực tế đang chạy trên chúng.

Phân tích thông tin và rủi ro

Trong bước này, người kiểm tra phân tích và đánh giá thông tin thu thập được trước các bước kiểm tra để thâm nhập động vào hệ thống. Do số lượng hệ thống và quy mô cơ sở hạ tầng lớn hơn nên việc này cực kỳ tốn thời gian. Trong khi phân tích, người thử nghiệm xem xét các yếu tố sau:

  • Các mục tiêu xác định của thử nghiệm thâm nhập.

  • Các rủi ro tiềm ẩn đối với hệ thống.

  • Thời gian ước tính cần thiết để đánh giá các lỗi bảo mật tiềm ẩn cho thử nghiệm thâm nhập tích cực tiếp theo.

Tuy nhiên, từ danh sách các hệ thống đã xác định, người kiểm tra có thể chọn chỉ kiểm tra những hệ thống có chứa lỗ hổng tiềm ẩn.

Các nỗ lực xâm nhập tích cực

Đây là bước quan trọng nhất phải được thực hiện cẩn thận. Bước này đòi hỏi mức độ mà các lỗ hổng tiềm ẩn đã được xác định trong bước khám phá có các rủi ro thực tế. Bước này phải được thực hiện khi cần xác minh các lỗ hổng tiềm ẩn. Đối với những hệ thống có yêu cầu về tính toàn vẹn rất cao, cần phải xem xét cẩn thận lỗ hổng và rủi ro tiềm ẩn trước khi tiến hành các thủ tục làm sạch quan trọng.

Phân tích cuối cùng

Bước này chủ yếu xem xét tất cả các bước đã tiến hành (đã thảo luận ở trên) cho đến thời điểm đó và đánh giá các lỗ hổng bảo mật dưới dạng rủi ro tiềm ẩn. Hơn nữa, người thử nghiệm đề xuất loại bỏ các lỗ hổng và rủi ro. Trên hết, người kiểm tra phải đảm bảo tính minh bạch của các bài kiểm tra và các lỗ hổng mà nó tiết lộ.

Chuan bi bao cao

Việc chuẩn bị báo cáo phải bắt đầu với các thủ tục kiểm tra tổng thể, sau đó là phân tích các lỗ hổng và rủi ro. Các rủi ro cao và các lỗ hổng nghiêm trọng phải được ưu tiên và sau đó là thứ tự thấp hơn.

Tuy nhiên, trong khi ghi lại báo cáo cuối cùng, cần phải xem xét những điểm sau:

  • Tóm tắt tổng thể về thử nghiệm thâm nhập.
  • Chi tiết từng bước và thông tin thu thập được trong quá trình thử nghiệm bút.
  • Chi tiết về tất cả các lỗ hổng và rủi ro được phát hiện.
  • Chi tiết vệ sinh và sửa chữa hệ thống.
  • Đề xuất cho bảo mật trong tương lai.

Nói chung, hai thuật ngữ này, tức là Kiểm tra thâm nhập và Đánh giá lỗ hổng bảo mật được nhiều người sử dụng thay thế cho nhau, có thể là do hiểu nhầm hoặc cường điệu tiếp thị. Tuy nhiên, cả hai thuật ngữ đều khác nhau về mục tiêu và các phương tiện khác. Tuy nhiên, trước khi mô tả sự khác biệt, trước tiên chúng ta hãy hiểu từng thuật ngữ một.

Kiểm tra thâm nhập

Kiểm tra thâm nhập sao chép các hành động của một kẻ tấn công mạng bên ngoài hoặc / và nội bộ nhằm phá vỡ bảo mật thông tin và hack dữ liệu có giá trị hoặc phá vỡ hoạt động bình thường của tổ chức. Vì vậy, với sự trợ giúp của các công cụ và kỹ thuật tiên tiến, một trình kiểm tra thâm nhập (còn được gọi làethical hacker) nỗ lực kiểm soát các hệ thống quan trọng và có được quyền truy cập vào dữ liệu nhạy cảm.

Đánh giá tính dễ bị tổn thương

Mặt khác, đánh giá lỗ hổng bảo mật là kỹ thuật xác định (khám phá) và đo lường các lỗ hổng bảo mật (quét) trong một môi trường nhất định. Đó là một đánh giá toàn diện về vị trí an toàn thông tin (phân tích kết quả). Hơn nữa, nó xác định các điểm yếu tiềm ẩn và đưa ra các biện pháp giảm thiểu thích hợp (khắc phục) để loại bỏ những điểm yếu đó hoặc giảm xuống dưới mức rủi ro.

Sơ đồ sau đây tóm tắt đánh giá tính dễ bị tổn thương -

Bảng sau đây minh họa sự khác biệt cơ bản giữa kiểm tra thâm nhập và đánh giá tính dễ bị tổn thương -

Kiểm tra thâm nhập Vulnerability Assessments
Determines the scope of an attack. Makes a directory of assets and resources in a given system.
Tests sensitive data collection. Discovers the potential threats to each resource.
Gathers targeted information and/or inspect the system. Allocates quantifiable value and significance to the available resources.
Cleans up the system and gives final report. Attempts to mitigate or eliminate the potential vulnerabilities of valuable resources.
It is non-intrusive, documentation and environmental review and analysis. Comprehensive analysis and through review of the target system and its environment.
It is ideal for physical environments and network architecture. It is ideal for lab environments.
It is meant for critical real-time systems. It is meant for non-critical systems.

Which Option is Ideal to Practice?

Both the methods have different functionality and approach, so it depends upon the security position of the respective system. However, because of the basic difference between penetration testing and vulnerability assessment, the second technique is more beneficial over the first one.

Vulnerability assessment identifies the weaknesses and gives solution to fix them. On the other hand, penetration testing only answers the question that "can anyone break-in the system security and if so, then what harm he can do?"

Further, a vulnerability assessment attempts to improve security system and develops a more mature, integrated security program. On the other hand, a penetration testing only gives a picture of your security program’s effectiveness.

As we have seen here, the vulnerability assessment is more beneficial and gives better result in comparison to penetration testing. But, experts suggest that, as a part of security management system, both techniques should be performed routinely to ensure a perfect secured environment.

The type of penetration testing normally depends on the scope and the organizational wants and requirements. This chapter discusses about different types of Penetration testing. It is also known as Pen Testing.

Types of Pen Testing

Following are the important types of pen testing −

  • Black Box Penetration Testing
  • White Box Penetration Testing
  • Grey Box Penetration Testing

For better understanding, let us discuss each of them in detail −

Black Box Penetration Testing

In black box penetration testing, tester has no idea about the systems that he is going to test. He is interested to gather information about the target network or system. For example, in this testing, a tester only knows what should be the expected outcome and he does not know how the outcomes arrives. He does not examine any programming codes.

Advantages of Black Box Penetration Testing

It has the following advantages −

  • Tester need not necessarily be an expert, as it does not demand specific language knowledge

  • Tester verifies contradictions in the actual system and the specifications

  • Test is generally conducted with the perspective of a user, not the designer

Disadvantages of Black Box Penetration Testing

Its disadvantages are −

  • Particularly, these kinds of test cases are difficult to design.

  • Possibly, it is not worth, incase designer has already conducted a test case.

  • It does not conduct everything.

White Box Penetration Testing

This is a comprehensive testing, as tester has been provided with whole range of information about the systems and/or network such as Schema, Source code, OS details, IP address, etc. It is normally considered as a simulation of an attack by an internal source. It is also known as structural, glass box, clear box, and open box testing.

White box penetration testing examines the code coverage and does data flow testing, path testing, loop testing, etc.

Advantages of White Box Penetration Testing

It carries the following advantages −

  • It ensures that all independent paths of a module have been exercised.

  • It ensures that all logical decisions have been verified along with their true and false value.

  • It discovers the typographical errors and does syntax checking.

  • It finds the design errors that may have occurred because of the difference between logical flow of the program and the actual execution.

Grey Box Penetration Testing

In this type of testing, a tester usually provides partial or limited information about the internal details of the program of a system. It can be considered as an attack by an external hacker who had gained illegitimate access to an organization's network infrastructure documents.

Advantages of Grey Box Penetration Testing

It has the following advantages −

  • As the tester does not require the access of source code, it is non-intrusive and unbiased

  • As there is clear difference between a developer and a tester, so there is least risk of personal conflict

  • You don’t need to provide the internal information about the program functions and other operations

Areas of Penetration Testing

Penetration testing is normally done in the following three areas −

  • Network Penetration Testing − In this testing, the physical structure of a system needs to be tested to identify the vulnerability and risk which ensures the security in a network. In the networking environment, a tester identities security flaws in design, implementation, or operation of the respective company/organization’s network. The devices, which are tested by a tester can be computers, modems, or even remote access devices, etc

  • Application Penetration Testing − In this testing, the logical structure of the system needs to be tested. It is an attack simulation designed to expose the efficiency of an application’s security controls by identifying vulnerability and risk. The firewall and other monitoring systems are used to protect the security system, but sometime, it needs focused testing especially when traffic is allowed to pass through the firewall.

  • The response or workflow of the system − This is the third area that needs to be tested. Social engineering gathers information on human interaction to obtain information about an organization and its computers. It is beneficial to test the ability of the respective organization to prevent unauthorized access to its information systems. Likewise, this test is exclusively designed for the workflow of the organization/company.

Both manual penetration testing and automated penetration testing are conducted for the same purpose. The only difference between them is the way they are conducted. As the name suggests, manual penetration testing is done by human beings (experts of this field) and automated penetration testing is done by machine itself.

This chapter will help you learn the concept, differences, and applicability of both the terms.

What is Manual Penetration Testing?

Manual penetration testing is the testing that is done by human beings. In such type of testing, vulnerability and risk of a machine is tested by an expert engineer.

Generally, testing engineers perform the following methods −

  • Data Collection − Data collection plays a key role for testing. One can either collect data manually or can use tool services (such as webpage source code analysis technique, etc.) freely available online. These tools help to collect information like table names, DB versions, database, software, hardware, or even about different third party plugins, etc

  • Vulnerability Assessment − Once the data is collected, it helps the testers to identify the security weakness and take preventive steps accordingly.

  • Actual Exploit − This is a typical method that an expert tester uses to launch an attack on a target system and likewise, reduces the risk of attack.

  • Report Preparation − Once the penetration is done, the tester prepares a final report that describes everything about the system. Finally the report is analyzed to take corrective steps to protect the target system.

Types of Manual Penetration Testing

Manual penetration testing is normally categorized in two following ways −

  • Focused Manual Penetration Testing − It is a much focused method that tests specific vulnerabilities and risks. Automated penetration testing cannot perform this testing; it is done only by human experts who examine specific application vulnerabilities within the given domains.

  • Comprehensive Manual Penetration Testing − It is through testing of whole systems connected with each other to identify all sorts of risk and vulnerability. However, the function of this testing is more situational, such as investigating whether multiple lower-risk faults can bring more vulnerable attack scenario, etc

What is Automated Penetration Testing?

Automated penetration testing is much faster, efficient, easy, and reliable that tests the vulnerability and risk of a machine automatically. This technology does not require any expert engineer, rather it can be run by any person having least knowledge of this field.

Tools for automated penetration testing are Nessus, Metasploit, OpenVAs, backtract (series 5), etc. These are very efficient tools that changed the efficiency and meaning of penetration testing.

However, the following table illustrates the fundamental difference between the manual and automated penetration testing −

Manual Penetration Testing Automated Penetration Testing
It requires expert engineer to perform the test. It is automated so even a learner can run the test.
It requires different tools for the testing. It has integrated tools does required anything from outside.
In this type of testing, results can vary from test to test. It has fixed result.
This test requires to remember cleaning up memory by the tester. It does not.
It is exhaustive and time taking. It is more efficient and fast.
It has additional advantages i.e. if an expert does pen test, then he can analyze better, he can think what a hacker can think and where he can attack. Hence, he can put security accordingly. It cannot analyze the situation.
As per the requirement, an expert can run multiple testing. It cannot.
For critical condition, it is more reliable. It is not.

Penetration testing, normally consists of information gathering, vulnerability and risk analysis, vulnerability exploits, and final report preparation.

It is also essential to learn the features of various of tools which are available with penetration testing. This chapter provides information and insights about these features.

What are Penetration Testing Tools?

The following table collects some of the most significant penetration tools and illustrates their features −

Tool Name Purpose Portability Expected Cost
Hping

Port Scanning

Remote OC fingerprinting

Linux, NetBSD,

FreeBSD,

OpenBSD,

Free
Nmap

Network Scanning

Port Scanning

OS Detection

Linux, Windows, FreeBSD, OS X, HP-UX, NetBSD, Sun, OpenBSD, Solaris, IRIX, Mac, etc. Free
SuperScan

Runs queries including ping, whois, hostname lookups, etc.

Detects open UDP/TCP ports and determines which services are running on those ports.

Windows 2000/XP/Vista/7 Free
p0f

Os fingerprinting

Firewall detection

Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, Windows, and AIX Free
Xprobe

Remote active OS fingerprinting

Port Scanning

TCP fingerprinting

Linux Free
Httprint

Web server fingerprinting SSL detection

Detect web enabled devices (e.g., wireless access points, switches, modems, routers)

Linux, Mac OS X, FreeBSD, Win32 (command line & GUI Free
Nessus Detect vulnerabilities that allow remote cracker to control/access sensitive data Mac OS X, Linux, FreeBSD, Apple, Oracle Solaris, Windows Free to limited edition
GFI LANguard Detect network vulnerabilities Windows Server 2003/2008, Windows 7 Ultimate/ Vista, Windows 2000 Professional, Business/XP, Sever 2000/2003/2008 Only Trial Version Free
Iss Scanner Detect network vulnerabilities Windows 2000 Professional with SP4, Windows Server 2003 Standard with SO1, Windows XP Professional with SP1a Only Trial Version Free
Shadow Security Scanner Detect network vulnerabilities, audit proxy and LDAP servers Windows but scan servers built on any platform Only Trial Version Free
Metasploit Framework

Develop and execute exploit code against a remote target

Test vulnerability of computer systems

All versions of Unix and Windows Free
Brutus Telnet, ftp, and http password cracker Windows 9x/NT/2000 Free

Computer systems and associated networks normally consist of a large number of devices and most of them play a major role in conducting total works and businesses of the respective system. A minor flaw at any point of time, and at any part of these devices may cause great damage to your business. Therefore, all of them are vulnerable to risk and need to be secured properly.

What is Infrastructure Penetration Testing?

Infrastructure penetration testing includes all internal computer systems, associated external devices, internet networking, cloud and virtualization testing.

Whether hidden on your internal enterprise network or from public view, there is always a possibility that an attacker can leverage which can harm your infrastructure. So, it is better to be safe in advance rather than regret later.

Types of Infrastructure Penetration Testing

Following are the important types of infrastructure penetration testing −

  • External Infrastructure Penetration Testing
  • Internal Infrastructure Penetration Testing
  • Cloud and Virtualization Penetration Testing
  • Wireless Security Penetration Testing

External Infrastructure Testing

The penetration test, targeting the external infrastructure discovers what a hacker could do with your networks, which is easily accessible through the Internet.

In this testing, a tester normally replicates the same kind of attacks that the hackers can use by finding and mapping the security flaws in your external infrastructure.

There are various benefits of leveraging external infrastructure penetration testing, as it −

  • Identifies the flaws within the firewall configuration that could be misused

  • Finds out how information can be leaked out from your system by an attacker

  • Suggests how these issues can be fixed

  • Prepares a comprehensive report highlighting the security risk of the border networks, and suggests solutions

  • Ensures overall efficiency and productivity of your business

Internal Infrastructure Penetration Testing

Due to some minor internal security flaws, hackers are illegally committing frauds in large organizations. So, with internal infrastructure penetration testing, a tester can identify the possibility of a security and from which employee, this problem has occurred.

Internal infrastructure penetration testing benefits as it −

  • Identifies how an internal attacker could take advantage of even a minor security flaw.

  • Identifies the potential business risk and damage that an internal attacker can inflict.

  • Improves the security systems of internal infrastructure.

  • Prepares a comprehensive report giving details of the security exposures of internal networks along with the detailed action plan on how to deal with it.

Cloud and Virtualization Penetration Testing

As you buy a public server or wave space, it significantly increases the risks of data breach. Further, identifying the attacker on cloud environment is difficult. An attacker can also buy hosting a Cloud facility to get access to your new Cloud data.

In fact, most of the Cloud hosting is implemented on virtual infrastructure, causing Virtualization risk that an attacker can easily access.

Cloud and Virtualization penetration testing benefits as it −

  • Discovers the real risks within the virtual environment and suggests the methods and costs to fix the threats and flaws.

  • Provides guidelines and an action plan how to resolve the issue/s.

  • Improves the overall protection system.

  • Prepares a comprehensive security system report of the Cloud computing and Virtualization, outline the security flaw, causes and possible solutions.

Wireless Security Penetration Testing

Wireless technology of your laptop and other devices provides an easy and flexible access to various networks. The easily accessible technology is vulnerable to unique risks; as physical security cannot be used to limit network access. An attacker can hack from the remote location. Hence, wireless security penetration testing is necessary for your company/organization.

The following are the reasons for having wireless technology −

  • To find the potential risk caused by your wireless devices.

  • To provide guidelines and an action plan on how to protect from the external threats.

  • To improve the overall security system.

  • For preparing a comprehensive security system report of the wireless networking, to outline the security flaw, causes, and possible solutions.

There is the issue of protecting the most critical data of the organization; therefore, the role of a penetration tester is much critical, a minor error can put both the parties (tester and his client) on risk.

Therefore, this chapter discusses various aspects of a penetration tester including his qualification, experience, and responsibilities.

Qualification of Penetration Testers

This test can be performed only by a qualified penetration tester; therefore, qualification of a penetration tester is very important.

Either qualified internal expert or a qualified external expert may perform the penetration test until they are organizationally independent. It means that the penetration tester must be organizationally independent from the management of the target systems. For example, if a third-party company is involved in the installation, maintenance, or support of target systems, then that party cannot perform penetration testing.

Here are some guidelines that will help you while calling a penetration tester.

Certification

A certified person can perform penetration testing. Certification held by the tester is the indication of his skill sets and competence of capable penetration tester.

Following are the important examples of penetration testing certification −

  • Certified Ethical Hacker (CEH).

  • Offensive Security Certified Professional (OSCP).

  • CREST Penetration Testing Certifications.

  • Communication Electronic Security Group (CESG) IT Health Check Service certification.

  • Global Information Assurance Certification (GIAC) Certifications for example, GIAC Certified Penetration Tester (GPEN), GIAC Web Application Penetration Tester (GWAPT), Advance Penetration Tester (GXPN), and GIAC Exploit Researcher.

Past Experience

The following questions will help you to hire an effective penetration tester −

  • How many years of experience does the penetration tester has?

  • Is he an independent penetration tester or working for an organization?

  • With how many companies he worked as penetration tester?

  • Has he performed penetration testing for any organization, which has similar size and scope as yours?

  • What type of experience does the penetration tester has? For example, conducting network-layer penetration testing etc

  • You may also ask for the reference from other customers for whom he worked.

When hiring a penetration tester, it is important to evaluate the past year testing experience of the organization for which he (tester) has worked as it is related to the technologies specifically deployed by him within the target environment.

In addition to the above, for complex situations and typical client requirements, it is recommended to evaluate a tester’s capability to handle similar environment in his/her earlier project.

Role of a Penetration Tester

A penetration tester has the following roles −

  • Identify inefficient allocation of tools and technology.

  • Testing across internal security systems.

  • Pinpoint exposures to protect the most critical data.

  • Discover invaluable knowledge of vulnerabilities and risks throughout the infrastructure.

  • Reporting and prioritizing remediation recommendations to ensure that the security team is utilizing their time in the most effective way, while protecting the biggest security gaps.

It is not necessary that an experienced penetration tester can write a good report, as writing report of penetration testing is an art that needs to be learnt separately.

What is Report Writing?

In penetration testing, report writing is a comprehensive task that includes methodology, procedures, proper explanation of report content and design, detailed example of testing report, and tester’s personal experience. Once the report is prepared, it is shared among the senior management staff and technical team of target organizations. If any such kind of need arises in future, this report is used as the reference.

Report Writing Stages

Due to the comprehensive writing work involved, penetration report writing is classified into the following stages −

  • Report Planning
  • Information Collection
  • Writing the First Draft
  • Review and Finalization

Report Planning

Report planning starts with the objectives, which help readers to understand the main points of the penetration testing. This part describes why the testing is conducted, what are the benefits of pen testing, etc. Secondly, report planning also includes the time taken for the testing.

Major elements of report writing are −

  • Objectives − It describes the overall purpose and benefits of pen testing.

  • Time − Inclusion of time is very important, as it gives the accurate status of the system. Suppose, if anything wrong happens later, this report will save the tester, as the report will illustrate the risks and vulnerabilities in the penetration testing scope during the specific period of time.

  • Target Audience − Pen testing report also needs to include target audience, such as information security manager, information technology manager, chief information security officer, and technical team.

  • Report Classification − Since, it is highly confidential which carry server IP addresses, application information, vulnerability, threats, it needs to be classified properly. However, this classification needs to be done on the basis of target organization which has an information classification policy.

  • Report Distribution − Number of copies and report distribution should be mentioned in the scope of work. It also needs to mention that the hardcopies can be controlled by printing a limited number of copies attached with its number and the receiver’s name.

Information Collection

Because of the complicated and lengthy processes, pen tester is required to mention every step to make sure that he collected all the information in all the stages of testing. Along with the methods, he also needs to mention about the systems and tools, scanning results, vulnerability assessments, details of his findings, etc.

Writing the First Draft

Once, the tester is ready with all tools and information, now he needs to start the first draft. Primarily, he needs to write the first draft in the details – mentioning everything i.e. all activities, processes, and experiences.

Review and Finalization

Once the report is drafted, it has to be reviewed first by the drafter himself and then by his seniors or colleagues who may have assisted him. While reviewing, reviewer is expected to check every detail of the report and find any flaw that needs to be corrected.

Content of Penetration Testing Report

Following is the typical content of a penetration testing report −

Executive Summary

  • Scope of work
  • Project objectives
  • Assumption
  • Timeline
  • Summary of findings
  • Summary of recommendation

Methodology

  • Planning
  • Exploitation
  • Reporting

Detail Findings

  • Detailed systems information
  • Windows server information

References

  • Appendix

The fast growth of the internet has changed the way of life for everyone. These days, most of the private and public works are internet dependent. Government’s all secret working plans, and operations are internet based. All these things made the life very simple and easily accessible.

But with the good news, there is also a dark face of this development i.e., the criminal hacker. There is no geopolitical limitation of these criminal hackers, they can hack any system from any part of the world. They can damage confidential data and credit history very badly.

Therefore, to protect from the criminal hackers, the concept of the ethical hacker evolved. This chapter discusses the concept and the role of an ethical hacker.

Who are Ethical Hackers?

Ethical hackers are the computer experts who are legally allowed to hack a computer system with the objective to protect from the criminal hackers. An ethical hacker identifies the vulnerabilities and risks of a system and suggests how to eliminate them.

Who are Criminal Hackers?

Criminal hackers are those computer programming experts who hack others systems with the intention to steal data, steal money, defame others credit, destroy others data, blackmail someone, etc.

What can Criminal Hackers do?

Once a system is hacked, a criminal hacker can do anything with that system. The following two images C.C. Palmer, which is published on pdf.textfiles.com, illustrates a simple example of a hacked page −

Here is a screenshot of a webpage taken before it was hacked −

And, here is the screenshot of the same webpage after it was hacked −

What are the Skill-Sets of Ethical Hackers?

Expert ethical hackers have the following skill-sets to hack the system ethically

  • They must be trustworthy.

  • Whatever the risks and vulnerabilities, they discover while testing the system, they have to keep them confidential.

  • Clients provide confidential information about their system infrastructure such as IP address, password, etc. Ethical hackers need to keep this information confidential.

  • Ethical hackers must have sound knowledge of computer programming, networking and hardware.

  • They should have good analytical skills to analyze the situation and speculate the risk in advance.

  • They should have the management skill along with patience, as pen testing can take one day, one week, or even more.

What do Ethical Hackers do?

Ethical hackers, while performing penetration testing, basically try to find the answers to the following questions −

  • What are the weak points that a criminal hacker can hit?
  • What can a criminal hacker see on the target systems?
  • What can a criminal hacker do with that confidential information?

Moreover, an ethical hacker is required to address adequately the vulnerabilities and risks, which he found to exist in the target system(s). He needs to explain and suggest the avoidance procedures. Finally, prepare a final report of his all ethical activities that he did and observed while performing penetration testing.

Types of Hackers

Hackers are normally divided into three categories.

Black Hat Hackers

A "black hat hacker" is an individual who has an extensive computer software as well as hardware and his purpose is to breach or bypass internet security of someone else. Black hat hackers are also popular as crackers or dark-side hackers.

White Hat Hackers

The term "white hat hacker" refers to an ethical computer hacker who is a computer security expert, specialized in penetration testing and in other associated testing methodologies. His primary role is to ensure the security of an organization's information system.

Grey Hat Hacker

The term "grey hat hacker" refers to a computer hacker who cracks computer security system whose ethical standards fall somewhere between purely ethical and solely malicious.

Penetration testing is very closely related to ethical hacking, so these two terms are often used interchangeably. However there is a thin line of difference between these two terms. This chapter provides insights into some basic concepts and fundamental differences between penetration testing and ethical hacking.

Penetration Testing

Penetration testing is a specific term and focuses only on discovering the vulnerabilities, risks, and target environment with the purpose of securing and taking control of the system. Or in other words, penetration testing targets respective organization’s defence systems consisting of all computer systems and its infrastructure.

Ethical Hacking

On the other hand, ethical hacking is an extensive term that covers all hacking techniques, and other associated computer attack techniques. So, along with discovering the security flaws and vulnerabilities, and ensuring the security of the target system, it is beyond hacking the system but with a permission in order to safeguard the security for future purpose. Hence, we can that, it is an umbrella term and penetration testing is one of the features of ethical hacking.

The following are the major differences between Penetration testing and Ethical hacking which is listed in the following table −

Penetration Testing Ethical Hacking
A narrow term focuses on penetration testing only to secure the security system. A comprehensive term and penetration testing is one of its features.
A tester essentially does need to have a comprehensive knowledge of everything rather required to have the knowledge of only the specific area for which he conducts pen testing. An ethical hacker essentially needs to have a comprehensive knowledge of software programming as well as hardware.
A tester not necessarily required to be a good report writer. An ethical hacker essentially needs to be an expert on report writing.
Any tester with some inputs of penetration testing can perform pen test. It requires to be an expert professional in the subject, who has the obligatory certification of ethical hacking to be effective.
Paper work in less compared to Ethical hacking. A detailed paper works are required, including legal agreement etc.
To perform this type of testing, less time required. Ethical hacking involves lot of time and effort compared to Penetration testing.
Normally, accessibility of whole computer systems and its infrastructure doesn’t require. Accessibility is required only for the part for which the tester performing pen testing. As per the situation, it normally requires a whole range of accessibility all computer systems and its infrastructure.

Since penetration techniques are used to protect from threats, the potential attackers are also swiftly becoming more and more sophisticated and inventing new weak points in the current applications. Hence, a particular sort of single penetration testing is not sufficient to protect your security of the tested systems.

As per the report, in some cases, a new security loophole is discovered and successful attack took place immediately after the penetration testing. However, it does not mean that the penetration testing is useless. It only means that, this is true that with thorough penetration testing, there is no guarantee that a successful attack will not take place, but definitely, the test will substantially reduce the possibility of a successful attack.

Because of the swift pace of developments in the field of information and technology, the success story of penetration testing is comparatively short-lived. As more protection to the systems is required, more often than you need to perform penetration testing in order to diminish the possibility of a successful attack to the level that is appreciated by the company.

Following are the major limitations of Penetration Testing −

  • Limitation of Time − As all of us know, penetration testing is not at all time bound exercise; nevertheless, experts of penetration testing have allotted a fixed amount of time for each test. On the other hand, attackers have no time constrains, they plan it in a week, month, or even years.

  • Limitation of Scope − Many of the organizations do not test everything, because of their own limitations, including resource constraints, security constraints, budget constraints, etc. Likewise, a tester has limited scope and he has to leave many parts of the systems that might be much more vulnerable and can be a perfect niche for the attacker.

  • Limitation on Access − More often testers have restricted access to the target environment. For example, if a company has carried out the penetration test against its DMZ systems from all across its internet networks, but what if the attackers attack through the normal internet gateway.

  • Limitation of Methods − There are chances that the target system can crash during a penetration test, so some of the particular attack methods would likely be turned off the table for a professional penetration tester. For example, producing a denial of service flood to divert a system or network administrator from another attack method, usually an ideal tactic for a really bad guy, but it is likely to fall outside of the rules of engagement for most of the professional penetration testers.

  • Limitation of Skill-sets of a Penetration Tester − Usually, professional penetration testers are limited as they have limited skills irrespective of their expertise and past experience. Most of them are focused on a particular technology and having rare knowledge of other fields.

  • Limitation of Known Exploits − Many of the testers are aware with only those exploits, which are public. In fact, their imaginative power is not as developed as attackers. Attackers normally think much beyond a tester’s thinking and discover the flaw to attack.

  • Limitation to Experiment − Most of the testers are time bound and follow the instructions already given to them by their organization or seniors. They do not try something new. They do not think beyond the given instructions. On the other hand, attackers are free to think, to experiment, and to create some new path to attack.

Hơn nữa, kiểm tra thâm nhập không thể thay thế các kiểm tra bảo mật CNTT thông thường, cũng không thể thay thế chính sách bảo mật chung, mà đúng hơn, kiểm tra thâm nhập bổ sung cho các quy trình xem xét đã thiết lập và phát hiện ra các mối đe dọa mới.

Các nỗ lực kiểm tra thâm nhập - dù có kỹ lưỡng đến đâu - không phải lúc nào cũng có thể đảm bảo khám phá toàn diện mọi trường hợp mà hiệu quả của kiểm soát an ninh không đủ. Việc xác định một lỗ hổng hoặc rủi ro kịch bản chéo trang web trong một khu vực của ứng dụng có thể không chắc chắn làm lộ tất cả các trường hợp của lỗ hổng này có trong ứng dụng. Chương này minh họa khái niệm và công dụng của việc khắc phục.

Remediation là gì?

Biện pháp khắc phục là một hành động đưa ra một cải tiến để thay thế một sai lầm và khắc phục sai lầm. Thông thường, sự hiện diện của lỗ hổng bảo mật ở một khu vực có thể cho thấy sự yếu kém trong quy trình hoặc thực tiễn phát triển có thể đã tái tạo hoặc kích hoạt lỗ hổng tương tự ở các khu vực khác. Do đó, trong khi khắc phục, điều quan trọng là người thử nghiệm phải điều tra cẩn thận đối tượng được thử nghiệm hoặc các ứng dụng có lưu ý đến các biện pháp kiểm soát bảo mật không hiệu quả.

Vì những lý do này, công ty tương ứng nên thực hiện các bước để khắc phục bất kỳ lỗ hổng có thể khai thác nào trong một khoảng thời gian hợp lý sau thử nghiệm thâm nhập ban đầu. Trên thực tế, ngay sau khi công ty hoàn thành các bước này, người kiểm tra bút nên thực hiện kiểm tra lại để xác nhận các biện pháp kiểm soát mới được triển khai có khả năng giảm thiểu rủi ro ban đầu.

Các nỗ lực khắc phục kéo dài trong một thời gian dài hơn sau khi thử nghiệm bút ban đầu có thể yêu cầu thực hiện một cam kết thử nghiệm mới để đảm bảo kết quả chính xác của môi trường hiện tại nhất. Việc xác định này phải được thực hiện sau khi phân tích rủi ro về mức độ thay đổi đã xảy ra kể từ khi hoàn thành thử nghiệm ban đầu.

Hơn nữa, trong các điều kiện cụ thể, vấn đề bảo mật bị gắn cờ có thể minh họa một lỗ hổng cơ bản trong môi trường hoặc ứng dụng tương ứng. Do đó, phạm vi của một cuộc kiểm tra lại phải xem xét liệu bất kỳ thay đổi nào gây ra bởi việc khắc phục được xác định từ cuộc kiểm tra có được phân loại là đáng kể hay không. Tất cả các thay đổi nên được thử nghiệm lại; tuy nhiên, việc kiểm tra lại toàn bộ hệ thống có cần thiết hay không sẽ được xác định bằng việc đánh giá rủi ro của các thay đổi.

Trước khi cho phép ai đó kiểm tra dữ liệu nhạy cảm, các công ty thường thực hiện các biện pháp liên quan đến tính sẵn có, tính bảo mật và tính toàn vẹn của dữ liệu. Để thỏa thuận này được thực hiện, tuân thủ pháp luật là một hoạt động cần thiết đối với một tổ chức.

Các quy định pháp lý quan trọng nhất phải được tuân thủ khi thiết lập và duy trì hệ thống bảo mật và ủy quyền được trình bày dưới đây để sử dụng trong việc triển khai các thử nghiệm thâm nhập.

Các vấn đề pháp lý là gì?

Sau đây là một số vấn đề có thể phát sinh giữa người thử nghiệm và khách hàng của anh ta -

  • Người thử nghiệm không được biết đối với khách hàng của mình - vì vậy, trên cơ sở nào, anh ta sẽ được cấp quyền truy cập vào dữ liệu nhạy cảm

  • Ai sẽ đảm bảo an toàn cho dữ liệu bị mất?

  • Khách hàng có thể đổ lỗi cho việc mất dữ liệu hoặc tính bảo mật cho người thử nghiệm

Kiểm tra thâm nhập có thể ảnh hưởng đến hiệu suất của hệ thống và có thể gây ra các vấn đề về tính bảo mật và tính toàn vẹn; do đó, điều này rất quan trọng, ngay cả trong thử nghiệm thâm nhập nội bộ, được thực hiện bởi một nhân viên nội bộ để xin phép bằng văn bản. Cần có thỏa thuận bằng văn bản giữa người kiểm tra và công ty / tổ chức / cá nhân để làm rõ tất cả các điểm liên quan đến bảo mật, tiết lộ dữ liệu, v.v. trước khi bắt đầu kiểm tra.

A statement of intentnên được hai bên soạn thảo và ký hợp lệ trước khi tiến hành bất kỳ công việc thử nghiệm nào. Cần vạch ra rõ ràng rằng phạm vi công việc và những điều bạn có thể làm và không thể làm khi thực hiện kiểm tra lỗ hổng bảo mật.

Đối với người thử nghiệm, điều quan trọng là phải biết ai sở hữu doanh nghiệp hoặc các hệ thống đang được yêu cầu làm việc và cơ sở hạ tầng giữa các hệ thống thử nghiệm và mục tiêu của chúng có thể bị ảnh hưởng bởi thử nghiệm bút. Ý tưởng là để đảm bảo;

  • the tester có sự cho phép bằng văn bản, với các thông số được xác định rõ ràng.

  • the company có thông tin chi tiết của máy thử bút và đảm bảo rằng anh ta sẽ không làm rò rỉ bất kỳ dữ liệu bí mật nào.

Một thỏa thuận hợp pháp có lợi cho cả hai bên. Hãy nhớ rằng các quy định thay đổi giữa các quốc gia, vì vậy hãy tuân thủ luật pháp của quốc gia tương ứng của bạn. Chỉ ký một thỏa thuận sau khi xem xét các luật tương ứng.