¿Qué es la explotación de software? ¿Cómo se puede empezar a aprender?

La Explotación de Software es básicamente encontrar fallos como Buffer Overflows, Use After Free y otros, en productos de software y explotarlos.

Por ejemplo, VLC Media Player, es un famoso reproductor multimedia para la reproducción de varios tipos de medios.

Una vulnerabilidad podría existir al reproducir archivos multimedia con datos inválidos/ o nombres de archivos con nombres largos (1000 caracteres de nombres de archivos largos).
Si no se hace un manejo adecuado de las excepciones en el software, se produciría un fallo.

Por lo tanto, una vez que se bloquea, su objetivo debe ser averiguar el valor de los registros sobrescritos, y modificar EIP de tal manera, que apunte a su shellcode.

Algunos de los recursos que sugeriría sería echar un vistazo a los tutoriales de escritura de exploits del sitio web de Corelan Team, así como a los tutoriales de The Grey Corner. También hay grandes documentos en Packet Storm y Exploits Database de Offensive Security. Échales un vistazo si lo deseas.

En caso de que no tengas conocimientos previos de Lenguaje Ensamblador, Debugging, debes ver la web de Vivek's Welcome to SecurityTube.net empezando por el Megaprimer de la siguiente manera :

  1. Assembly Language Primer for Linux
  2. Assembly Language Primer for Windows
  3. Buffer Overflow MegaPrimer
  4. Format String Vulnerabilities
  5. Exploit Research.

Una vez que haya completado con éxito la práctica de todos los videos, ahora está listo para saltar a la Explotación de Software con como se mencionó anteriormente Corelan Team. También, usted podría comprobar The ShellCoder's Handbook - tienen un enfoque bastante bueno en la explotación de software en general en varios objetivos.

¡Buena suerte!