Esistono molti tipi diversi di software per test di penetrazione e i test di penetrazione spesso utilizzano applicazioni e programmi specializzati ampiamente disponibili al pubblico in generale. Poiché ci sono una serie di passaggi tipicamente associati ai test di penetrazione, ogni fase richiede diversi tipi di software. Le categorie di base in cui rientrano la maggior parte dei software di test di penetrazione sono scanner di porte, vulnerabilità e applicazioni. Alcuni di questi programmi sono solo in grado di eseguire la scansione, mentre altri possono essere utilizzati anche per avviare attacchi a eventuali vulnerabilità scoperte. Anche gli strumenti software di base, come i programmi di posta elettronica, possono essere utili per svolgere l’aspetto dell’ingegneria sociale dei test di penetrazione.
Il Penetration Test è un termine generico che copre un’ampia varietà di attività, tutte volte ad aiutare a proteggere dati, server e applicazioni online. Altri termini per i test di penetrazione includono “cappello bianco” e hacking “etico”, poiché i test di penetrazione utilizzano molti degli stessi strumenti comunemente impiegati dagli hacker malintenzionati. La differenza è che i tester di penetrazione vengono assunti per identificare punti deboli e vulnerabilità in modo che possano essere protetti prima che possa verificarsi un attacco effettivo.
Il processo di test di penetrazione include una serie di passaggi diversi e ci sono molti diversi tipi di tecnologia e software che possono essere sottoposti a test di penetrazione. Ciò significa che i test di penetrazione possono utilizzare molti tipi diversi di software. I port scanner sono uno dei tipi di software di test di penetrazione comunemente utilizzati durante la fase di raccolta delle informazioni. Questo tipo di software è progettato per eseguire la scansione di un host remoto alla ricerca di porte aperte, che potrebbero essere prese di mira durante un attacco. Il software di scansione delle porte in genere può essere utilizzato anche per determinare quale sistema operativo (OS) è in esecuzione sull’host remoto.
Gli scanner delle vulnerabilità sono un altro tipo di software di test di penetrazione comunemente usato. Questo tipo di software è in genere programmato con una serie di vulnerabilità note. Se un host remoto presenta una di queste vulnerabilità, il software può essere impostato per implementare una serie di potenziali exploit e attacchi. Questo tipo di software è talvolta combinato anche con uno scanner di porte, che può semplificare il flusso di lavoro dei test di penetrazione.
In altre situazioni, può essere utile anche un tipo di software per test di penetrazione noto come scanner di applicazioni. Questo tipo di software può eseguire la scansione di applicazioni basate sul Web e quindi provare a eseguire una serie di attacchi diversi. Alcuni attacchi comuni impiegati dagli scanner di applicazioni includono la manipolazione dei cookie, l’inserimento di SQL (Structured Query Language) e il sovraccarico del buffer.
Alcuni test di penetrazione hanno anche un aspetto di ingegneria sociale che può o meno utilizzare qualsiasi software. Questo tipo di test di penetrazione può individuare efficacemente eventuali punti deboli della sicurezza umana e i tester utilizzano spesso tecniche ingannevoli per accedere a informazioni sensibili. Il software di posta elettronica viene talvolta utilizzato per stabilire un contatto, sebbene questo tipo di test di penetrazione utilizzi spesso conversazioni telefoniche e persino interazioni fisiche per accedere a dati preziosi.