Dostępnych jest wiele różnych rodzajów etycznego oprogramowania hakerskiego, chociaż wiele z nich należy do jednej z kilku kategorii. Programy do skanowania i mapowania sieci są często używane do oceny i mapowania sieci, co pozwala użytkownikowi znaleźć słabe punkty i obszary, w których może zostać uruchomiony atak. Istnieje również szereg programów, które można następnie wykorzystać do przeprowadzenia ataku na sieć lub system, które w rzeczywistości nie uszkadzają systemu, ale po prostu dają komuś dostęp poprzez atak. Narzędzia do odzyskiwania lub łamania haseł są również popularną formą etycznego oprogramowania hakerskiego, które pozwala znaleźć hasła za pomocą różnych metod.
Oprogramowanie do etycznego hakowania zazwyczaj odnosi się do programów używanych do hakowania, które jednak same w sobie nie powodują szkodliwych lub niepożądanych skutków. Programy te są zwykle używane przez hakerów „białych kapeluszy” zatrudnionych przez firmę do wyszukiwania słabych punktów w swoich systemach. Jednym z najpopularniejszych i najważniejszych rodzajów oprogramowania do hakowania typu white hat jest program używany do skanowania i mapowania sieci. Tego typu program może być używany do mapowania różnych połączeń sieciowych, umożliwiając hakerowi znalezienie słabych punktów lub punktów w sieci, które może zaatakować.
Po znalezieniu tego typu słabości haker może użyć etycznego oprogramowania hakerskiego, aby przeprowadzić atak na system. Programy te nie mają na celu wyrządzenia jakichkolwiek rzeczywistych lub długotrwałych szkód, ale po prostu pokazują, w jaki sposób można wykorzystać słabości. Program może zostać użyty do zalania systemu masowymi wiadomościami e-mail, chociaż wysyłana wiadomość e-mail nie zawierałaby wirusów ani żadnego złośliwego kodu. Tego typu oprogramowanie pozwala hakerowi w pełni symulować, w jaki sposób może nastąpić atak na system, bez uszkadzania danych lub narażania informacji w tym systemie.
Jednym z najczęstszych i najpopularniejszych rodzajów oprogramowania do etycznego hakowania jest program, którego można użyć do odzyskania lub znalezienia haseł w systemie. Może to obejmować program, który wykorzystuje bazę danych słów do przeprowadzenia ataku na system, używając różnych kombinacji w celu znalezienia funkcjonalnego hasła. Inne narzędzia mogą służyć do wyszukiwania istniejących zapisów haseł w systemie w celu wykorzystania ich do przyszłych ataków. Pozwala to komuś zademonstrować właścicielowi systemu, w jaki sposób hasła powinny być bardziej złożone lub lepiej szyfrowane.