La semana pasada publicamos un artículo definiendo de forma sencilla ¿Qué es Exploit?, bueno hoy vamos a continuar un poco más allá explicando un término estrechamente relacionado con exploit, el archiconocido Payload.
Hablábamos de que las vulnerabilidades o errores presentes
en cualquier software pueden ser aprovechadas para producir efectos inesperados
en los equipos, una vez descubierto ese fallo se desarrollaban pequeños programas
(exploits) para forzar de forma específica ese error en el sistema, ¿y ahora qué?
Además de conseguir que el software produzca ese error lo ideal sería poder
aprovecharlo para que el equipo realice las funciones que yo desee.
Esa parte del software que nos brinda una función ante un
error es el Payload, la ventaja de este planteamiento es que el mismo payload
puede ser utilizado por distintos exploits y un mismo exploit puede utilizar
varios payloads, una programación modular
fantástica, je, je.
Un ejemplo…
Se publica una vulnerabilidad conocida en un servidor web
muy utilizado, ...“cuando una petición malformada chuchugua, chuchugua llama a la función
de php no se qué… que provoca que se pueda X, y permite la ejecución de código en
la maquina del server”.
La comunidad (incluidos los malos) se ponen a trabajar y
desarrollan el software (exploit) normalmente con lenguajes de programación rápidos
ruby, perl o phyton para provocar ese error, además desarrollan o diseñan ese
software para que el fallo permita sacar “ventaja”, brindarnos una Shell,
screenshot, etc. En muchas ocasiones se utilizan Payloads ya creados para
otros exploits, otras veces hay que diseñarlos específicamente para ese
exploit.
Navegando
un poco por la red no hay mucha información sobre este tema, una de las definiciones más precisa y además de una forma muy sencilla de comprender es la que encontramos en
el blog de Eset:
Si queréis profundizar un poco más a nivel técnico sobre
este tema hay unos artículos increíbles de la mano de @DarkOperator en
Hacknode.
Seguridad a lo Jabalí para Todos!!


