SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Jesús Olmos González
FIST Conference /Barcelona 2006 @
Sponsored by:
Escalada de privilegios
mediante infección ELF
2
Index
I/O vs Memory
Comprobaciones iniciales
Cabecera Elf
Tabla de segmentos
Cálculo de entry en disco
Backup de _start
Código Relocatable y Payload
Regeneración
Retorno al huesped
3
I/O vs Memory
Lectura y escritura en disco
Mediante syscalls read() se llena una
estructura de datos elf
Los cambios se aplican a la estructura elf
Se guardan mediante syscall write()
Mapa en memoria
Se mapea el fichero a memoria llamando la
syscall mmap() contra el descriptor.
Se guardan los cambios con sync() o
msync()
4
I/O vs Memory
Lectura y escritura en disco.
En c es comodo, no se necesitan usar punteros
En asm es un poco engorroso, hay que crear toda
la estructura elf en vez de acceder por distancias
relativas.
Mapa en memória.
Es rápido, pero en c se apunta la estructura a la
direccion del mapa y se trabaja todo con punteros.
En asm no es necesario tener toda la estructura
elf, basta con saber el offset donde empiezan los
campos que se necesitan.
5
Comprobaciones iniciales
No se debe infectar cualquier objeto, se
recomiendan unos requisitos.
Que presente formato ELF
Que sea ejecutable
Que no esté infectado
6
Cabecera ELF
La ejecución comienza en el inicio de la
sección .text (generalmente _start), la
dirección es en ejecución y no en mapa.
e_entry  0x18
Número de segmentos.
e_phnum  0x2c
Inicio de la tabla de segmentos.
e_phoff  0x1c
7
Tabla de Segmentos
Inició del segmento en disco
p_offset  0x04
Inicio del segmento en ejecución
p_vaddr  0x08
Tamaño de un registro de segmento
0x20 bytes
8
Cálculo de entry en mapa
e_entry – p_vaddr + p_offset
9
Backup de _start
De cara a la posterior regeneración del
código sobreescrito se realiza un backup
del mismo tamaño que el código a
insertar.
Este backup se guarda al final del
fichero haciéndolo crecer unos bytes.
10
Código Relocatable
El código infectado ha de ser
relocatable
Delta offset o jump / call
Ha de saber el path y nombre del
huesped para abrirlo y regeneralo
Los datos estan en pila
11
Payload
Creacion de shushi
Inconveniente: se necesita un fork para
hacerlo con pocas instrucciones
chmod del chmod?
Chequeo de root mediante getuid()
Setuid al chmod mediante chmod()
12
Regeneración del huesped
Se necesita abrir el huesped para
recuperar el backup de _start
syscalls open() lseek() y mmap()
Se necesita dar permisos de escritura
desproteccion con syscall mprotect()
Un codigo no se puede borrar a si
mismo
copia de la rutina de regeneración a pila,
desprotección de pila mediante mprotect()
13
Retorno al huesped
Tanto los win32 PE como los ELF no
necesitan un valor inicial en %ebp
Existen diversas tecnicas de retorno al
huesped:
push / ret
jmp %ebp
Problema: regeneración de contexto
inicial registro a registro
14
Retorno al huesped
Localizar dirección donde hay que
saltar.
leal start_vir(%ebp), %eax
Volver a la posición inicial de pila
addl $424, %esp
Colocar el retorno en saved-ebp
movl %eax, 8(%esp)
Recuperar contexto inicial
popal y jmp *%ebp
15
Demo
gcc infR3.s -o infR3
./infR3 /usr/bin/binario-escribible
Cuando root ejecute el binario infectado
el chmod tendrá setuid y por tanto . . .
16
Contacto y Recursos
código:
www.badchecksum.com
presentación:
www.7a69ezine.org
www.fistconference.org
Contacto
jolmos@isecauditors.com
jolmos@7a69ezine.org
sha0@badchecksum.com
17
Attribution. You must give the original author
credit.
         Share Alike. If you alter, transform, or build
upon this work, you may distribute the resulting
work only under a license identical to this one.
For any reuse or distribution, you must make clear to others the license terms of this work.
Any of these conditions can be waived if you get permission from the author.
Your fair use and other rights are in no way affected by the above.
This work is licensed under the Creative Commons Attribution-ShareAlike License. To
view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a
letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Creative Commons
Attribution-ShareAlike 2.0
You are free:
•to copy, distribute, display, and perform this work
•to make commercial use of this work
Under the following conditions:
Jesús Olmos
Barcelona,
Diciembre, 2006
FIST Conference
with the sponsorship of:
www.fistconference.org

