Cómo encuentran los hackers las vulnerabilidades en el software y los SO?

¡Esa es una excelente (y muy amplia pregunta)! Lo que realmente se busca es una vulnerabilidad. Una vulnerabilidad es un defecto en un sistema que alguien, como un hacker, podría utilizar para hacer que el sistema se comporte de una manera que no estaba prevista. Nos gusta llamarlo una "característica", no un error :).

Un exploit, es una pieza de …