Cert Inf Software Exploitation

Páginas: 121 (30115 palabras) Publicado: 29 de abril de 2015
SOFTWARE EXPLOITATION

INTECO CERT

Autor: Borja Merino Febrero
El Instituto Nacional de Tecnologías de la Comunicación (INTECO) reconoce y agradece a Joaquín
Moreno Garijo su colaboración en la realización del informe.

El presente documento cumple con las condiciones de accesibilidad del formato PDF (Portable Document Format).
Se trata de un documento estructurado y etiquetado, provisto dealternativas a todo elemento no textual, marcado de
idioma y orden de lectura adecuado.
Para ampliar información sobre la construcción de documentos PDF accesibles puede consultar la guía disponible en la
sección Accesibilidad > Formación > Manuales y Guías de la página http://www.inteco.es.

ÍNDICE
1.

INTRODUCCIÓN

4

2.

OBJETIVOS

7

3.

EXPLOITS COMO NEGOCIO

8

4.

CASOS DE ESTUDIO

11

4.1.Servidor web vulnerable: From bug to shell (Mona.py suggest / Rop Gadgets)

11

4.2.

Failure Observation Engine: Foxit Crash

19

5.

6.

7.

8.

ERRORES SIMPLES, CONSECUENCIAS GRAVES

24

5.1.

Heap Overflow

27

5.1.1.

Use After Free

27

5.1.2.

Dereference After Free

28

5.1.3.

Double Free

29

5.2.

Off-By-One

34

5.3.

Race Condition (toctou)

35

5.4.

Integer Overflow

37

5.5.Format String

40

5.6.

Buffer Overflow

44

CONTRAMEDIDAS

50

6.1.

DEP NX/XD (Data Execution Prevention)

50

6.2.

Stack/Canary Cookies

56

6.3.

ASLR (Address Space Layout Randomization)

61

6.3.1.

66

HERRAMIENTAS AUXILIARES

69

7.1.

EMET (The Enhanced Mitigation Experience Toolkit)

69

7.1.1.

Winamp 5.72 (whatsnew.txt SEH overwrite) : SEHOP EMET Detection

71

7.1.2.

EAF vs Shellcodes74

AUDITORÍA DE SOFTWARE

78

8.1.

Enfoque white-box (análisis de código)

78

8.1.1.

Análisis Dinámico con Valgrind

78

8.1.2.

Análisis Estático con FlawFinder / Rats / RIPSS

81

8.1.3.

Análisis Estático vs Análisis Dinámico

85

8.2.

9.

Metasploit: MS07_017 Ani LoadImage Chunksize

Enfoque black-box

87

8.2.1.

Fuzzing con Spike (FreeFloat) / Peach (vulnserver.exe)

87

8.2.2.

Fuzzingcon Metasploit (http_get_uri_long.rb, smtp_fuzzer)

95

8.2.3.

Otras herramientas/scripts (/pentest/fuzzers, Scapy)

98

CONCLUSIONES

Software Exploitation

102

1.

INTRODUCCIÓN

Según detalla el informe de vulnerabilidades de INTECO-CERT, durante el primer y segundo
semestre de 2011, de un total de 4160 vulnerabilidades (2037 del primer semestre y 2123
del segundo), aquellas clasificadascomo “Error de Buffer” y “XSS” son las más
abundantes. Asimismo, Microsoft sigue siendo el fabricante más afectado respecto al resto
de desarrolladores de software como Sun, Adobe, Mozilla o Apple.
Las vulnerabilidades recogidas en dicho informe representan aquellas reportadas por
investigadores y otros fabricantes a la National Vulnerability Database1 del Instituto
Nacional de Estándares yTecnologías de EE.UU. (NIST, Nacional Institute of Standards
and Technology), organismo dependiente del Gobierno de EE.UU., con el que INTECO tiene
un acuerdo de colaboración. Como muestra el siguiente gráfico, un 12% y un 11% durante
el primer y segundo semestre respectivamente se corresponden con vulnerabilidades de tipo
“Error de buffer”.

Figura 1. Vulnerabilidades 2011

Según describe el MITRE2, estetipo de vulnerabilidad, conocido también como buffer
overflow o buffer overrun , se produce cuando: “un programa intenta poner más datos en un
búfer de lo que realmente puede almacenar, o cuando un programa trata de poner los datos
en un área de memoria fuera de los límites de un búfer … la causa más común de
desbordamientos de búfer, es el típico caso en el que el programa copia el búfer sinrestringir el número de bytes a copiar.”

1

2

National Vulnerability Database
http://nvd.nist.gov/
MITRE Corporation
http://www.mitre.org/about/

Software Exploitation

4

A pesar de ser una vulnerabilidad bien conocida desde los años 80 (Morris3 fue uno de
los primeros gusanos que explotaron este tipo de bug) sigue siendo uno de los motivos por
el que muchos sistemas son comprometidos. La...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Inf Software
  • Resumen Inf Software Uned
  • Cert
  • Cert
  • cert
  • certa
  • Cert
  • cert

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS