Black Hat Briefings USA 2005
Ana Jeanet Salamanca
Septiembre 15 de 2005
Contenido

Conferencias – Segundo día






Seguridad de la aplicaciones
Forense
Privacidad
Defensas de l día cero
“Turbo Talks”
Conclusiones
Conferencias – Segundo día

6 presentaciones por cada uno de los temas
1.Seguridad
Aplicaciones
2.Forense
3.Privacidad
4.Defensa día 0
5. Charlas rápidas
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases






Presentación de nuevas formas para atacar BD Oracle.
Enfocadas en vulnerabilidades de SQL Injection y cómo pueden ser
explotadas usando nuevas técnicas.
Revisión de vulnerabilidades a través de código PL/SQL.
Buffer Overflows, ataques remotos usando aplicaciones Web.
Recomendaciones contra estos ataques.
Vulnerabilidades en Oracles:




Demoras en la liberación de parches.
40 Han sido corregidas con parches recientes.
65 Overflows no han sido aún corregidas
Más de 20 vulnerabilidades de SQL Injection aún no corregidas.
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases

SQL Injection in Oracle

Conexión directa a la base de datos (con un usuario)


Sin conexión directa a la base de datos (a través de una aplicación Web)




Ejecución de comandos SQL para generar Buffer Overflow.
Usando bloques de setencias PL/SQL


Ejecución de comandos SQL.
Anónimas: Por ejemplo: EXECUTE IMMEDIATE “BEGIN INSERT INTO
MYTABLE (MYCOL1) VALUES (‘’’ || PARAM || ‘’’) ; END ;’;
Simples: OPEN CUR_CUST FOR ‘select name from customers where id =
‘’’ ||| p_idtofinf || ‘’’’;
Usando el usuario SYS: Cambiando la contraseña del usuario y guardando la
anterior en sitio desde donde se puede restaurar después.
Ejecutando comandos del SO
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases

Cómo protegernos




Revocar privilegios de ejecución no necesarios. Especialmente para el rol
PUBLIC.
Otorgar privilegios CREATE ANY PROCEDURE, ALTER ANY PROCEDURE
solamente a usuarios autorizados.
Otorgar el role RESOURCE solamente a usuarios autorizados.
En lo posibles definir procedimientos almacenados con la opción
AUDIT_CURRENT_USER.
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases

Buffer Overflows en procedimientos almacenados



Le permiten al atacante ejecutar código malicioso en el servidor.
Puede ser utilizado por un usuario normal de la base de datos o usando
SQL Injection por un usuario remoto (Usuario de aplicación Web).
Usando la vulnerabilidad de Buffer Overflow un atacante puede ejecutar un
comando de SO para crear un usuario administrador:
Net user admin2 /add && net localgroup administrators admin2 /add &&
net localgroup ORA_DBA admin2 /add
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases

Creando un usuario SYSDBA


Ejecución de sentencias SQL como SYSDBA a través de SqlPlus.
Para crear el usuario SYSDBA, el atacante debe crear el siguiente
comando:
echo CREATE USER ERIC IDENTIFY BY MYPSW12; > c:\cu.sql & echo
GRANT DBA TO ERIC ; >> c:\cu.sql & echo ALTER USER ERIC
DEFAULT ROLE DBA ; >> c:\cu.sql & echo GRANT SYSDBA TO
“ERIC” WITH ADMIN OPTION; >> c:\cu.sql & echo with >>
c:\cu.sql & c:\oracle\product\10.1.0\db_1\bin\sqlplus.exe “\ as
sysdba” @c:\cu.sql

Cómo detectar un ataque ................
1. Seg. Aplicaciones - Advanced SQL Injection in
Oracle Databases

Cómo detectar un ataque

Revisión de los archivos “dump”





Revisar el archivo [ORACLE BASE]
/admin/[SID]/cdump/[SID]CORE:LOG
Buscar excepciones ACCES_VIO (0xc0000005).
Código inyectado puede estar en la pila del “dump”.
En el archivo asociado udump/[SID]ora[THREAD_ID].trc puede estar la
sentencia SQL de el atacante.
Errores internos de Oracle pueden generar “dumps”
2. Seg. Aplicaciones – Engañando la encripción
Base de Datos e ingenieria de reversa de los
algoritmos de administración de Oracle



Presentación de las fallas de encripción de packages dbms_crypto. Y
dbms_obfuscation_toolkit
Un hacker puede interceptar las llaves de encripción y usarlas para
desencriptar información crítica de las compañías.
Por que se encripta la información?





Conservar la confidencialidad de la información
Cumplir con regulaciones
Última línea de defensa
Backups
Como se encripta?

