Postoji mnogo različitih vrsta softvera za testiranje penetracije, a testeri penetracije često koriste i specijalizirane aplikacije i programe koji su široko dostupni široj javnosti. Budući da postoji niz koraka koji su obično povezani s testiranjem penetracije, svaka faza zahtijeva različite vrste softvera. Osnovne kategorije u koje spada većina tipova softvera za testiranje penetracije su portovi, ranjivosti i skeneri aplikacija. Neki od ovih programa mogu samo skenirati, dok se drugi mogu koristiti i za pokretanje napada na sve otkrivene ranjivosti. Osnovni softverski alati, kao što su programi za e-poštu, također mogu biti korisni u provođenju aspekta društvenog inženjeringa testiranja penetracije.
Testiranje penetracije je opći pojam koji pokriva širok raspon aktivnosti, a sve su usmjerene na pomoć u osiguravanju online podataka, poslužitelja i aplikacija. Drugi pojmovi za testiranje penetracije uključuju “bijeli šešir” i “etičko” hakiranje, budući da testeri penetracije koriste mnoge iste alate koje obično koriste zlonamjerni hakeri. Razlika je u tome što se testeri penetracije angažiraju kako bi identificirali slabosti i ranjivosti kako bi ih mogli osigurati prije nego što se dogodi stvarni napad.
Proces penetracijskog testiranja uključuje niz različitih koraka, a postoji mnogo različitih vrsta tehnologije i softvera koji se mogu testirati na penetraciju. To znači da testiranje penetracije može koristiti mnogo različitih vrsta softvera. Skeneri portova su jedan od tipova softvera za testiranje penetracije koji se obično koristi tijekom faze prikupljanja informacija. Ova vrsta softvera dizajnirana je za skeniranje udaljenog hosta za sve otvorene portove koji bi mogli biti ciljani tijekom napada. Softver za skeniranje portova obično se također može koristiti za određivanje koji operativni sustav (OS) radi na udaljenom hostu.
Skeneri ranjivosti još su jedan često korišteni tip softvera za testiranje penetracije. Ova vrsta softvera obično je programirana s brojnim poznatim ranjivostima. Ako udaljeni host ima bilo koju od ovih ranjivosti, tada se softver može postaviti za implementaciju brojnih potencijalnih iskorištavanja i napada. Ova vrsta softvera ponekad se također kombinira sa skenerom portova, što može pojednostaviti radni tijek testiranja penetracije.
U drugim situacijama, vrsta softvera za testiranje penetracije poznata kao skener aplikacija također može biti korisna. Ova vrsta softvera može skenirati web-bazirane aplikacije, a zatim pokušati izvesti niz različitih napada. Neki uobičajeni napadi koje koriste skeneri aplikacija uključuju manipulaciju kolačićima, umetanje jezika strukturiranih upita (SQL) i prekoračenje međuspremnika.
Neka testiranja penetracije također imaju aspekt društvenog inženjeringa koji može, ali i ne mora, koristiti bilo koji softver. Ova vrsta testiranja penetracije može učinkovito locirati sve slabosti ljudske sigurnosti, a testeri često koriste obmanjujuće tehnike kako bi pristupili osjetljivim informacijama. Softver za e-poštu ponekad se koristi za uspostavljanje kontakta, iako ova vrsta testiranja penetracije često koristi telefonske razgovore, pa čak i fizičke interakcije, kako bi se pristupilo vrijednim podacima.