La forma en que lo veo:
Hacker: el término más genérico para las personas que "piratean", es decir, tratar de hacer cosas que van más allá de lo que parece posible, generalmente estudiando, investigando, probando y también divirtiéndose . Puede tener connotaciones negativas o positivas, y se aplica a personas que van desde buenos programadores hasta verdaderos delincuentes.
Pirata informático ético: un pirata informático que no infringe la ley y, por lo general, trabaja para mejorar la seguridad del software o hardware en general, ayudando a las personas y empresas a defenderse de los delincuentes cibernéticos. También pueden hacer esto como parte de sus trabajos, por ejemplo, como evaluadores de penetración o investigadores de seguridad. Cuando un hacker ético encuentra una nueva vulnerabilidad, actúa para que se solucione lo antes posible.
Ciber delincuente: un pirata informático que incumple la ley, por lo general explota las vulnerabilidades para ganar dinero de una manera ilícita. Los delincuentes cibernéticos son los "atacantes". Están los que distribuyen malware, envían spam, roban datos, ponen sitios web fuera de línea con ataques DoS, etc.
Black hat (hacker): igual que el ciber criminal.
Sombrero blanco (hacker): igual que hacker ético.
Grey hat (hacker): alguien que no es un criminal real, pero que puede comportarse de manera poco ética en algunos casos para fines personales. Realmente no hay una definición precisa.
Cracker: un término que he visto en algunas comunidades para referirse a los delincuentes cibernéticos genéricos, pero creo que nunca lo he usado de esta manera en comunidades serias de habla inglesa. Personalmente, consideraría a un cracker como alguien que "rompe" el software, es decir, elimina las restricciones o las protecciones para que un programa se pueda usar con mayor libertad. Por ejemplo, un cracker puede eliminar las protecciones de copia, generar códigos de activación no oficiales o desbloquear funciones que generalmente no están disponibles para los usuarios.