Penetration Testing is a cyber security practice during which some trusted party attempts to detect and exploit weaknesses in the targets' security. The targets can be infrastructure (firewall, router, servers, etc.), applications and data / intellectual property.