Más contenido relacionado

La actualidad más candente

Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentationguestccc92ad
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosdanilo95parra
 
Programacion en python_2
Programacion en python_2Programacion en python_2
Programacion en python_2wozgeass
 
Historia de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoHistoria de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoJuan Sacco
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo forluisoctis
 
Utp sirn_sl1 funciones de rna 2012-2
 Utp sirn_sl1 funciones de rna 2012-2 Utp sirn_sl1 funciones de rna 2012-2
Utp sirn_sl1 funciones de rna 2012-2jcbenitezp
 
02 pythonenpocospasosejercicios.ipynb colaboratory
02 pythonenpocospasosejercicios.ipynb   colaboratory02 pythonenpocospasosejercicios.ipynb   colaboratory
02 pythonenpocospasosejercicios.ipynb colaboratoryLesli Molina Soto
 
6. RS232 interfaces ARDUINO - 2020
6. RS232 interfaces   ARDUINO - 20206. RS232 interfaces   ARDUINO - 2020
6. RS232 interfaces ARDUINO - 2020David Narváez
 
Almacenaje disco duro
Almacenaje disco duroAlmacenaje disco duro
Almacenaje disco duroRocioFV
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serieDaniel Cruz
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimomartha leon
 

La actualidad más candente (20)

Practicas programacion 1 10
Practicas programacion 1 10Practicas programacion 1 10
Practicas programacion 1 10
 
Hebras En Accion
Hebras En AccionHebras En Accion
Hebras En Accion
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
Scan doc0001
Scan doc0001Scan doc0001
Scan doc0001
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivos
 
Tut2q4
Tut2q4Tut2q4
Tut2q4
 
Funcion
FuncionFuncion
Funcion
 
codigos
codigoscodigos
codigos
 
Programacion en python_2
Programacion en python_2Programacion en python_2
Programacion en python_2
 
Historia de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan SaccoHistoria de los buffer overflows por Juan Sacco
Historia de los buffer overflows por Juan Sacco
 
Fase 5 ciclo for
Fase 5 ciclo forFase 5 ciclo for
Fase 5 ciclo for
 
Utp sirn_sl1 funciones de rna 2012-2
 Utp sirn_sl1 funciones de rna 2012-2 Utp sirn_sl1 funciones de rna 2012-2
Utp sirn_sl1 funciones de rna 2012-2
 
Infoeme tecnico 6
Infoeme tecnico 6Infoeme tecnico 6
Infoeme tecnico 6
 
Blog2
Blog2Blog2
Blog2
 
02 pythonenpocospasosejercicios.ipynb colaboratory
02 pythonenpocospasosejercicios.ipynb   colaboratory02 pythonenpocospasosejercicios.ipynb   colaboratory
02 pythonenpocospasosejercicios.ipynb colaboratory
 
Introduccion a Python. Clase 1
Introduccion a Python. Clase 1Introduccion a Python. Clase 1
Introduccion a Python. Clase 1
 
6. RS232 interfaces ARDUINO - 2020
6. RS232 interfaces   ARDUINO - 20206. RS232 interfaces   ARDUINO - 2020
6. RS232 interfaces ARDUINO - 2020
 
Almacenaje disco duro
Almacenaje disco duroAlmacenaje disco duro
Almacenaje disco duro
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serie
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 

Similar a Escalada de privilegios mediante infección ELF. Fist Conference

INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++
INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++
INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++Alfredo Rivera
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...RootedCON
 
Material taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4edMaterial taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4edIgnacio Sorribas
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas ForensesConferencias FIST
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edIgnacio Sorribas
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mauricio Velasquez
 
Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowConferencias FIST
 
Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.RubnPilca
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...SANTIAGO PABLO ALBERTO
 
Fundamento de computadores- Motorola 68000
Fundamento de computadores- Motorola 68000Fundamento de computadores- Motorola 68000
Fundamento de computadores- Motorola 68000Alberto Gonzalez Isorna
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticosArtej Perez
 
