  Security attacks are growing in an exponential manner and their impact on
existing systems is seriously high and can lead to dangerous consequences.
However, in order to reduce the effect of these attacks, penetration tests are
highly required, and can be considered as a suitable solution for this task.
Therefore, the main focus of this paper is to explain the technical and
non-technical steps of penetration tests. The objective of penetration tests is
to make existing systems and their corresponding data more secure, efficient
and resilient. In other terms, pen testing is a simulated attack with the goal
of identifying any exploitable vulnerability or/and a security gap. In fact,
any identified exploitable vulnerability will be used to conduct attacks on
systems, devices, or personnel. This growing problem should be solved and
mitigated to reach better resistance against these attacks. Moreover, the
advantages and limitations of penetration tests are also listed. The main issue
of penetration tests that it is efficient to detect known vulnerabilities.
Therefore, in order to resist unknown vulnerabilities, a new kind of modern
penetration tests is required, in addition to reinforcing the use of shadows
honeypots. This can also be done by reinforcing the anomaly detection of
intrusion detection/prevention system. In fact, security is increased by
designing an efficient cooperation between the different security elements and
penetration tests.
