[hackmeeting] Propuesta de Presentación: "Desarrollo de shellcodes para exploits en Linux/x86"
Daniel Fdez. Bleda
danifb en terra.es
Jue Ago 29 13:13:03 CEST 2002
Un saludo,
El año pasado asistimos al Hackmeeting de Leioa y nos quedamos con las ganas
de hacer alguna presentación, con lo que este año hemos pensado proponer
alguna cosilla.
Nos gustaría saber con tiempo si a la gente le parece interesante el tema
que proponemos, porqué preparariamos algo de material para que la gente lo
tuviera antes, para seguir la presentación (si el tiempo nos lo permite).
La presentación no queremos que tenga un nivelazo, tampoco pretendemos ni
podemos hacer eso, pero intentaremos que tenga chicha práctica, para que la
gente vea lo que expliquemos en su uso real.
Un cordial saludo.
Autor: Daci/Mad
Título: Desarrollo de shellcodes para exploits en Linux/x86.
Resumen: Habitualmente se acusa a la mayoría de curiosos o novatos en
seguridad de lamers o simples script kiddies.
Esto sucede debido a que la mayoría de intrusiones y ataques las realizan
chavales que muchas veces no tienen conocimientos profundos de programación,
y sobretodo, porque realmente no entienden el funcionamiento interno de los
exploits.
Se destriparan algunos shellcodes habituales y se analizará su
funcionamiento.
Concluiremos con demostraciones del uso de algunos exploits de shellcode
actuales.
Palabras clave: Exploits, shellcode, buffer overflow vulnerabilities, format
string vulnerabilities.
Conocimientos
necesarios: Conocimiento en C, ensamblador y TCP/IP ayudarán.
Estructura /
Contenido: 1.- Tipos de vulnerabilidades aprovechadas por los exploits
habituales (stack, heap, VPTRS, format strings, etc...).
2.- Conceptos básicos sobre la memoria de x86 (registros y su uso,
memoria, etc...).
3.- Shellcodes, funcionalidades habituales, cuestiones a tener en cuenta
en su programación, etc.
4.- Parches de kernel, IDSs y demás mecamismos de protección contra
ataques de shellcode.
5.- Trucos para la evasión de IDS y parches de Kernel (shellcodes
encriptados, comprimidos, ofuscados, etc...).
6.- Ejemplo práctico de un shellcode de overflow (demo del caso real de
exploit y explicación del exploit).
7.- Ejemplo práctico de un exploit de string format (demo del caso real
de exploit y explicación del exploit).
8.- Ruegos y preguntas
Metodología: La presentación pensamos hacerla con dos ordenadores (que
llevaremos nosotros).
Para seguir la charla y las demos sería más fácil con un proyector.
Duración: 60-120 minutos. (dependiendo del tiempo del que dispongamos)
Seguridad
de asistencia: 10/10. Estaremos allí hagamos la presentación o no.
Lecturas
remomendadas: http://www.phrack.org/show.php?p=59&a=7
Phrack 59: gera & riq, "Advances in format string exploiting".
http://www.phrack.org/show.php?p=56&a=5
Phrack 56: Bulba and Kil3r, "Bypassing StackGuard and StackShield"
http://www.phrack.org/show.php?p=49&a=14
Phrack 49: Aleph1, "Smashing The Stack For Fun And Profit"
http://www.security-labs.org/index.php3?page=602
Frédéric Raynal, "Howto remotely and automatically exploit a format bug"
scut/team teso, "Exploiting Format String Vulnerabilities".
http://lsd-pl.net/papers.html#assembly
The Last Stage of Delirium Research Group, "UNIX Assembly Codes
Development for Vulnerabilities Illustration Purposes"
http://quaff.port5.com/syscall_list.html
"Linux System Call Table".
Material
necesario: Un proyector.
Preferencias
de horario: Sábado 5 de octubre por la mañana (pero no muy pronto).
Más información sobre la lista de distribución HackMeeting