Creacion de shellcodes para Exploits en Linux/x86
Creacion de shellcodes para Exploits en Linux/x86 Creacion de shellcodes para Exploits en Linux/x86
Creacion de shellcodes para Exploits en Linux/x86 Internet Security Auditors
 

Similar a Escalada de privilegios mediante infección ELF. Fist Conference (20)

Diego alexis 8
Diego alexis 8Diego alexis 8
Diego alexis 8
 
asdas
asdasasdas
asdas
 
INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++
INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++
INVESTIGACION DE ELEMENTOS Y CODIGOS DE C++
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
 
Material taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4edMaterial taller de exploiting Navaja Negra 4ed
Material taller de exploiting Navaja Negra 4ed
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas Forenses
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4ed
 
Emu 8086
Emu 8086Emu 8086
Emu 8086
 
Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.Mis preguntas del blog y las ultimas .l.
Mis preguntas del blog y las ultimas .l.
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
 
Understanding Advanced Buffer Overflow
Understanding Advanced Buffer OverflowUnderstanding Advanced Buffer Overflow
Understanding Advanced Buffer Overflow
 
C++
C++ C++
C++
 
Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.Emulador de ensamblador EMU8086.
Emulador de ensamblador EMU8086.
 
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
Microcontroladores AVR y Arduino: Programación del microatmega328p en ensambl...
 
Fundamento de computadores- Motorola 68000
Fundamento de computadores- Motorola 68000Fundamento de computadores- Motorola 68000
Fundamento de computadores- Motorola 68000
 
Mars
MarsMars
Mars
 
Mars
MarsMars
Mars
 
Perl1 escalares
Perl1 escalaresPerl1 escalares
Perl1 escalares
 
sistemas-informaticos
sistemas-informaticossistemas-informaticos
sistemas-informaticos
 
Creacion de shellcodes para Exploits en Linux/x86
Creacion de shellcodes para Exploits en Linux/x86 Creacion de shellcodes para Exploits en Linux/x86
Creacion de shellcodes para Exploits en Linux/x86
 

Más de Internet Security Auditors

Explotando los datos como materia prima del conocimiento
Explotando los datos como materia prima del conocimientoExplotando los datos como materia prima del conocimiento
Explotando los datos como materia prima del conocimientoInternet Security Auditors
 
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligencia
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligenciaXIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligencia
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligenciaInternet Security Auditors
 
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301Internet Security Auditors
 
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOs
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOsProblemática de implementación de un SGSI o un SGCN en contact centers y BPOs
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOsInternet Security Auditors
 
PCI DSS en el Cloud: Transferencia Internacional Datos
PCI DSS en el Cloud: Transferencia Internacional DatosPCI DSS en el Cloud: Transferencia Internacional Datos
PCI DSS en el Cloud: Transferencia Internacional DatosInternet Security Auditors
 
Problematicas de PCI DSS en Contact Centers & BPO
Problematicas de PCI DSS en Contact Centers & BPOProblematicas de PCI DSS en Contact Centers & BPO
Problematicas de PCI DSS en Contact Centers & BPOInternet Security Auditors
 
Proteccion de Datos Personales: Conceptos, Sanciones, Metodologia
Proteccion de Datos Personales: Conceptos, Sanciones, MetodologiaProteccion de Datos Personales: Conceptos, Sanciones, Metodologia
Proteccion de Datos Personales: Conceptos, Sanciones, MetodologiaInternet Security Auditors
 
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)Internet Security Auditors
 
RootedCon 2017 - Workshop: IoT Insecurity of Things?
RootedCon 2017 - Workshop: IoT Insecurity of Things?RootedCon 2017 - Workshop: IoT Insecurity of Things?
RootedCon 2017 - Workshop: IoT Insecurity of Things?Internet Security Auditors
 
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCI
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCICambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCI
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCIInternet Security Auditors
 
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...Internet Security Auditors
 
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...Internet Security Auditors
 
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las Sanciones
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las SancionesConferencia sobre Protección de Datos (Bogotá): Aprendiendo de las Sanciones
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las SancionesInternet Security Auditors
 
