


Como una continuación de la charla anterior, esta charla se enfoca en comprender uno de los 'artes' mas oscuro que tiene cualquier exploit writter, el entendimiento de como una shellcode funciona, y como debe ser creada. Durante la charla se mostraran distintos tipos de shellcodes, que hacen tareas totalmente distintas (unas añaden un usuario, otras eliminan la raíz del sistema, ejecuta una shell, o reinician el equipo), etc. Con esto se dejara en claro el concepto de que una shellcode puede tener diferentes usos, y puede ser programada para realizar la acción que nosotros deseemos. Luego se explicara algunos conceptos de arquitectura del procesador, uso de registros, uso del stack y de Assembly x86, para que utilizando vim, objdump, gcc y el compilador libre NASM poder realizar la creación de una shellcode que ejecute el shell /bin/sh en GNU/Linux. Y que sea lo suficientemente pequeña como para poder ser inyectada en cualquier búffer. Se explicarán temas tales como direccionamiento a bajo nivel, utilización de offsets, posicionamiento relativo a través de los registros ESI y EDI, etc.
IMPORTANTE: Las personas que asistan a este talleres deberán traer una notebook o netbook. Los que no puedan tener la posibilidad de traer su propia máquina le pedimos que coordinen con otra persona que tenga y sino esperamos que otros asistentes puedan compartir su teclado para que todos puedan participar.