BUFFER OVERFLOW Y EXPLOITSBernardo Coutinho@bernardocout
TEMARIO   Introducción   Buffer Overflow       Un poco de historia       Definición       Tipos   Stack Overflow    ...
INTRODUCCIONVulnerabilidad: es un punto débil del sistema,un error o una deficiencia. Ej: un fallo deprogramación. Es cono...
INTRODUCCIONLas vulnerabilidades más comunes se dan por eluso de software con fallas de programación.Algunos ejemplos comu...
BUFFER OVERFLOW: ALGO DE HISTORIARobert T. Morrisdesarrolló en 1988 elprimer gusano que seautopropagó por Internetutilizan...
BUFFER OVERFLOW: ALGO DE HISTORIA (2)En el 2001, el gusano Code Red se aprovecho deun Buffer Overflow en el servidor web I...
BUFFER OVERFLOW: DEFINICIONEl Buffer Overflow o Desbordamiento de Bufferes una falla de software que se da por unaincorrec...
BUFFER OVERFLOW: TIPOS   Stack Overflow   Heap Overflow   Format String Overflow   Integer Overflow   Return into lib...
STACK OVERFLOWEn Español Desbordamiento de la Pila, es eltipo de Buffer Overflow más común.La pila es una estructura de da...
FUNCIONAMIENTO DE LA PILAHay dos registros del procesador que permitenel manejo de la pila: EBP: contiene la dirección de...
FUNCIONAMIENTO DE LA PILA
FUNCIONAMIENTO DE LA PILASi para una variable local se le reservan 10bytes, y luego se copian más de 10 bytes, puedesucede...
EXPLOITUn   exploit   es  un   programa   que   permiteautomatizar la tarea de explotar una falla.Podemos desarrollar un e...
SHELLCODESUna shellcode es un conjunto de instruccionesespecialmente diseñadas para ser inyectadas porun exploit.Lo más co...
SHELLCODESNo pueden contener instrucciones cuyo OP CODEsea cero, ya que ese valor se interpreta comofin de cadena y no se ...
¡GRACIAS POR SU ATENCION!     Bernardo Coutinho                         @bernardocout             bernardocou@hotmail.com
Próxima SlideShare
Cargando en…5
×

Buffer Overflow y Exploits

1.544 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.544
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
39
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Buffer Overflow y Exploits

  1. 1. BUFFER OVERFLOW Y EXPLOITSBernardo Coutinho@bernardocout
  2. 2. TEMARIO Introducción Buffer Overflow  Un poco de historia  Definición  Tipos Stack Overflow  Funcionamiento de la pila Exploits y Shellcodes EOF
  3. 3. INTRODUCCIONVulnerabilidad: es un punto débil del sistema,un error o una deficiencia. Ej: un fallo deprogramación. Es conocido en jerga informáticacomo «bug».Ataque: es comprometer la seguridad del sistemaaprovechándose de alguna vulnerabilidad delmismo.Contramedida: acciones a llevar a cabo paraevitar tener vulnerabilidades en el sistema.
  4. 4. INTRODUCCIONLas vulnerabilidades más comunes se dan por eluso de software con fallas de programación.Algunos ejemplos comunes: – Falla en la validación de la entrada de datos. – Falla en el sistema de validación de acceso. – Error de configuración.
  5. 5. BUFFER OVERFLOW: ALGO DE HISTORIARobert T. Morrisdesarrolló en 1988 elprimer gusano que seautopropagó por Internetutilizando un fallo deBuffer Overflow en losUNIX de esa época. Milesde ordenadores fueroninfectados.
  6. 6. BUFFER OVERFLOW: ALGO DE HISTORIA (2)En el 2001, el gusano Code Red se aprovecho deun Buffer Overflow en el servidor web IIS deMicrosoft que permitía obtener un acceso comoadministrador del sistema.En 2003 apareció SQLSlammer que permitía laejecución de código arbitrario en servidoresSQL Server 2000.
  7. 7. BUFFER OVERFLOW: DEFINICIONEl Buffer Overflow o Desbordamiento de Bufferes una falla de software que se da por unaincorrecta validación de los datos de entrada,permitiendo así copiar en una porción dememoria más datos de los que puede almacenar.
  8. 8. BUFFER OVERFLOW: TIPOS Stack Overflow Heap Overflow Format String Overflow Integer Overflow Return into libc o pilas no ejecutables
  9. 9. STACK OVERFLOWEn Español Desbordamiento de la Pila, es eltipo de Buffer Overflow más común.La pila es una estructura de datos en lacual el último elemento que entró es elprimero que sale.La pila se usa generalmente para almacenar:  Direcciones de retorno de funciones  Variables locales  Parámetros de funciones
  10. 10. FUNCIONAMIENTO DE LA PILAHay dos registros del procesador que permitenel manejo de la pila: EBP: contiene la dirección de la base de la pila. ESP: contiene la dirección de la cima de la pila.
  11. 11. FUNCIONAMIENTO DE LA PILA
  12. 12. FUNCIONAMIENTO DE LA PILASi para una variable local se le reservan 10bytes, y luego se copian más de 10 bytes, puedesuceder que pisemos la dirección de retorno.Modificando esa dirección de retorno de manerainteligente podemos ir a cualquier puntodeterminado del programa o incluso ejecutar unprograma puesto por nosotros en memoria.
  13. 13. EXPLOITUn exploit es un programa que permiteautomatizar la tarea de explotar una falla.Podemos desarrollar un exploit para aprovecharun buffer overflow y ejecutar códigoarbitrario, escalar privilegios, realizar unadenegación de servicio, etc.
  14. 14. SHELLCODESUna shellcode es un conjunto de instruccionesespecialmente diseñadas para ser inyectadas porun exploit.Lo más común es construir shellcodes para:- Obtener una consola- Abrir una puerta trasera.- Generar una conexión reversa.- Obtener una cuenta de administrador.
  15. 15. SHELLCODESNo pueden contener instrucciones cuyo OP CODEsea cero, ya que ese valor se interpreta comofin de cadena y no se podrá inyectar con elexploit.Lo más común es que se desarrollen en ASM, yaque tenemos un mayor control de lasinstrucciones.Es difícil obtener shellcodes genéricas, queson aquellas que funcionan en varios sistemas.
  16. 16. ¡GRACIAS POR SU ATENCION! Bernardo Coutinho @bernardocout bernardocou@hotmail.com

×