Ada banyak jenis perangkat lunak uji penetrasi, dan penguji penetrasi sering menggunakan aplikasi dan program khusus yang tersedia secara luas untuk masyarakat umum. Karena ada sejumlah langkah yang biasanya terkait dengan pengujian penetrasi, setiap fase memerlukan jenis perangkat lunak yang berbeda. Kategori dasar yang sebagian besar jenis perangkat lunak uji penetrasi jatuh ke dalam port, kerentanan, dan pemindai aplikasi. Beberapa dari program ini hanya mampu memindai, sementara yang lain juga dapat digunakan untuk memulai serangan terhadap setiap kerentanan yang ditemukan. Alat perangkat lunak dasar, seperti program email, juga dapat berguna dalam melakukan aspek rekayasa sosial dari pengujian penetrasi.
Pengujian penetrasi adalah istilah umum yang mencakup berbagai macam aktivitas, yang semuanya ditujukan untuk membantu mengamankan data, server, dan aplikasi online. Istilah lain untuk pengujian penetrasi termasuk peretasan “topi putih” dan “etika”, karena penguji penetrasi menggunakan banyak alat yang sama yang biasa digunakan oleh peretas jahat. Perbedaannya adalah bahwa penguji penetrasi disewa untuk mengidentifikasi kelemahan dan kerentanan sehingga mereka dapat diamankan sebelum serangan yang sebenarnya dapat terjadi.
Proses pengujian penetrasi mencakup sejumlah langkah yang berbeda, dan ada banyak jenis teknologi dan perangkat lunak yang berbeda yang dapat diuji penetrasi. Itu berarti pengujian penetrasi dapat menggunakan berbagai jenis perangkat lunak. Pemindai port adalah salah satu jenis perangkat lunak uji penetrasi yang biasa digunakan selama fase pengumpulan informasi. Jenis perangkat lunak ini dirancang untuk memindai host jarak jauh untuk setiap port terbuka, yang mungkin menjadi sasaran selama serangan. Perangkat lunak pemindaian port biasanya juga dapat digunakan untuk menentukan sistem operasi (OS) apa yang berjalan pada host jarak jauh.
Pemindai kerentanan adalah jenis perangkat lunak uji penetrasi lain yang umum digunakan. Jenis perangkat lunak ini biasanya diprogram dengan sejumlah kerentanan yang diketahui. Jika host jarak jauh memiliki salah satu dari kerentanan ini, maka perangkat lunak dapat diatur untuk mengimplementasikan sejumlah potensi eksploitasi dan serangan. Jenis perangkat lunak ini terkadang juga digabungkan dengan pemindai port, yang dapat merampingkan alur kerja pengujian penetrasi.
Dalam situasi lain, jenis perangkat lunak uji penetrasi yang dikenal sebagai pemindai aplikasi juga dapat berguna. Jenis perangkat lunak ini dapat memindai aplikasi berbasis web, dan kemudian mencoba melakukan sejumlah serangan berbeda. Beberapa serangan umum yang digunakan oleh pemindai aplikasi termasuk manipulasi cookie, penyisipan bahasa kueri terstruktur (SQL), dan buffer overruns.
Beberapa pengujian penetrasi juga memiliki aspek rekayasa sosial yang mungkin, atau mungkin tidak, menggunakan perangkat lunak apa pun. Jenis pengujian penetrasi ini dapat secara efektif menemukan kelemahan keamanan manusia, dan penguji sering menggunakan teknik menipu untuk mengakses informasi sensitif. Perangkat lunak email terkadang digunakan untuk melakukan kontak, meskipun jenis pengujian penetrasi ini sering menggunakan percakapan telepon, dan bahkan interaksi fisik, untuk mengakses data berharga.