Applicazioni. Il tester utilizza strumenti automatizzati e test manuali per eseguire i test di penetrazione allo scopo di individuare eventuali vulnerabilità all'interno delle applicazioni e dei database collegati. Ciò potrebbe significare esaminare i file binari delle applicazioni o i processi di autorizzazione, la crittografia, la vulnerabilità agli attacchi SQLi e a metodi di attacco simili.
Reti. La rete deve essere sottoposta a rigorosi test di penetrazione in quanto si tratta del perimetro di sicurezza dell'organizzazione (almeno in teoria). Il processo, di solito, prevede un esame sistematico dei controlli degli accessi amministrativi, dell'SSL (Secure Socket Layer), dei protocolli di trasporto crittografati, dei certificati, della segmentazione della rete e molto altro ancora.
Cloud. Con il cloud, il tester esamina le configurazioni di sistema, le API (Application Programming Interface) e lo storage. Probabilmente, il tester cerca anche le istanze cloud che sono state configurate senza l'implementazione delle policy standard, un processo più comune di quanto ci si renda conto. Uno sviluppatore ben intenzionato, ma informato male, può distribuire un'applicazione e un database su una piattaforma cloud senza applicare controlli di sicurezza o addirittura senza notificare a nessuno l'esistenza dell'istanza cloud.
Processi di sviluppo del software. Il workflow del DevOps e la pipeline di integrazione/distribuzione continua (CI/CD) sono i processi in cui gli sviluppatori possono incorporare inavvertitamente bug ed errori di codifica nel software, rendendo l'applicazione vulnerabile alle violazioni. Con i test di penetrazione automatizzati del DevOps e della pipeline CI/CD, il tester potrebbe rilevare vulnerabilità nascoste che non possono essere rilevate con una scansione statica del codice. Il tester tenterà inoltre di accedere al workflow dello sviluppatore, verificando se può inserire codice dannoso nel codebase, ed eseguirà azioni simili in relazione ai container, come Docker.
Dispositivi. L'hardware può risultare vulnerabile a una violazione tanto quanto una rete o un'applicazione. Eseguendo i test di penetrazione, il tester tenterà di penetrare nel dispositivo utilizzando le vulnerabilità presenti nei file binari delle applicazioni, nel firmware e nel software del sistema operativo, individuando, di solito, i punti deboli dei dispositivi che non hanno installato patch di sicurezza.
API. Un tester utilizza una combinazione di processi di test delle API manuali e automatizzati per determinare se un'API presenta una delle 10 principali vulnerabilità della sicurezza delle API riportate nell'elenco OWASP (Open Worldwide Application Security Project), come la violazione dell'autorizzazione a livello di oggetto (BOLA), oppure se presenta una mancanza di limitazione di velocità o problemi di autenticazione dell'utente.