Catosfera 2016: Anàlisi de xarxes socials amb finalitats d'investigació: ris...
Catosfera 2016:  Anàlisi de xarxes socials amb finalitats d'investigació: ris...Catosfera 2016:  Anàlisi de xarxes socials amb finalitats d'investigació: ris...
Catosfera 2016: Anàlisi de xarxes socials amb finalitats d'investigació: ris...Internet Security Auditors
 
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...Internet Security Auditors
 
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones Android
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones AndroidCIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones Android
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones AndroidInternet Security Auditors
 
(ISC)2 Security Congress EMEA. You are being watched.
(ISC)2 Security Congress EMEA. You are being watched.(ISC)2 Security Congress EMEA. You are being watched.
(ISC)2 Security Congress EMEA. You are being watched.Internet Security Auditors
 

Más de Internet Security Auditors (20)

Explotando los datos como materia prima del conocimiento
Explotando los datos como materia prima del conocimientoExplotando los datos como materia prima del conocimiento
Explotando los datos como materia prima del conocimiento
 
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligencia
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligenciaXIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligencia
XIII Jornadas STIC CCN-CERT. OSINT de la información a la inteligencia
 
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301
Proceso de implementación de los sistemas de gestión ISO 27001 e ISO 22301
 
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOs
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOsProblemática de implementación de un SGSI o un SGCN en contact centers y BPOs
Problemática de implementación de un SGSI o un SGCN en contact centers y BPOs
 
PCI DSS en el Cloud: Transferencia Internacional Datos
PCI DSS en el Cloud: Transferencia Internacional DatosPCI DSS en el Cloud: Transferencia Internacional Datos
PCI DSS en el Cloud: Transferencia Internacional Datos
 
Problematicas de PCI DSS en Contact Centers & BPO
Problematicas de PCI DSS en Contact Centers & BPOProblematicas de PCI DSS en Contact Centers & BPO
Problematicas de PCI DSS en Contact Centers & BPO
 
PCI DSS: Justificacion del Cumplimiento
PCI DSS: Justificacion del CumplimientoPCI DSS: Justificacion del Cumplimiento
PCI DSS: Justificacion del Cumplimiento
 
Proteccion de Datos Personales: Conceptos, Sanciones, Metodologia
Proteccion de Datos Personales: Conceptos, Sanciones, MetodologiaProteccion de Datos Personales: Conceptos, Sanciones, Metodologia
Proteccion de Datos Personales: Conceptos, Sanciones, Metodologia
 
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)
GigaTIC 2017 - Más allá del futuro: Negocio, tecnología y robótica. (Abril 2017)
 
RootedCon 2017 - Workshop: IoT Insecurity of Things?
RootedCon 2017 - Workshop: IoT Insecurity of Things?RootedCon 2017 - Workshop: IoT Insecurity of Things?
RootedCon 2017 - Workshop: IoT Insecurity of Things?
 
