Publicado el 4 de Agosto del 2017
705 visualizaciones desde el 4 de Agosto del 2017
3,3 MB
33 paginas
Creado hace 17a (05/05/2007)
Christian Martorella - Vicente Díaz
Edge-security
Fist Conference April 2007
Indice
• Introducción a la seguridad de DB
• Motores de Bases de Datos
• Ataques internos
• Ataques externos
• Conclusiones
Introducción
• ¿Qué es una base de datos?
• ¿Qué hay en una base de datos? ...
‣ Tras pensar en ello diez segundos, se
‣ Y de porqué hay tanta gente interesada
entiende la necesidad de protegerlas
en acceder a las mismas
Valor de los datos
Tipo de dato
Dirección
Telefono
Telefono no publicado
Móvil
Fecha de nacimiento
Educación
Historia crediticia
Detalles de bancarrota
Información judicial
Historial laboral completo
Archivo militar
Tarjetas de credito
Identidad completa
Disco duro con transferencias del Banco Central de
Rusia.
Historial de llamadas a través de moviles
30.000 Emails
Valor
$0.50
$0.25
$17.50
$10
$2
$12
$9
$26.50
$2.95
$18
$35
$1-6
$16-18
$1800
$110 - 200
$5
Valor de los datos
• La cantidad TOTAL de registros personales
sensibles que estuvieron relacionados con
incidentes de seguridad es de: 150,520,490.
• Éstos son los declarados obligados por ley en
USA ... pero HAY MÁS PAISES!
Motores de Base de datos
DB2
Mysql
Oracle
SQL Server
Postgresql
DB - Market Shares
Oracle
DB2
SQL Server
Otros
Oracle
DB2
SQL Server
Otros
16%
39%
33%
11%
22%
14%
15%
49%
IDC 2003
Gartner 2005
DB - Oracle
• Servidor de DB más popular
• Mayor cuota de mercado
• Uno de los primeros en entrar al mercado
• Multiples OS desde el principio
• Campaña Unbreakable 2001.
• Versiones más extendidas 9.2 y 10g.
DB Engines - SQL Server
• Uno de los últimos en entrar al mercado.
• Es una evolución de Sybase
• Solo funciona sobre plataformas Windows
• Problemas de seguridad en el pasado
• Pocos problemas en la actualidad, salvo de
(Slammer Worm)
configuración.
DB Engines - SQL Server
Ataques internos
• Atacando Oracle
• DB-Links
• Atacando SQL Server
Atacando Oracle desde el
interior
• Identificar:
• Puertos
• SID
• Usuarios/Password, lista por defecto
• Escalada de privilegios, Sql Injection
Atacando Oracle desde el
interior II
• Detección de puertos, generalmente 1521
• Utilizar algún Scanner con identificador de
servicios, nmap -sV
Atacando Oracle desde el
interior III
• Identificar SID:
• En caso de que el servicio LISTENER no esté
protegido, con un simple comando “show
services” obtendremos los SID de ese puerto.
O con herramientas como Winsid, Integrigy
Lsnrcheck.
• Si el LISTENER esta protegido, habrá que
adivinar el nombre del SID por ataque de
diccionario (Sidguess, OAK)
Atacando Oracle desde el
interior IV
y SYSTEM.
• User/password:
‣ Las cuentas con máximos privilegios: SYS
‣ Hay otras cuentas con privilegios de DBA
‣ Existen listas con más de 400 cuentas!!
(ctxsys,wksys,mdsys,sysman)
Atacando Oracle desde el
interior V
• Una vez dentro que hacemos?
• Escalar privilegios si no los tenemos, SQL
• Explotar relaciones de confianza entre
Injection, Buffer Overflows.
DB’s. DB-Links.
Atacando Oracle desde el
interior
• Ejemplo práctico 4 pasos....
Atacando Oracle desde el
interior - DB Links
• Es un objeto que permite realizar una
conexión desde una base de datos a otra.
• Facilita el acceso a recursos en otras DB.
• A los atacantes les brinda facilidad de
expansión...
Atacando Oracle - DB Links
Select * from all_users;
Select * from all_users@sales;
Ataques externos
• SQL Injection y Blind SQL Injection
• File upload and inclusion, Web frontend
• Obteniendo una DB completa (SQL Server)
• Database Rootkits
Escenario actual
Escenario actual II
SQL injection
select nombre from productos where id = 1
union select user+’,’+password from user
Blind SQL injection
File Inclusion - File Upload
Web frontend
• Esta vulnerabilidad se encuentra en el Top
10 de OWASP como la número 3.
• Muchas aplicaciones permiten subir
ficheros, fotos, documentos, etc...
• Si logramos subir un fichero de scripting...
File Upload -Web frontend
http.
• Se puede crear un cliente SQL a través de
• Total interacción con la DB
• Veamos un ejemplo. . .
DB Backdoor
• Procedimientos de la base de datos, creados para
establecer un canal de conexión con el atacante.
• Utiliza las funciones de HTTP disponibles en las
bases de datos.
DB Rootkits
• Realizan algunas modificaciones a la base de datos
SYS, lo que hace que Oracle NO muestre ciertos
detalles, o modifique otros.
• Son bastantes sencillos pero efectivos
Conclusiones
• Securizar las instalaciones de las DB
• Eliminar usuarios por defecto y cambiar
• Segmentar las redes (vlans)
• Segregar las funciones de los usuarios,
• Logs y alertas
roles, privilegios, etc
contraseñas
Conclusiones II
detection)
• Reglas de firewall de salida (extrusión
• Securizar los servidores web, y las
• Realizar auditorías de seguridad para
aplicaciones.
analizar la seguridad de nuestros sistemas, o
evaluar la implementación de controles de
protección.
Referencias
• Saumil Shah One way Hacking
• www.databasecurity.com
• www.argeniss.com
• www.petefinnigan.com
Muchas gracias por su
atención.
Comentarios de: all your database are belong to us (0)
No hay comentarios