Dentro de los procedimientos de la seguridad ofensiva principalmente, como en un pentesting un ejercicio de Red Team, los conceptos de exploit y payload van a aparecer seguro ya que, en la fase de explotación de vulnerabilidades son elementos que se llegarán a usar, sin embargo, en muchas universidades, escuelas, institutos, cursos y profesionales, suelen enseñar estos conceptos de forma equivoca, dando lugar así que los futuros profesionales no entiendan bien la diferencia tan básica y esencial entre estos dos conceptos y, esto es justo lo que aprenderás en esta publicación pero primero, definamos cada concepto de forma individual.
Qué es un exploit
Primero, un exploit, este corresponde (a nivel de software) a un fragmento de código escrito en cualquier lenguaje de programación (o no) que ejecutará una serie de instrucciones que lograrán explotar un fallo de seguridad (una vulnerabilidad).
Por ejemplo, si tenemos un activo que es un refrigerador que se cierra con un candado, durante hacer reconocimiento sobre el mismo, determinados que el modelo de refrigerador es un modelo que cuenta con un fallo de seguridad que permitiría a un usuario con malas intenciones el poder abrir el candado sin necesidad de usar la llave, ya que este fallo de seguridad permitiría con solo hacer movimientos diagonales con un clip se pudiese desbloquear el candado.
En este ejemplo planteado, el activo a auditar es el refrigerador, el fallo de seguridad es la versión obsoleta del candado que cuenta con este fallo de fábrica y, el exploit, es el clip que permite al usuario con malas intenciones usarlo para poder explotar esta vulnerabilidad.

Qué es un payload
Por otro lado, el payload, es la ACCIÓN que se va a realizar una vez el exploit logró ejecutarse y explotar el fallo de seguridad, como tal un payload no explota una vulnerabilidad, sino que es inyectado a través del exploit y, de igual forma, un exploit no hace nada más que explotar la vulnerabilidad, no llega a hacer más que eso ya que, como comentamos, eso es tarea del payload.
Retomando el ejemplo anterior, imaginemos que el usuario malintencionado lo que quiere es tomar un vaso con agua que está dentro del refrigerador, entonces haciendo uso del clip (el exploit) explota el fallo de seguridad del candado (vulnerabilidad) y una vez explotado ese fallo de seguridad y abierto el refrigerador, ejecuta la acción luego de la explotación (payload) que es básicamente tomar el vaso con agua y mantenerse hidratado porque el agua es vida.

La diferencias entre exploit y payload
Así pues, la diferencia más elemental entre un exploit y un payload (fuera de ejemplos de cocina) es el hecho de que un exploit SOLAMENTE explota una vulnerabilidad y el payload es la ACCIÓN que se va a hacer una vez se ha explotado la vulnerabilidad, usualmente en el mismo código del exploit ya viene incluido el payload y no hay que manualmente lanzarlo por separado, lo que puede provocar la confusión de que el exploit explota la vulnerabilidad y luego hace la acción.
En un pentesting, el tipo de payload puede variar, puede ser desde ejecutar un comando en el sistema, ejecutar una llamada para obtener una reverse shell u otra acción, pero todo luego de que el exploit haya hecho su trabajo, así que ya sabes esta diferencia tan básica pero que parece que casi nadie comprende bien.