PCI DSS en la Nube
PCI DSS en la NubePCI DSS en la Nube
PCI DSS en la Nube
 
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCI
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCICambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCI
Cambios de las versiones 3.2, Cuestionarios y Ecosistema de Normas PCI
 
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...
Overdrive Hacking Conference 2016 - Riesgos en el uso de las Redes Sociales (...
 
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...
Conferencia sobre Protección de Datos (Bogotá): Errores comunes en la identif...
 
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las Sanciones
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las SancionesConferencia sobre Protección de Datos (Bogotá): Aprendiendo de las Sanciones
Conferencia sobre Protección de Datos (Bogotá): Aprendiendo de las Sanciones
 
Catosfera 2016: Anàlisi de xarxes socials amb finalitats d'investigació: ris...
Catosfera 2016:  Anàlisi de xarxes socials amb finalitats d'investigació: ris...Catosfera 2016:  Anàlisi de xarxes socials amb finalitats d'investigació: ris...
Catosfera 2016: Anàlisi de xarxes socials amb finalitats d'investigació: ris...
 
CIBERSEG'16. Técnicas #OSINT
CIBERSEG'16. Técnicas #OSINTCIBERSEG'16. Técnicas #OSINT
CIBERSEG'16. Técnicas #OSINT
 
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...
VI Foro Evidencias Electrónicas en la Investigación Policial. Análisis forens...
 
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones Android
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones AndroidCIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones Android
CIBERSEG '15 - Taller: Ingeniería inversa en aplicaciones Android
 
(ISC)2 Security Congress EMEA. You are being watched.
(ISC)2 Security Congress EMEA. You are being watched.(ISC)2 Security Congress EMEA. You are being watched.
(ISC)2 Security Congress EMEA. You are being watched.
 

Último

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Escalada de privilegios mediante infección ELF. Fist Conference

  • 1. Jesús Olmos González FIST Conference /Barcelona 2006 @ Sponsored by: Escalada de privilegios mediante infección ELF
  • 2. 2 Index I/O vs Memory Comprobaciones iniciales Cabecera Elf Tabla de segmentos Cálculo de entry en disco Backup de _start Código Relocatable y Payload Regeneración Retorno al huesped
  • 3. 3 I/O vs Memory Lectura y escritura en disco Mediante syscalls read() se llena una estructura de datos elf Los cambios se aplican a la estructura elf Se guardan mediante syscall write() Mapa en memoria Se mapea el fichero a memoria llamando la syscall mmap() contra el descriptor. Se guardan los cambios con sync() o msync()
  • 4. 4 I/O vs Memory Lectura y escritura en disco. En c es comodo, no se necesitan usar punteros En asm es un poco engorroso, hay que crear toda la estructura elf en vez de acceder por distancias relativas. Mapa en memória. Es rápido, pero en c se apunta la estructura a la direccion del mapa y se trabaja todo con punteros. En asm no es necesario tener toda la estructura elf, basta con saber el offset donde empiezan los campos que se necesitan.
  • 5. 5 Comprobaciones iniciales No se debe infectar cualquier objeto, se recomiendan unos requisitos. Que presente formato ELF Que sea ejecutable Que no esté infectado
  • 6. 6 Cabecera ELF La ejecución comienza en el inicio de la sección .text (generalmente _start), la dirección es en ejecución y no en mapa. e_entry  0x18 Número de segmentos. e_phnum  0x2c Inicio de la tabla de segmentos. e_phoff  0x1c
  • 7. 7 Tabla de Segmentos Inició del segmento en disco p_offset  0x04 Inicio del segmento en ejecución p_vaddr  0x08 Tamaño de un registro de segmento 0x20 bytes
  • 8. 8 Cálculo de entry en mapa e_entry – p_vaddr + p_offset
  • 9. 9 Backup de _start De cara a la posterior regeneración del código sobreescrito se realiza un backup del mismo tamaño que el código a insertar. Este backup se guarda al final del fichero haciéndolo crecer unos bytes.
  • 10. 10 Código Relocatable El código infectado ha de ser relocatable Delta offset o jump / call Ha de saber el path y nombre del huesped para abrirlo y regeneralo Los datos estan en pila
  • 11. 11 Payload Creacion de shushi Inconveniente: se necesita un fork para hacerlo con pocas instrucciones chmod del chmod? Chequeo de root mediante getuid() Setuid al chmod mediante chmod()
  • 12. 12 Regeneración del huesped Se necesita abrir el huesped para recuperar el backup de _start syscalls open() lseek() y mmap() Se necesita dar permisos de escritura desproteccion con syscall mprotect() Un codigo no se puede borrar a si mismo copia de la rutina de regeneración a pila, desprotección de pila mediante mprotect()
  • 13. 13 Retorno al huesped Tanto los win32 PE como los ELF no necesitan un valor inicial en %ebp Existen diversas tecnicas de retorno al huesped: push / ret jmp %ebp Problema: regeneración de contexto inicial registro a registro
  • 14. 14 Retorno al huesped Localizar dirección donde hay que saltar. leal start_vir(%ebp), %eax Volver a la posición inicial de pila addl $424, %esp Colocar el retorno en saved-ebp movl %eax, 8(%esp) Recuperar contexto inicial popal y jmp *%ebp
  • 15. 15 Demo gcc infR3.s -o infR3 ./infR3 /usr/bin/binario-escribible Cuando root ejecute el binario infectado el chmod tendrá setuid y por tanto . . .
  • 17. 17 Attribution. You must give the original author credit.          Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the author. Your fair use and other rights are in no way affected by the above. This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Creative Commons Attribution-ShareAlike 2.0 You are free: •to copy, distribute, display, and perform this work •to make commercial use of this work Under the following conditions:
  • 18. Jesús Olmos Barcelona, Diciembre, 2006 FIST Conference with the sponsorship of: www.fistconference.org