Obstaja veliko različnih vrst programske opreme za testiranje penetracije, preizkuševalci penetracije pa pogosto uporabljajo tako specializirane aplikacije kot programe, ki so široko dostopni širši javnosti. Ker je s testiranjem penetracije običajno povezanih več korakov, vsaka faza zahteva različne vrste programske opreme. Osnovne kategorije, v katere spada večina vrst programske opreme za testiranje penetracije, so skenerji vrat, ranljivosti in skenerji aplikacij. Nekateri od teh programov so sposobni samo skeniranja, drugi pa se lahko uporabljajo tudi za sprožitev napadov na vse odkrite ranljivosti. Osnovna programska orodja, kot so e-poštni programi, so lahko uporabna tudi pri izvajanju vidika socialnega inženiringa pri testiranju penetracije.
Preizkus penetracije je splošen izraz, ki zajema široko paleto dejavnosti, katerih cilj je pomagati zaščititi spletne podatke, strežnike in aplikacije. Drugi izrazi za testiranje penetracije vključujejo “beli klobuk” in “etično” vdiranje, saj preizkuševalci penetracije uporabljajo številna ista orodja, ki jih običajno uporabljajo zlonamerni hekerji. Razlika je v tem, da so preizkuševalci penetracije najeti, da prepoznajo slabosti in ranljivosti, tako da jih je mogoče zavarovati, preden se lahko zgodi dejanski napad.
Postopek penetracijskega testiranja vključuje številne različne korake in obstaja veliko različnih vrst tehnologije in programske opreme, ki jih je mogoče preizkusiti na penetracijo. To pomeni, da lahko testiranje penetracije uporablja veliko različnih vrst programske opreme. Skenerji vrat so ena od vrst programske opreme za testiranje penetracije, ki se običajno uporablja v fazi zbiranja informacij. Ta vrsta programske opreme je zasnovana za skeniranje oddaljenega gostitelja za morebitna odprta vrata, ki so lahko tarča med napadom. Programsko opremo za skeniranje vrat je običajno mogoče uporabiti tudi za ugotavljanje, kateri operacijski sistem (OS) se izvaja na oddaljenem gostitelju.
Skenerji ranljivosti so še ena pogosto uporabljena vrsta programske opreme za testiranje penetracije. Ta vrsta programske opreme je običajno programirana s številnimi znanimi ranljivostmi. Če ima oddaljeni gostitelj katero koli od teh ranljivosti, lahko programsko opremo nastavite za izvajanje številnih možnih izkoriščanj in napadov. Ta vrsta programske opreme je včasih kombinirana tudi s skenerjem vrat, ki lahko poenostavi potek dela pri testiranju penetracije.
V drugih primerih je lahko uporabna tudi vrsta programske opreme za testiranje penetracije, znana kot skener aplikacij. Ta vrsta programske opreme lahko skenira spletne aplikacije in nato poskuša izvesti številne različne napade. Nekateri pogosti napadi, ki jih uporabljajo skenerji aplikacij, vključujejo manipulacijo piškotkov, vstavljanje jezika strukturiranih poizvedb (SQL) in prekoračitve medpomnilnika.
Nekatera testiranja penetracije imajo tudi vidik socialnega inženiringa, ki lahko uporablja katero koli programsko opremo ali pa tudi ne. Ta vrsta penetracijskega testiranja lahko učinkovito odkrije morebitne pomanjkljivosti človeške varnosti, preizkuševalci pa pogosto uporabljajo zavajajoče tehnike za dostop do občutljivih informacij. Za vzpostavitev stika se včasih uporablja programska oprema za e-pošto, čeprav ta vrsta testiranja penetracije pogosto uporablja telefonske pogovore in celo fizične interakcije za dostop do dragocenih podatkov.