Está en la página 1de 17

Módulo 1 - Vulnerabilidades

Clase 1
Disclaimer
Todo el contenido de esta presentación es únicamente con fines didácticos y
educativos. El uso indebido de las técnicas y/o conocimientos utilizadas en
esta presentación puede ir en contra de las leyes nacionales e
internacionales. El autor no se hace responsable por el uso del conocimiento
contenido en la siguiente presentación. La información contenida debe ser
utilizada únicamente para fines éticos y con la debida autorización.
Qué es una vulnerabilidad?
Fallo o debilidad en el diseño, la implementación, la operación o
la gestión de un sistema, que puede ser explotado con el fin de
violar la política de seguridad del sistema.

Ejemplos de vulnerabilidades:
• Error en el código de un software
• Control ineficiente en un proceso
• Error de configuración de un equipo
• Mal diseño de un protocolo de comunicación
EXPLOTACIÓN DE VULNERABILIDADES
El atacante aprovecha una falla de seguridad de un sistema para realizar alguna
acción que genere una respuesta imprevista.
● Puede ser una vulnerabilidad:
○ Local
○ Remota
● Puede ser utilizada para:
○ Punto de entrada a un sistema
○ Escalación de privilegios en un sistema
○ Movimiento lateral entre sistemas
Relación entre vulnerabilidad y riesgo

Riesgo Amenaza Vulnerabilidad


Qué es un Exploit?
Fragmento de código, de datos, secuencias de comandos o acciones que
permiten explotar una vulnerabilidad de un sistema para conseguir un
comportamiento no deseado del mismo.

Ejemplo - Vulnerabilidad Shellshock:

Ejemplo de Exploit de Shellshock:


curl -H "User-Agent: () { :; }; /bin/cat /etc/passwd “ http://vulnerable.com
OBJETIVOS DE UN EXPLOIT
● Ejecución de código arbitrario
○ Local
○ Remota
● Escalación de privilegios
● Denegación de servicios
○ Local
○ Remota
● Creación, modificación y/o eliminación de archivos
● Obtención de información sensible
● Bypass de mecanismo de autorización / autenticación
Qué es un Payload?
Carga útil en un paquete; en el contexto de seguridad, se refiere a la carga útil de un
exploit, es decir, los comandos o acciones que efectivamente se ejecutan en la explotación
de una vulnerabilidad

Ejemplo de Exploit de Shellshock:


curl -H "User-Agent: () { :; }; /bin/cat /etc/passwd “ http://vulnerable.com
Qué es un 0-day?
0-day (zero day) o vulnerabilidad de día 0 es aquella vulnerabilidad
desconocida por el usuario y/o fabricante, para la cual no se creó
todavía ningún parche y que se emplea para llevar a cabo un ataque.

Cuánto se paga por un 0-day?


https://www.zerodium.com/program.html
Bases de Datos de Vulnerabilidades y Exploits
Vulnerabilidades:
● CVE Details
● National Vulnerability Database NIST
● Fulldisclosure Mailling List
● VulDB

Exploits:
● Exploit-DB
● Injector Database
● Rapid7 DB (Metasploit)
● Markets en la Deep Web
Tipos de Vulnerabilidades
Vulnerabilidades por categoría
● Vulnerabilidades de bajo nivel: relacionados al sistema operativo y aplicaciones a bajo nivel,
se deben generalmente a errores en la programación. Interactúan directamente con el
contenido en memoria.
● Vulnerabilidades de red: afectan a software y componentes de red o interconexión de redes
(locales o Internet). Se deben a problemas en protocolos de red y/o vulnerabilidades
derivadas del análisis de tráfico (capa 1, 2, 3, 4).
● Vulnerabilidades de alto nivel: relacionadas a las aplicaciones de alto nivel, se deben
generalmente a errores de programación, implementación y/o configuración de aplicaciones.
No interactúan directamente con la memoria y son independientes de la arquitectura de SO.
o Vulnerabilidades de aplicaciones web
o Vulnerabilidades en aplicaciones móviles
CVE vs CWE
● CWE: Common Weakness Enumeration: Es una entrada en la base de datos
correspondiente a una debilidad y no está relacionado con un producto o sistema.

● CVE: Common Vulnerability Exposure: Es una entrada en la lista de


vulnerabilidades, es decir, es una instancia específica de una debilidad en un
producto o sistema.

https://cwe.mitre.org/documents/glossary/index.html
https://cwe.mitre.org/data/definitions/1000.html
Vulnerabilidades de Bajo nivel
• Buffer overflow
o Stack BoF
o Heap BoF
• Integer overflow
• Format String
• Use after free
• Out-of-bound read
VULNERABILIDADES EN APLICACIONES WEB
• Cross Site Scripting (XSS) • Remote File Inclusion (RFI)
• Cross Site Request Forgery (CSRF) • Local File Inclusion (LFI)
• Inyección SQL (SQLi) • Subida arbitraria de archivos
• Inyección LDAP • Path Traversal
• Inyección XML
• Ejecución remota de código (RCE)
• Inyección de comandos
VULNERABILIDADES DE PROTOCOLOS DE RED
• Falta de autenticación (src/dst)
• Baja entropía en nros. de secuencia
• Envío de datos en texto plano
• …

Fuente: Dan Boneh


(Stanford)

También podría gustarte