Algoritmos DES, 3DES, AES, RC4, software especial
2. Seg. Aplicaciones – Engañando la encripción
Base de Datos e ingenieria de reversa de los
algoritmos de administración de Oracle

Estrategias para administrar las llaves


Manejadas por el cliente: Se almacena en el cliente y el DBA no la conocerá
Guardar las llaves en el file system: Se almacena en diferentes cuentas y
accesadas a través de procedimientos externos.

Guardarlas en las bases de datos

Calcular llaves

Código PL/SQL

Oracle Enterprise Manager 10g Grid Control



Herramienta monitorear y administrarSoftware Oracle
Aplicación web
Feb/05 informó de vulnerabilidades
2. Seg. Aplicaciones – Engañando la encripción
Base de Datos e ingenieria de reversa de los
algoritmos de administración de Oracle

Problemas de Oracle Enterprise Manager 10g Grid Control






Utiliza esquema SYSMAN
Las contraseñas se guardan en tablas conocidas
Las contraseñas se encriptan/desencriptan con una función
El DBA puede utilizar las funciones de encriptan/desencriptan
Se puede interceptar todas las llaves
Calcular las llaves con ingeniera de reversa


Calcular las llaves a través de funciones y procedimientos PL/SQL
Si se conoce la función, parámetros y la secuencia de llamados
2. Seg. Aplicaciones – Engañando la encripción
Base de Datos e ingenieria de reversa de los
algoritmos de administración de Oracle

Recomendaciones





Usar nombre de funciones/tablas no obvias
Use SQL dinámicos para esconder dependencias
Use nombre de calificadores completos (Por ejemplo
SYS.dbms_crypto)
Generación de llaves y acceso a librerías en un package
Conclusiones
 Riesgo de BDA
 Un hacker puede obtener el perfil del DBA
 La encripción con dbms_crypto o dbms_obfuscation_toolkit
no es segura porque la administración de llaves seguras no
es posible
3. Forense – GEN III Honeynets: The birth of
roo



El propósito de esta presentación fue describir las nuevas capacidades
del GEN III honeypot y demostrar el nuevo roo, adicionalmente se
revisó los honeygrid conectados a honeynets
Proyecto Honeynet: Se implementaron redes alrededor del mundo para
ser atacadas
Objetivos:



Incrementar el conocimiento de los riesgos existentes
Para el conocedor enseñar e informar de los riesgos
Dar a las organizaciones las posibilidad de aprender más sobre si mismas.
3. Forense – GEN III Honeynets: The birth of
roo

Honeypot



Es un sistema de cebo diseñado para que los atacantes
interactuen con el.
Recolecta información mientras se usa
Tipos de Honeypots

Baja interacción


Alta interacción


Emula Servicios, Aplicaciones y Sistemas Operativos
Servicios, Aplicaciones y Sistemas Operativos Reales
En el verano de 2005 se libero un nuevo honeynet
llamado roo.
3. Forense – GEN III Honeynets: The birth of
roo


http://Honeynet.org/tools/cdrom/roo/downlo
ad.html
roo



Información de logs (FW, IDS)
Entender las acciones de los atacantes
Alto nivel de análisis
3. Forense – GEN III Honeynets: The birth of
roo



Honeynet: Red de honeypot de alta
interacción
Honeywall: Honeynet Web basado en
herramientas de análisis de datos
Honeygrid: una red de Honeypots
3. Forense – GEN III Honeynets: The birth of
roo
4. Forense – Desarrollando un efectiva
respuesta a incidentes
En esta sesión se revisó:
 El impacto de los incidentes de
Seguridad en las organizaciones.
 Métodos para responder a un
Incidente de Seguridad
 Tendencias y tecnología que la época
de la información nos ha traído
4. Forense – Desarrollando un efectiva
respuesta a incidentes

Ataques

Sofisticados





Difícil de detectar
Herramientas especializadas
Rápida propagación
Realizado desde el extranjero
Las compañías no están preparadas para
responder efectivamente a un incidente.




Recursos especializados
Recursos dedicados
Recolectar los datos
Rastros - evidencia
4. Forense – Desarrollando un efectiva
respuesta a incidentes

Cómo detectan las compañías los incidentes?

Alertas






Antivirus
IDS
Firewall
Sensores
Usuarios finales
Cómo detectan los usuarios finales los incidentes?




Caídas de los sistemas
Antivirus inactiva o no se puede visitar la pagina web del software
antivirus
Aplicaciones no corren
Registry se cierra cuando se invoca
4. Forense – Desarrollando un efectiva
respuesta a incidentes

