are augmenting a web application firewall (WAF). The main aim of
penetration testing is detecting any inputs that could be at risk of code
injection attacks.
Penetration testing stages
1)
Planning and reconnaissance
The first stage in pen-testing involves outlining a clear plan for the test. The
pen tester has to lay out a strategy with goals on how they will carry out the
test, the systems to be tested, and the methods that will be used during
testing. The pen tester then goes ahead to gather all relevant information
concerning the target for the test. For instance, the pen tester needs to seek
intelligence on domain and network names before conducting the test.
2)
Scanning
The second stage involves trying to predict how the target application will
respond upon intrusion. Pen testers have access to two tools that they can
use to understand the target application more effectively.
a)
Static
analysis
This tool allows pen testers to investigate an application to determine how it
will react while running. This method involves examining a code without
necessarily running any program in the system. Static analysis allows
experts to have an in-depth understanding of the code structure. Static
analysis allows for identification of any system errors that could potentially
make the system
vulnerable to cyber attacks
b)
Dynamic analysis
After conducting a static analysis, a dynamic analysis should be conducted
right after. Dynamic analysis operates by identifying more subtle errors that
could not be identified during the static analysis. Dynamic analysis involves
investigation of the code while running a program. One advantage of
dynamic analysis is that it provides real-time information that allows easy
identification of vulnerabilities within the system. Other than being reliable
in the identification of errors, the dynamic analysis also allows
programmers to eliminate programs that are unnecessary in the system. The
dynamic analysis also cross-checks on the
compatibility of the program
being tested with other programs.
3)
Gaining Access
In gaining access, pen testers have to use web application attacks to try and
identify vulnerabilities within the target. T launch this attack, programmers
can use any of the web application attacks running from backdoors, cross-
site scripting, and SQL-injection. Once an attack is launched, pen testers
use different strategies to try and exploit all vulnerable points. Testers can
either
intercept traffic, steal available data, or escalate some of the
privileges in an attempt to see how the system will behave.
4)
Maintaining access
The next step involves investigating how long hackers might last in the
system after they gain access. Testers have to
imitate advanced persistent
threats to try to determine how long attackers might last within their
systems. Advanced persistent threat attacks are often executed with the
intention of spending longer periods within the system with the aim of
gaining in-depth access to organizations' systems. Through imitating this
type of attack, testers get to see how long a potential threat could last within
their systems.
5)
Analysis
The final stage involves a thorough analysis of all the activities conducted
during penetration testing. Pen testers write
a comprehensive report that
includes;
❖
All sensitive data that was accessed
❖
All vulnerabilities that were exploited
❖
Amount of time is taken within the target before detectio n