Applications. The pen tester uses automated tools and manual testing to look for vulnerabilities inside applications and connected databases. This might mean examining the application binaries themselves or authorization processes, encryption, the potential for SQLi, and comparable attack methods.
Networks. The network needs to be subjected to rigorous penetration testing as the organization’s security perimeter (at least in theory). The process usually involves a systematic look at administrative access controls, the secure socket layer (SSL), encrypted transport protocols, certificates, network segmentation, and more.
Cloud. With the cloud, the pen tester looks at system configurations, application programming interfaces (APIs), and storage. The tester will also probably look for cloud instances that were set up without the standard policies in place. This is more common than people realize. A well-meaning but misinformed developer may deploy an application and database to a cloud platform without applying security controls or even notifying anyone that the cloud instance exists.
Software development processes. The DevOps workflow and continuous integration/continuous deployment (CI/CD) pipeline are places where developers inadvertently embed bugs and coding errors into software that make the application vulnerable to breach. With automated pen testing of DevOps and the CI/CD pipeline, the tester may find hidden vulnerabilities that cannot be detected with static code scanning. The pen tester will also try to get into the developer workflow and see if he or she can insert malicious code into the codebase. They will take similar actions regarding containers, such as Docker.
Devices. Hardware can be vulnerable to a breach just as much as a network or an application. A pen tester will try to break into the device using vulnerabilities in its application binaries, firmware, and operating system software. It is common for pen testers to find weaknesses in devices that have not had security patches installed.
APIs. A pen tester will use a combination of manual and automated API testing processes to determine if an API has any of the Open Worldwide Application Security Project (OWASP) API Security Top 10 vulnerabilities such as Broken Object Level Authorization (BOLA), while analyzing whether an API has a lack of rate limiting or poses user authentication problems.