Learn Pen Testing - Begineers
Learn Pen Testing - Begineers
For Beginners
Rahul K
Table of Contents
Penetration testing is a type of security testing that is used to test the insecurity of an
application. It is conducted to find the security risk which might be present in the system.
If a system is not secured, then any attacker can disrupt or take authorized access to that
system. Security risk is normally an accidental error that occurs while developing and
implementing the software. For example, configuration errors, design errors, and software
bugs, etc.
Penetration testing normally evaluates a system’s ability to protect its networks, applications,
endpoints and users from external or internal threats. It also attempts to protect the security
controls and ensures only authorized access.
It identifies a simulation environment i.e., how an intruder may attack the system
through white hat attack.
It helps to find weak areas where an intruder can attack to gain access to the
computer’s features and data.
It supports to avoid black hat attack and protects the original data.
It estimates the magnitude of the attack on potential business.
It provides evidence to suggest, why it is important to increase investments in security
aspect of technology
Penetration testing is an essential feature that needs to be performed regularly for securing the
functioning of a system. In addition to this, it should be performed whenever −
Penetration testing is a combination of techniques that considers various issues of the systems
and tests, analyzes, and gives solutions. It is based on a structured procedure that performs
penetration testing step-by-step.
Planning and preparation starts with defining the goals and objectives of the penetration
testing.
The client and the tester jointly define the goals so that both the parties have the same
objectives and understanding. The common objectives of penetration testing are −
To identify the vulnerability and improve the security of the technical systems.
Have IT security confirmed by an external third party.
Increase the security of the organizational/personnel infrastructure.
Reconnaissance
Discovery
In this step, a penetration tester will most likely use the automated tools to scan target assets
for discovering vulnerabilities. These tools normally have their own databases giving the
details of the latest vulnerabilities. However, tester discover
In this step, tester analyzes and assesses the information gathered before the test steps for
dynamically penetrating the system. Because of larger number of systems and size of
infrastructure, it is extremely time consuming. While analyzing, the tester considers the
following elements −
However, from the list of identified systems, the tester may choose to test only those which
contain potential vulnerabilities.
Active Intrusion Attempts
This is the most important step that has to be performed with due care. This step entails the
extent to which the potential vulnerabilities that was identified in the discovery step which
possess the actual risks. This step must be performed when a verification of potential
vulnerabilities is needed. For those systems having very high integrity requirements, the
potential vulnerability and risk needs to be carefully considered before conducting critical
clean up procedures.
Final Analysis
This step primarily considers all the steps conducted (discussed above) till that time and an
evaluation of the vulnerabilities present in the form of potential risks. Further, the tester
recommends to eliminate the vulnerabilities and risks. Above all, the tester must assure the
transparency of the tests and the vulnerabilities that it disclosed.
Report Preparation
Report preparation must start with overall testing procedures, followed by an analysis of
vulnerabilities and risks. The high risks and critical vulnerabilities must have priorities and
then followed by the lower order.
However, while documenting the final report, the following points needs to be considered −
Penetration Testing
Penetration testing replicates the actions of an external or/and internal cyber attacker/s that is
intended to break the information security and hack the valuable data or disrupt the normal
functioning of the organization. So, with the help of advanced tools and techniques, a
penetration tester (also known as ethical hacker) makes an effort to control critical systems
and acquire access to sensitive data.
Vulnerability Assessment
On the other hand, a vulnerability assessment is the technique of identifying (discovery) and
measuring security vulnerabilities (scanning) in a given environment. It is a comprehensive
assessment of the information security position (result analysis). Further, it identifies the
potential weaknesses and provides the proper mitigation measures (remediation) to either
remove those weaknesses or reduce below the risk level.
The following table illustrates the fundamental differences between penetration testing and
vulnerability assessments −
Tests sensitive data collection. Discovers the potential threats to each resource.
Gathers targeted information and/or inspect the Allocates quantifiable value and significance to the
system. available resources.
Cleans up the system and gives final report. Attempts to mitigate or eliminate the potential
vulnerabilities of valuable resources.
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.
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.
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
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.
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.
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
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 has additional advantages i.e. if an expert does pen test, then he It cannot analyze the
can analyze better, he can think what a hacker can think and situation.
where he can attack. Hence, he can put security accordingly.
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.
The following table collects some of the most significant penetration tools and illustrates
their features −
Remote OC FreeBSD,
fingerprinting
OpenBSD,
Nmap Network Scanning Linux, Windows, FreeBSD, OS Free
X, HP-UX, NetBSD, Sun,
Port Scanning OpenBSD, Solaris, IRIX, Mac,
etc.
OS Detection
SuperScan Runs queries including Windows 2000/XP/Vista/7 Free
ping, whois, hostname
lookups, etc.
Port Scanning
TCP fingerprinting
Httprint Web server Linux, Mac OS X, FreeBSD, Free
fingerprinting SSL Win32 (command line & GUI
detection
Test vulnerability of
computer systems
Brutus Telnet, ftp, and http Windows 9x/NT/2000 Free
password cracker
Penetration Testing - Infrastructure
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.
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.
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.
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
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.
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.
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.
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 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.
Therefore, this chapter discusses various aspects of a penetration tester including his
qualification, experience, and responsibilities.
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.
Past Experience
The following questions will help you to hire an effective penetration tester −
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.
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 the benefits
of pen are testing, etc. Secondly, report planning also includes the time taken for the testing.
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.
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.
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
Executive Summary
Scope of work
Project objectives
Assumption
Timeline
Summary of findings
Summary of recommendation
Methodology
Planning
Exploitation
Reporting
Detail Findings
References
Appendix
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.
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.
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 −
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
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
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.
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.
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 Vs. Ethical Hacking
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 defense 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 −
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 As per the situation, it normally requires a whole
systems and its infrastructure doesn’t require. range of accessibility all computer systems and its
Accessibility is required only for the part for infrastructure.
which the tester performing pen testing.
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.
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.
Moreover, penetration testing can neither replace the routine IT security tests, nor it can
substitute a general security policy, but rather, penetration testing supplements the established
review procedures and discovers new threats.
What is Remediation?
Remediation is an act of offering an improvement to replace a mistake and set it right. Often
the presence of vulnerability in one area may indicate weakness in process or development
practices that could have replicated or enabled similar vulnerability in other locations.
Therefore, while remediating, it is important for the tester to carefully investigate the tested
entity or applications with ineffective security controls in mind.
Because of these reasons, the respective company should take steps to remediate any
exploitable vulnerability within a reasonable period of time after the original penetration test.
In fact, as soon as the company has completed these steps, the pen tester should perform a
retest to validate the newly implemented controls which are capable to mitigate the original
risk.
The remediation efforts extending for a longer period after the initial pen test possibly require
performing a new testing engagement to ensure accurate results of the most current
environment. This determination should be made after a risk analysis of how much change
has occurred since the original testing was completed.
Moreover, in specific conditions, the flagged security problem may illustrate a basic flaw in
respective environment or application. Therefore, the scope of a retest should consider
whether any changes caused by remediation identified from the test are classified as
significant. All changes should be retested; however, whether an entire system retest is
necessary or not will be determined by the risk assessment of the changes.
Penetration Testing - Legal Issues
Before allowing someone to test sensitive data, companies normally take measures regarding
the availability, confidentiality, and integrity of data. For this agreement to be in place, legal
compliance is a necessary activity for an organization.
The most important legal regulations which have to be observed when establishing and
maintaining security and authorization systems are presented below in context for using in
implementing penetration tests.
Following are some of the issues which may arise between a tester and his client −
The tester is unknown to his client – so, on what ground, he should be given access of
sensitive data
Who will take the guarantee of security of the lost data?
The client may blame for the loss of data or confidentiality to tester
Penetration testing may affect system performance, and can raise confidentiality and integrity
issues; therefore, this is very important, even in an internal penetration testing, which is
performed by an internal staff to get permission in writing. There should be a written
agreement between a tester and the company/organization/individual to clarify all the points
regarding the data security, disclosure, etc. before commencing testing.
A statement of intent should be drawn up and duly signed by both the parties prior to any
testing work. It should be clearly outlined that the scope of the job and that, you may and may
not be doing while performing vulnerability tests.
For the tester, it is important to know who owns the business or systems which are being
requested to work on, and the infrastructure between testing systems and their targets that
may be potentially affected by pen testing. The idea is to make sure;
the tester has the permission in writing, with clearly defined parameters.
the company has the details of its pen tester and an assurance that he would not leak
any confidential data.
A legal agreement is beneficial for both the parties. Remember, regulations change from
country to country, so keep yourself abreast with the laws of your respective country. Sign an
agreement only after considering the respective laws.
Five Types of Penetration Test for Successful Pen Testing
This type of pen test is the most common requirement for the pen testers. It aims to discover
vulnerabilities and gaps in the network infrastructure of the clients. Since the network could
have both internal and external access points, so it is mandatory to run tests locally at the
client site and remotely from the outer world.
The testers should target the following network areas in their penetration tests.
Also, there are a set of software modules which the penetration test should cover are as
follows.
SSH client/server tests.
Network databases like MYSQL/SQL Server.
Exchange or SMTP mail servers.
FTP client/server tests.
It is more of a targeted test, also, more intense and detailed. Areas like web applications,
browsers, and their components like ActiveX, Applets, Plug-ins, Scriptlets fall in the scope of
this type of pen testing.
Since this test examines the end points of each web apps that a user might have to interact on
a regular basis, so it needs thorough planning and time investment.
Also, with the increase in threats coming from the web applications, the ways to test them are
continuously evolving.
The goal of these tests is to pinpoint security threats that emerge locally. For example, there
could be a flaw in a software application running on the user’s workstation which a hacker
can easily exploit.
These may be programs or applications like Putty, Git clients, Sniffers, browsers (Chrome,
Firefox, Safari, IE, Opera), and even presentation as well as content creation packages like
MS Power Point, Adobe Page Maker, Photoshop, and media players.
In addition to third-party software, threats could be home grown. Using uncertified OSS
(open source software) to create or extend home made application could cause severe threats
that one can’t even anticipate. Therefore, these locally developed tools should also pass
through the penetration test cycle.
This test intends to analyze the wireless devices deployed on the client site. The list of
devices include items like tablets, laptops, notebooks, iPods, smartphones, etc. Apart from the
gadgets, the penetration tester should consider preparing tests for the following.
Protocols used for configuring Wireless – It’ll help find out the weak areas.
Access points for Wireless setup – It’ll enable in identifying the ones violating the access
rights.
Usually, such tests should take place at the customer end. The hardware used to run pen tests
need to connect with the wireless system for exposing vulnerability.
This type of test also run as an important part of penetration testing. It paves ways for
verifying the “Human Network” of an organization. This pen test imitates attacks which the
employees of a company could attempt to initiate a breach. However, it can further split up
into two subcategories.
a. Remote Tests.
b. Physical Tests.
This type of test requires a direct contact with the subject to retrieve the sensitive
information. It might involve human handling tactics like Dumpster Diving, Imitation, and
Intimidation or convince the subject via phone calls.
Please note that you must inform the appropriate people before conducting the social
engineering penetration test. Also, remember to emulate real world exploit instead of playing
a movie scene.
Summary
Penetration test not only assists in discovering the actual and exploitable security threats but
also provides their mitigation. By performing a pen test, we can make sure to identify the
vulnerabilities which are critical, which are not significant and which are false positives.