Caso de estudio

En dos ocasiones se compromete el PIN de un cliente
La entidad financiera revisa su red
Donde se comprometieron los datos del cliente?

Evidencia







Logs Antivirus
Entrada de Dr. Watson
Antispayware
Historial del Browser
Correo electrónicos Phishing
4. Forense – Desarrollando un efectiva
respuesta a incidentes

Revisar PC victima






Aplicaciones instaladas
Revisar historial del Browser
Revisar los emails
Revisar archivos temporales
Revisar time / date stand
Se encuentra un keylogger – Trojano
4. Forense – Desarrollando un efectiva
respuesta a incidentes

Rootkits





Esconde Archivos y directorios
Procesos
Entradas al registro
Evita sean borrados los archivos
Evita ejecución de antivirus
4. Forense – Desarrollando un efectiva
respuesta a incidentes


Investigación
Recolección de evidencia





Puertos
Servicios
Ip
Regedit
Log seguridad, sistema, aplicación
5. Forense – Atrapeme si puede
Demostración de manipulación de logs y
forma de evadir herramientas forense



Engañar herramientas de análisis
forense
Sobrepasar herramientas comerciales
Evitar detección de actividad
5. Forense – Atrapeme si puede

Técnica
Encase utiliza Timezone establecer hora de eventos y
detectar archivos sospechosos

Anti-técnica



Borrar timestamps
Modificar los log o removerlos
Agregar entradas ficticias
5. Forense – Atrapeme si puede
TIMESTAMP

Técnica usada para colocar a cada
fichero un sello que certifica que
éste fue creado a la hora que
marca el mismo.

Existen herramientas como File
Stamper, TIMESTOMP permite
seleccionar múltiples ficheros y
cambiarles la fecha de creación, el
último acceso, y cuándo fue
modificado, aparte de los atributos
de oculto, lectura o sistema
5. Forense – Atrapeme si puede

Modificar propiedades de los archivos




Modificación
Acceso
Creación
Problemas SO

Adicionar datos binarios a un log

Cambiar encabezados
5. Forense – Atrapeme si puede

DoS - Tecnica




Analizar logs en tiempo real y correlacionar eventos
Acceso
Creación
Anti-tecnica

Llenar los logs con eventos
Adicionar datos binarios a un log

Cambiar encabezados

5. Forense – Atrapeme si puede

Técnica Recuperación de datos


Herramientas para recuperar datos borrados -Winhex
Anti técnica

Utilizar herramientas de borrado seguro - Eraser
Limpiar los slack space

Limpiar los unallocated space

5. Forense – Atrapeme si puede

Técnica Análisis de firmas

Encase utiliza dos métodos para identificar archivos



Extensión
Signature File
Anti técnica

No diferencia entre un archivo TXT y un ejecutable

Editor de Texto cambia la información
5. Forense – Atrapeme si puede
5. Forense – Atrapeme si puede
6. Forense – Más alla de Ethereal :
RUMINT



Herramienta de análisis de trafico paquetes
Observar la red y la acción de un
atacante
Filtros
6. Forense – Más alla de Ethereal :
RUMINT
Visualización de Información
Es el uso de representaciones interactivas,
visual de datos abstractos, para reforzar
conocimiento.
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT
6. Forense – Más alla de Ethereal :
RUMINT

Copia de 3 archivos
Conclusiones



Antes de implementar controles de seguridad de la información,
debemos crear conciencia, explicar el porque, ponerlo en el lenguaje
de los usuarios, utilizar ejemplos ilustrativos. Esto para evitar una
fricción entre los usuarios y los sistemas de información.
Día a día vemos la necesidad de reforzar la seguridad de la
información para garantizar su confidencialidad, integridad y
disponibilidad.
Debemos mantenernos al día con respectos a las últimas
vulnerabilidades que aparecen, para poder aplicar los correctivos
oportunamente.
Conclusiones




Dada la problemática actual con respecto a las vulnerabilidades, es
importante que durante la implementación de nuevas soluciones
informáticas, así como de las ya existentes, debe ser considerada la
seguridad de la información.
No a la seguridad a través de la oscuridad.
Debemos tener en cuanta las herramientas de seguridad también son
vulnerables a posibles ataques.
Las nuevas vulnerabilidades que son descubiertas, deben ser asumidas
como un mecanismo pro-activo de defensa, y no cómo una amenaza
para los proveedores de tecnología.
Referencias
http://www.blackhat.com/html/bh-media-archives/bh-multi-mediaarchives.html#USA-2005
Gracias
Descargar

Black Hat Briefings 2005