Você está na página 1de 44

Versin traducida de forensic-analysissql-server-2005-databaseserver_1906.

pdf
Pgina 1

Interesados en aprender ms informacin acerca de la seguridad? SANS Institute Sala de Lectura de InfoSec Este documento es el sitio SANS Institute Sala de Lectura. Permite la publicacin no est permitido sin autorizacin expresa por escrito. Anlisis forense de una base de datos de SQL Server 2005 Servidor SANS Instituto de derechos de autor Autor conserva todos sus derechos AD
Pgina 2

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 1 Anlisis forense de un servidor de datos de SQL Server 2005 GCFA Certificacin Gold Autor: Kevvie Fowler, GCFA, CISSP, MCTS, MCSD, MCDBA, MCSE kevvie.fowler @ emergis.com Asesor: Joey Niem Aceptado: 01 de abril 2007
Pgina 3 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 2 Esquema Investigacin 3

Paso 1: 3 Paso 2: Sistema 10 Paso 3: La evidencia 11 Paso 4: Cronologa 16 Paso 5: Medios de Comunicacin 18 Paso 6: Datos 38 Paso 7: String 43 Investigacin 44 Apndice 46 Apndice 48 50
Pgina 4

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 3 Investigacin Introduccin El 1 de marzo st De 2007, recib una llamada de un cliente que afirma que puede haber sido un vctima de un incidente de seguridad en algn momento durante las ltimas 24 horas. Ellos crean autorizados se hicieron modificaciones a su servidor de base de datos de produccin, que haba dado lugar a errneas los envos de productos y la prdida financiera de la empresa. Debido a la naturaleza de misin crtica de la sistema, no puede ser tomado fuera de lnea a menos que la evidencia significativa de uso indebido del sistema podra ser identificados. Paso 1: Verificacin 4E46 Al llegar a la escena, me present un informe sobre la situacin y se enter de que el servidor SQL Server Server 2005 base de datos contiene una base de datos de usuario nico, que fue la base de un sistema de ventas online de la aplicacin. El cliente tambin me inform de que haba recibido una llamada de una compaa de tarjetas de crdito con respecto a una operacin sospechosa que se carg a una tarjeta de cliente de su compaa. Debido a que el servidor no puede ser tomado fuera de lnea, un anlisis en vivo se llev a cabo. Durante una vivir el anlisis de datos voltiles voltiles y no se ve y se adquiri con la ayuda de los vivos objetivo del sistema operativo

1 . Durante una investigacin forense se debe utilizar los binarios en el objetivo sistema lo menos posible, ya que puede estar daado o alterado por lo tanto sesgar sus resultados. La respuesta a incidentes de CD-Rom utilizada en esta investigacin contiene incidente tradicionales herramientas de respuesta, adems de utilidades de SQL y las bibliotecas que permiten ad-hoc envo de consultas a SQL Server con un mnimo de ayuda de la mquina no fiable.
Pgina 5

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 4 Para comenzar la verificacin de incidentes, Windows v1.0.03 herramienta forense se utiliza con un archivo de configuracin personalizada. Este archivo de configuracin se ejecutar de administracin distribuida Vistas (DMV), base de datos de consistencia comandos Comprobador (DBCC) y de otros proveedores emitido procedimientos para recopilar datos que pueden ser utilizados para probar o refutar la existencia de una intrusin. Para ms informacin sobre el archivo personalizado de Windows herramienta forense de configuracin en el pecho, consulte el Apndice A de este documento. Exactamente a las 10:02 AM, hora del servidor, el sistema del cliente que se registra en el PRODSQL05 SQL Server de forma interactiva en el contexto de usuario administrador. Al iniciar la sesin en el sistema, Se observ que la bandeja del sistema no contiene iconos de aplicaciones de terceros y el funcionamiento del sistema parece ser Windows 2003 Standard Edition. A las 10:03 AM hora del servidor, que asume el mando de la consola para empezar la investigacin. Mi CD de respuesta forense se insert en el ordenador y un comando shell de confianza se puso en marcha mediante la emisin de la "D: \ FResponse \ cmd.exe" de comandos. Utilizando la ruta del archivo completo, adems de el nombre binario asegura que el binario se carga desde el CD de confianza. El anfitrin no fiable puede contener binarios a juego con los nombres de los binarios contenidos en mi CD de respuesta. Si estos binarios estn presentes

dentro de un directorio de referencia en la variable de la ruta del host de destino, los archivos binarios no sean de confianza pueden ser cargado por error. Para eliminar la posibilidad de que esto ocurra, la ubicacin del archivo completo, adems de el nombre del archivo binario se utiliza en esta investigacin. Los resultados de las herramientas se ejecutan durante esta investigacin, se guardarn en la confianza estacin de trabajo forense en contraposicin a la no-confianza host de destino. Desde el shell de comandos, la "D: \ FResponse \ net use * \ \ 192.168.1.174 \ $ Adquisicin" orden fue dada para asignar una unidad desde el host de destino a los medios de almacenamiento estril se encuentra en mi ordenador porttil forense que estaba conectado a la red en la direccin IP 192.168.1.174. La "Adquisicin $" compartir est oculto y protegido con contrasea para ayudar a asegurar la integridad
Pgina 6 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 5 de los datos dentro. Se observ que la letra de unidad asociada con el comando net use se conectado como "E: \" en el host de destino. La "D: \ FResponse \ wft.exe-dst E: \" comando se emitido para poner en marcha la Caja de herramientas personalizada de Windows Forense v1.0.03 instancia que reuni a base de datos voltiles y los datos del sistema operativo del sistema de destino y con seguridad se almacenan en el estacin de trabajo forense. Una vez que Windows Forense Caja de herramientas se termine la ejecucin, los resultados fueron analizados y los acontecimientos notables se identificaron los siguientes. SQL reservas Sesiones del servidor de # 50 y menor para los procesos internos de SQL Server, descontando estos, se detect que dos sesiones se activa en el servidor SQL. La primera sesin ID # 52 que perteneca a la instancia de WFT ejecutar en el contexto de administrador local y la segunda fue la sesin # 51 que pertenecen a una operacin de usuario desconocido en el inicio de sesin EasyAccess. Esta sesin se haba establecido a las 7:58 AM de la maana. Debido a que el inicio de sesin el nombre era poco convencional, que se ha marcado para la verificacin del cliente.

SQL Server 2005 mantiene un registro de la ltima sentencia SQL ejecutada por un determinado sesin. Viendo esta historia para los usuarios conectados condujo a la identificacin de un sospechoso transaccin.
Pgina 7

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 6 La directiva de auditora activo en el sistema de destino se configura para registrar los inicios de sesin nico xito, y no login fracasos. Sin embargo, SQL Server mantiene su propio registro de la base de datos de registros relacionados errores en el servicio, adems de los datos de autenticacin. El registro de errores se almacenan en el directorio "C: \ Program Archivos de programa \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ LOG "directorio del sistema de destino. Revisin de el registro de errores identificado varios cientos de intentos fallidos en la sucesin a la cuenta de sa, seguido por su conexin exitosa. Esta actividad es normalmente atribuido a la evidencia de un xito ataque de fuerza bruta contra el servidor de base de datos. Para investigar ms a fondo las conclusiones anteriores, la configuracin del servidor de SQL necesarias para obtener. SQLCMD, una utilidad que permite a Microsoft public la presentacin de las ad-hoc de SQL
Pgina 8

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 7 scripts e instrucciones a un servidor de MS SQL se utiliza desde el CD de respuesta a incidentes de confianza. La ad-hoc capacidades de consulta de esta herramienta se utilizar durante el resto de esta investigacin. La "D: \ FResponse \ Sqlcmd-S PRODSQL05-e-s", "" comando se ha ejecutado desde el

smbolo de confianza que se abri una conexin con el servidor SQL Server con el usuario interactivo contexto. El "e-" las fuerzas de cambio SQLCMD hacerse eco de nuestras declaraciones de entrada en el resultado SQL archivos y la opcin "-s", "" opcin nos asegura que las salidas son delimitados por comas, que permitan obtener los resultados a ser importados en otra aplicacin para un anlisis ms profundo. Despus de entrar, un archivo de salida se estableci para registrar las sentencias SQL y sus resultados asociados con seguridad a mi estacin de trabajo forense. : A E: \ initialconnection.txt Un hash MD5 se crear en cada archivo de salida para asegurar la integridad de los datos. Cuando se establece una conexin a SQL Server el contexto de base de datos predeterminada configurada en las propiedades de conexin del usuario se ser utilizado. Para asegurar el contexto de base de datos se estableci de hecho la base de datos OnlineSales los siguientes orden fue dada: uso OnlineSales ir Resultados: initialconnection.txt SQL Server 2005 puede ser configurado para utilizar la autenticacin de Windows, que permite el sistema operativo del host para autenticar a los usuarios, o la autenticacin de modo mixto, que permite de autenticacin que se produzca, ya sea en el sistema operativo o de forma independiente dentro de SQL Server 4 . Tambin hay varias opciones de registro en SQL Server para iniciar la sesin de inicio de sesin con xito y / o no intentos. Para verificar los ajustes de configuracin del servidor sujeto el siguiente comando se ha ejecutado:
Pgina 9

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 8 xp_loginconfig Resultados: xp_loginconfig - onlinesales.txt Los siguientes resultados se producen y muestran que el servidor est configurado para el modo mixto autenticacin y se configura para registrar los intentos de acceso tanto xito y fracaso.

Autorizacin dentro de SQL Server 2005 est controlado por dos puertas. La primera puerta se asegura que los usuarios se autentican en la instancia de base de datos y el segundo se asegura de que los usuarios tienen la los permisos adecuados para acceder a las bases de datos y objetos de base de datos. Durante el paso de verificacin de esta investigacin hemos identificado que el servidor SQL EasyAccess sesin fue registrado en el servidor. Sin embargo, porque la investigacin est en la base de datos de la OnlineSales los permisos de base de datos tendrn que ser evaluados para verificar que la cuenta ha EasyAccess el acceso a esta base de datos especfica. La siguiente consulta se realiz para obtener una lista de todos los usuarios de la base de datos dentro de la base de datos OnlineSales: Select * from sys.database_principals donde type = "S" o type = 'U' orden create_date, modify_date Resultados: db_principals-onlinesales.txt Esta consulta arroj los siguientes resultados que muestran que el usuario EasyAccess cuenta tiene acceso a la base de datos OnlineSales:
Pgina 10 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 9 El procedimiento de Microsoft extendida "xp_cmdshell" permite a los usuarios ejecutar comandos DOS dentro del sistema operativo host subyacente utilizando sus clientes de SQL. Esto puede permitir a un atacante que pone en peligro el lanzamiento de SQL Server a continuacin, los ataques contra el operativo host subyacente del sistema. Sin embargo, este procedimiento est desactivado por defecto en SQL Server 2005. Para verificar su estado actual, el siguiente comando fue ejecutado: Select * from sys.configurations Resultados: sys.configurations.txt Los resultados mostraron que este procedimiento se ha desactivado por lo tanto, se parte del supuesto de que base de datos de los usuarios son incapaces de ejecutar comandos del sistema operativo en el host. Aproximadamente a las 10:45 AM, los primeros resultados fueron presentados a los clientes que se verifica que la cuenta EasyAccess era una anomala y no crear para cualquier negocio legtimo

propsito. Se revel tambin que la aplicacin de ventas en lnea fue de servicio por mantenimiento por lo tanto, nadie debera haber sido conectado a la OnlineSalesdatabase o ha ejecutado la identificado delete. A las 11:01 AM el cliente autoriza una investigacin forense completa para llevar a cabo en el servidor para determinar el alcance e impacto de la intrusin. A las 11:05 AM El SQL Server se
Pgina 11

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 10 desconectado de la red de produccin y conectado a un HUB de 4 puertos DLINK para aislar el servidor y evitar la modificacin por parte del usuario desconocido. Paso 2: Descripcin del sistema Como se dijo anteriormente en la seccin de verificacin de este documento, al iniciar la sesin con el objetivo el servidor de fondo por defecto Microsoft era visible en la consola del servidor y no hay tercero parte visible en la bandeja del sistema de aplicaciones. El perfil del sistema se obtuvo la siguiente a partir de informacin proporcionada por el cliente, as como los resultados recogidos durante el investigador paso de verificacin: Sistema de nombres de PRODSQL05 Nmero de serie US822301223 Sistema de sistema operativo Microsoft Windows Server 2003 Service Pack 1 Base de datos de la versin 9.00.1399.06 Funcin de sistema Funcionar como una base de datos back-end para un sistema de procesamiento de pedidos en lnea Descripcin fsica El sistema contiene tres tarjetas de red perifrica, uno que pareca ser una tarjeta de video, y los otros dos parecan ser las tarjetas de red, sin embargo, slo una tarjeta de red se conecta a la realidad de la red.

Pgina 12

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 11 Fotografas de los activos: Paso 3: Recopilacin de evidencia Medida que transcurre el tiempo despus de un incidente de seguridad, las pruebas pueden ser anuladas por legtimos y / o la actividad del sistema maliciosos. Bases de datos puede contener grandes almacenes de datos que se traducen en una base de datos de alta costo de adquisicin. Para ayudar a asegurar se da prioridad a las fuentes de datos ms probabilidades de contener datos relevantes para apoyar la investigacin, es mi opinin de los expertos que las fuentes de datos relevantes se
Pgina 13

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 12 le asigna un significado y un valor de volatilidad entre un -5 con 5 siendo de mayor importancia y / o volatilidad. Los valores siguientes deben ser utilizados en la siguiente frmula para determinar prioridad [10 - (Clasificacin de importancia) + (calificacin de la volatilidad) = prioridad]. Utilizando la frmula anterior, el almacena los datos relevantes en esta investigacin fueron las siguientes prioridades: Artculo Importancia Volatilidad Prioridad Conexiones del servidor SQL y Sesiones 5 5 0 Registro de transacciones (s) 5 4 1

SQL Server Logs 4 3 3 SQL Server Files base de datos 3 2 5 Registros de eventos del sistema 2 2 6 Ahora que almacena los datos han sido identificados y priorizados, la adquisicin de datos reales puede llevar a cabo. Conexin de SQL Server y la sesin de datos Informacin relacionada fue atrapado con xito a travs de la medida Forense de Windows Herramienta herramienta de pecho ejecutados durante la etapa de verificacin de esta investigacin. Los registros de transacciones El servidor SQL Server registro de transacciones contiene un registro de todas insertar, actualizar y eliminar declaraciones hechas en la base de datos. Por motivos de rendimiento de SQL Server no inmediatamente escribir estos hechos a los archivos de datos fsicos. En su lugar los cambios se escriben en el archivo de registro para amortiguar y ms tarde por escrito a los archivos de datos. Una sola base de datos de SQL Server pueden utilizar varios archivos de base de datos y de transacciones mltiples registros. El nmero de archivos y las ubicaciones deben ser identificados de la base de datos OnlineSales.
Pgina 14 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 13 Usando la sesin SQLCMD de confianza, la consulta followingSQL se ejecuta para recopilar la base de datos informacin de los archivos: sp_helpdb OnlineSales Resultados: sp_helpdb-onlinesales.txt Los siguientes resultados fueron devueltos de la anterior consulta SQL y mostrar que la

Base de datos OnlineSales est utilizando un archivo de datos fsicos que termina con el ". Mdf" extensin y dos archivos de registro de transacciones que termina con el ". ldf" de extensin. Estos archivos estn contenidos dentro de independiente de Windows ubicaciones de archivos. nombre sorting nombre de archivo ... ------------------------------- ------ ----------------OnlineSales 1 C: \ Archivos de programa \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DATA \ OnlineSales.mdf ... OnlineSales_log 2 C: \ Archivos de programa \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DATA \ OnlineSales_log.ldf ... OnlineSales_log2 3 C: \ OtherLogs \ OnlineSales_log2.ldf ... La siguiente consulta SQL fue ejecutado luego de volcar el contenido del registro de OnlineSales archivo de la estacin de trabajo de confianza forense: dbcc log (OnlineSales) Resultados: dbcclog-onlinesales.txt A pesar de una base de datos de SQL Server puede utilizar varios registros de transacciones fsicas internamente, SQL Server se divide cada archivo de registro fsico en 16.4 archivos de registro virtuales (VLF) 5 . VLFs seleccionados se marcada como activa en un momento dado y se utiliza para registrar las transacciones. SQL Server peridicamente completa un proceso de control que cambia vaca registra en el archivo de registro para la fsica de archivo de disco. Una vez completado esto, SQL Server marca el que contiene los archivos VLF est plenamente comprometido transacciones reutilizables y sobrescribir segn sea necesario con nuevas entradas de registro.
Pgina 15

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 14

El siguiente comando de SQL Server se ejecuta desde el contexto OnlineSales para ver el estado de asignacin lgica del registro de transacciones fsicas: loginfo dbcc Resultados: onlinesales.txt dbccloginfoLos resultados de este comando puede ser til ms adelante en la investigacin cuando se determina si el archivo de registro de transacciones fsicas se dividen en archivos de registro virtuales para separar los VLFs activa de la VLFs reutilizables que pueden contener datos histricos relevantes en este investigacin. Con el fin de obtener un cierto poco a poco copia del registro de transacciones, el servidor SQL Server servicio tendr que ser parada con el fin de liberar los bloqueos mantenidos en los archivos de destino. En SQL El apagado del servidor y el inicio del proceso de base de datos de control se activa automticamente 5 que, como ya se dijo antes se lave los cambios no comprometidos en el disco y marcar los registros como reutilizables. El siguiente comando fue ejecutado a la fuerza el cierre de SQL Server. Cierre Resultados: shutdown.txt Despus de los procesos de SQL Server se cierre, los archivos de registro fsicos fueron adquiridos utilizando la herramienta de imgenes de disco dcfldd que tambin genera hashes MD5 de los datos adquiridos. Estos hashes se compararon con los hashes de los archivos de disco a asegurar que los datos no se alter durante el duplicacin de esfuerzos. Los archivos de base de datos
Pgina 16

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 15 Usando las ubicaciones de archivos de base de datos recuperados de los resultados de la sp_helpdb " OnlineSales "comando ejecutado anteriormente en la investigacin, el archivo de base de datos OnlineSales tambin adquiridas mediante la herramienta de dcfldd. Predeterminada de SQL Server archivo de traza La configuracin predeterminada de SQL Server se ejecuta una traza que captura la actividad limitada

dentro de la base de datos. Esta configuracin est activada por defecto, pero puede ser desactivado por un usuario con privilegios suficientes. Utilizando la configuracin de SQL Server se reunieron a principios de esta investigacin, la de rastreo por omisin fue confirmado para ser habilitado. Durante la revisin de los archivos de SQL Server directorio de instalacin de origen de varios con el valor por defecto Microsoft traza convencin de nomenclatura "log_ # #" se identificaron. Estos archivos de registro fueron adquiridos mediante la herramienta dcfldd ya que pueden contener informacin relevante en esta investigacin. SQL Server Error Logs Adems el registro de errores actual utilizada por SQL Server, los datos de registro histrico es tambin mantiene. Cada vez que se reinicia el servicio SQL Server, un nuevo registro de errores se crea y el registro existente es una copia de seguridad. SQL Server mantiene el registro de errores actual, adems de seis copias de seguridad de registro. Todos los siete registros de errores fueron adquiridos utilizando la herramienta dcfldd. Una vez que todos los datos se haban adquirido el SQL Servicios de servidor se reinicia.
Pgina 17

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 16 Paso 4: Creacin de la lnea de tiempo La construccin de una lnea de tiempo inicial ser un mapa de los acontecimientos notables digitales que han sido identificados hasta el momento y establecer un mbito de la investigacin que se utilizar durante la fase de anlisis de los medios de comunicacin. Revisin de los errores de SQL Server obtenidos durante la presentacin de evidencia de que el paso de la coleccin Instancia de SQL Server se reinici en Marzo 01, 2007. Esta ser la primera entrada de la lnea de tiempo. Como se descubri durante la etapa de verificacin de esta investigacin el 2 de marzo De 2007 varios cientos de intentos de conexin no SQL Server se registrado en el registro de errores entre 7:01 AM a 7:39 PM de la direccin IP 192.168.1.20. Despus de estos intentos fallidos de conexin son los inicios de sesin con xito por la cuenta de SA a las 7:54 AM y la cuenta a las 8:09 AM EasyAccess de la misma direccin IP.

Estos eventos se aadirn a la lnea de tiempo, adems de la identificacin de Process Server asociados (SPID). Un SPID es un nmero exclusivo utilizado por SQL Server para el seguimiento de un determinado perodo de sesiones en el base de datos del servidor 2 . Los archivos de seguimiento obtenidos durante la fase de recopilacin de pruebas de esta investigacin fueron importados a MS SQL en mi estacin de trabajo forense para el anlisis. Durante la revisin, los acontecimientos notables se identificaron los siguientes: (1) Creacin de una cuenta EasyAccess (2) cuenta EasyAccess se concede el acceso a la base de datos OnlineSales (3) cuenta EasyAccess se aade a ONLINESALES funcin db_owner
Pgina 18

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 17 (4-6) Desconocido transacciones se realizan por cuenta EasyAccess que requiere tempdb uso. A menudo, las operaciones DML requieren el uso de tempdb 2 por lo tanto, es probable SPID que emiti 51 operaciones de DML que requieren resultado objeto o provisional almacenamiento. Con base en los hechos identificados hasta ahora en la investigacin, el siguiente cronograma se construida: Tiempo Usuario SPID Accin 01 de marzo 2007 7:26 AM DESCONOCIDO N/A Instancia de SQL Server se reinicia 02 de marzo 2007 7:01 AM 7:39 AM DESCONOCIDO 51 SQL Server fuerza bruta ataque lanzado contra la PRODSQL05 servidor 7:54 AM

SA 51 SA de SQL Server cuenta de usuario se registra en PRODSQL05 servidor 7:54 AM SA 51 Cuenta EasyAccess creado 7:55 AM SA 51 Cuenta EasyAccess acceso a OnlineSales base de datos 7:56 AM SA 51 Cuenta EasyAccess aadido a OnlineSales db_owner papel 8:09 AM EasyAccess 51 EasyAccess cuenta de SQL Server se registra en 1 3 2 5 6 4
Pgina 19 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 18 PRODSQL05 servidor 8:09 AM EasyAccess 51 Cuenta EasyAccess ejecuta la transaccin desconocido en ONLINESALES db 8:13 AM EasyAccess 51 Cuenta EasyAccess ejecuta la transaccin desconocido dentro de la base de datos OnlineSales

8:13 AM EasyAccess 51 Cuenta EasyAccess ejecuta la transaccin desconocido dentro de la base de datos OnlineSales 10:17 AM Administrador 52 Inicio de la investigacin forense de servidor de base de datos 11:05 AM Administrador N/A PRODSQL05 servidor retirado de la red 11:16 AM Administrador 52 Instancia de SQL Server cierre La aplicacin conecta a SPID 51 se registr por SQL Server como "OSQL-32". Realizar una bsqueda de Google en este nombre identifica la aplicacin como un legado de Microsoft lnea de comandos de herramienta de consulta llamada OSQL. Esto se notar, ya que pueden ser relevantes en el futuro si un investigacin se realiza en el ordenador del usuario no autorizadas. Paso 5: Anlisis de los medios de comunicacin El plazo establecido en el paso anterior ahora se utiliza para establecer lmites en la alcance del anlisis de los medios de comunicacin. Utilizando la lnea de tiempo, el foco de la investigacin ser sobre las actividades ejecutado por SPID 51 entre 7:54 AM 01 de marzo st De 2007, cuando el acceso no autorizado se ganado a SQL Server y ms tarde en el da a las 11:05 AM cuando el sistema fue aislado de la la produccin de la red.
Pgina 20

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 19 Antes de pasar a cualquiera de los archivos RAW de datos SQL, los tipos de datos en uso dentro de la OnlineSalesdatabase tendr que ser identificado. Unicode es un mtodo estndar de asignacin de SQL Representaciones servidor de byte (cdigo de puntos) en caracteres ASCII. El estndar Unicode es inclusiva

de caracteres que se asignan a todos los idiomas en todo el mundo. SQL Server utiliza varios datos tipos que almacenan datos Unicode, sin embargo hay algunos tipos de datos utilizados por SQL Server (Char (n), varchar (n) y texto) que almacenan los valores que no son Unicode 3 . Cuando no Unicode son valores almacenados en SQL Server, que se convierten en un tipo de datos compatible con la configuracin de intercalacin de la columna de la tabla respectiva 3 . Si estos datos son vistos por un ordenador mediante una pgina de cdigos que no cubre el rango de caracteres utilizados en la configuracin de intercalacin de la base de datos, prdida de datos puede ocurrir que puede sesgar los resultados 3 . Para determinar si los datos no Unicode estaba siendo utilizado por el Tabla de pedidos y la configuracin de intercalacin en el lugar, el siguiente procedimiento se ejecut: sp_tablecollations "orden" Resultados: sp_tablecollations-onlinesales.txt Los siguientes resultados muestran que tanto los datos Unicode y no Unicode se almacena dentro de la Orden mesa. Las columnas de almacenamiento de datos no Unicode utilizan el SQL_Latin1_General_CP1_CI_AS cotejo de ajuste.
Pgina 21

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 20 Esta configuracin de intercalacin fue investigado en SQL Server 2005 Libros en pantalla que muestra que este cotejo mapas a la pgina de cdigos 1252 4 . Para verificar la pgina de cdigos en uso en mi forenses estacin de trabajo, la aplicacin de las opciones regionales y de idioma en el panel de control en mi forenses estacin de trabajo fue visto. Esto determin que la estacin de trabajo forense con una queja pgina de cdigos con el fin de traducir correctamente los puntos de cdigo que utiliza SQL Server.
Pgina 22

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 21 El registro de transacciones adquiridos durante la fase de recopilacin de pruebas se ha importado a Microsoft Excel utilizando la pgina de cdigos 1252. Una de SQL Server 2005 de registro de transacciones contiene ms de 100 columnas sin embargo, slo algunas columnas que contienen datos relevantes en funcin del alcance de este investigacin. La siguiente tabla muestra las columnas de destino y su funcin dentro de este investigacin. Columna Descripcin Funcionamiento El tipo de operacin que se llev a cabo PageID Los datos de la pgina afectada por la transaccin SlotID La fila en la pgina de datos afectados por la transaccin Desplazamiento en la fila La primera posicin en la fila de datos afectados por la transaccin SPID El identificador de proceso del servidor de Hora de inicio Indica la hora de inicio de transaccin (hora del servidor) Nombre de transaccin Clasificacin de la transaccin activa Hora de finalizacin Indica la hora de finalizacin de la transaccin (hora del servidor) RowLogContents0 El valor que fue actualizado por la transaccin (insercin, actualizacin de las declaraciones) RowLogContents1 El valor que se escribe en el disco (Insert, UPDATE) Para obtener una lista de todas las columnas en el registro de transacciones, consulte el Apndice B de este documento. El conjunto de datos importados se filtr para mostrar nicamente los registros que fueron ejecutados por un SPID 51 y entre los rangos de fecha / hora capturado en la lnea de tiempo. Las dos primeras transacciones identificadas, se asociados con el aumento de la creacin y autorizacin de la cuenta de que EasyAccess fue identificado durante el examen de archivo de rastreo.

Pgina 23

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 22 La tercera operacin ejecutada por SPID 51 fue una instruccin de actualizacin. Los detalles del registro de transacciones demostrar que una transaccin de base de datos ID 0000:0000032 e que fue una instruccin de actualizacin que afectan a tres los registros a menos de 3 pginas de datos por separado dentro de la base de datos. Una pgina de datos de SQL Server es una estructura de bytes 8192 que almacena los datos de base de datos 5 . Una pgina de datos puede contener varias filas y cada base de datos contiene varias pginas de datos. Pginas de datos se organizan en grupos lgicos de 8 extensiones llamadas 6 . Utilizando el volcado de registro de transacciones, la primera actualizacin declaracin se analiz, la identificacin de un registro en la fila 20 de la pgina de datos 0001:000000 d3. Tanto el Marca el comienzo de una transaccin Marca el final de un transaccin Tipo de transaccin realizado Transaccin nica identificador Datos de identificacin Pgina para la fila que contiene la registro actualizado En el corredor de la pgina de datos ubicacin del registro En los datos de desplazamiento de fila de la modificacin
Pgina 24

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro

Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 23 ID de la pgina y los valores de ID de transaccin se almacenan en formato hexadecimal y cuando se convierte a decimal producir el los siguientes valores: Identificador Hexagonal Decimal ID de transaccin 0000:0000032 e 0:814 Pgina de datos 0001:000000 d3 1:211 Con el fin de ver las pginas de datos en bruto, la base de datos OnlineSales se adjunta en SQL Server Management Studio (SSMS) versin 9.00.1399.00 en mi estacin de trabajo forense. Dentro de la base de datos que acaba de agregar OnlineSales, publicadas por Microsoft los comandos y procedimientos se utilizarn para examinar las pginas de datos en bruto que han sido modificados. La siguiente orden fue emitida en el contexto de la base de datos OnlineSales dbcc pgina (OnlineSales, 1, 211, 1) El comando anterior objeto de dumping datos de la pgina 211, que contiene la fila que haba sido modificado. La cabecera de la mesa se analiz para identificar la tabla base a la que perteneca la pgina de datos.
Pgina 25

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 24 Objectid 629577281 se utiliz como argumento en la siguiente consulta que se realiz para resolver el nombre del objeto. Select * from sysobjects donde id = 629577281 Esto produce la siguiente salida, que confirm que la pgina de datos perteneci a la Orden mesa. El mtodo utilizado por SQL Server para almacenar los datos depende de los tipos de datos en uso, el tamao de cada columna y el orden en que las columnas se especifica cuando se cre la tabla. Antes de las pginas de datos en bruto fueron examinados, el esquema de la tabla se reuni por primera vez por la ejecucin del siguiente comando:

SELECCIONAR sc.colorder, sc.name, st.name como "tipo de datos ', sc.length DE syscolumns sc,
Pgina 26

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 25 systypes st DONDE sc.xusertype = st.xusertype y sc.id = 629577281 ORDER BY colorder La siguiente salida se produjo lo que ilustra el esquema de la tabla Order: Utilizando slotID: 20 y 80 rowoffset que se haban obtenido previamente en el registro de transacciones, el punto especfico dentro de la fila de datos se identific en el que la operacin comenz.
Pgina 27

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 26 Utilizando el esquema de la tabla obtenida anteriormente, el tipo de datos dentro de este desplazamiento de fila es la columna de Precio que contiene un 30-byte tipo de datos nchar. Del registro de transacciones, el valor hexadecimal de la Rowlog0 y Rowlog1 columnas se extrajeron y se convierte en la representacin decimal. RowLog0 Hexagonal 35 00 30 00 30 00 2E 00 30 00 30

ASCII 5 0 0 . 0 0 RowLog1 Hexagonal 2E 00 35 00 30 00 20 00 20 00 20 ASCII . 5 0 SP SP SP Mapeo de la pgina de datos determin que el desplazamiento de la columna precio es 0x4f (79), como se indica, la instruccin de actualizacin se inici en el offset 80. Esto se hizo para SQL Server no tiene que sobreescribir un valor en el que sera necesario volver a escribir como parte de la transaccin. Por lo tanto, el desplazamiento se aumentada por SQL Server 79 a 80 para compensar. Teniendo esto en cuenta, el
Pgina 28

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 27 sentencia ejecutada en la transaccin e 0000:0000032 (0:814) fue actualizar la columna de precios de "3.500,00" a "3.50": Siguiendo los mismos pasos descritos anteriormente, los otros 2 registros actualizados en esta transaccin

fueron identificados. Inicio de la col. Inicio de la trn.


Pgina 29 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 28 RowLog0 Hexagonal 35 00 30 00 30 00 2E 00 30 00 30 ASCII 5 0 0 . 0 0 RowLog1 Hexagonal 2E 00 35 00 30 00 20 00 20 00 20 ASCII . 5

0 SP SP SP
Pgina 30

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 29 RowLog0 Hexagonal 35 00 30 00 30 00 2E 00 30 00 30 ASCII 5 0 0 . 0 0 RowLog1 Hexagonal 2E 00 35 00 30 00 20 00 20 00 20 ASCII .

5 0 SP SP SP Cabe sealar que los 3 registros actualizados en esta transaccin fueron asociados con el volcn "62 pulgadas Plasma VC2332 "del producto. La cuarta transaccin ejecutada por SPID 51 fue otra instruccin de actualizacin. La detalles de registro de transacciones muestran que ID de transaccin: 0000:0000032 f fue una instruccin de actualizacin que afectan a dos registros se encuentra en dos pginas de datos por separado.
Pgina 31

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 30 El mismo proceso utilizado anteriormente fue seguido para identificar los registros afectados. El desplazamiento de fila y los valores de pgina de identificacin obtenidos a partir del registro de transacciones se utiliza para identificar el valor especfico actualizado dentro de los siguientes registros: El tipo de datos dentro de este desplazamiento de la fila es el ShipStatusID que es un valor entero de 4 bytes. RowLog0 Hexagonal 00 01 00 00 ASCII 00 01 00 00
Pgina 32

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro

Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 31 RowLog1 Hexagonal 00 02 00 00 ASCII 00 02 00 00 RowLog0 Hexagonal 00 01 00 00 ASCII 00 01 00 00 RowLog1 Hexagonal 00 02 00 00 ASCII 00 02 00 00 Cabe sealar que despus de consultar la tabla ShipStatus el valor ShipStatusID de 1 indica que un pedido ha sido enviado y un valor de 2 indica que la orden an no se ha enviado. Es el creencias del investigador que el valor se ha actualizado 2 a 1 en un intento de que el cliente
Pgina 33

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense

32 repita el envo del producto se hace referencia a la direccin designada. La operacin ejecutada por quinta SPID 51 fue una instruccin de insercin. El registro de transacciones detalles muestran que una transaccin de base de datos afectada 0000:00000330 una sola fila. El mismo procedimiento se utiliza para asignar las cuentas de actualizacin anterior a una las pginas de datos se sigui para identificar el registro insertado: Consultar el resto de las transacciones mostraron que no las futuras modificaciones se hicieron para esta ranura dentro de la pgina de datos 0000:00000330 por lo tanto, los datos que residen actualmente en los datos pgina permanece sin cambios desde su estado, insertada en esta transaccin. Los valores contenidos dentro de este registro son los siguientes:
Pgina 34 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC plantilla de Oro Un escenario real de una base de datos de SQL Server 2005 de Investigacin Forense 33 OrderID = 417 Nombre = Nino LastName = Negro Direccin = 72 Unidad Starfell Ciudad = Springlake Estado = AZ ZIP = 14410 CCType = Visa CCNumber = 5518530000000000 ShipStatusID = 2 OrderDate = March 1, 2007 12:00AM Product = XBOX 360 Price = 4.00 The price associated with this item seems inaccurate, and will be flagged for review by the client. It was also noted that the credit card number used in this insert statement was also associated with one of the records updated during transaction 815. The sixth transaction executed by SPID 51was transaction 0000:00000331 an update statement affecting 3 records. The same procedure used earlier to map the previous update statements to a data pages was

followed here and resolved to the Order table. Using the table schema obtained earlier, the data type within this row offset is the OrderDate column which contains an 8-byte datetime data tipo. The first record updated during this transaction was located on data page 211, slot 20 and the updated column began at offset 74.
Pgina 35

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 34 The method in which computers store multiple-byte values vary, some use little-endian ordering (LEO) and others use big-endian ordering (BEO) 7 . With little-endian ordering, the most significant byte of the number is placed in the first storage byte; big-endian does the reverse and stores the least significant byte in the first storage byte. Microsoft operating systems use littleendian ordering 7 , which is also true in the way SQL Server stores numeric values. From the transaction log the hexadecimal values from the Rowlog0 and Rowlog1 columns were extracted, switched into LEO and converted to decimal representation. RowLog0 Hex (BEO) 0x0000000000BD9800 Hex (LEO) 0x000000000098BD00 Decimal 39101 OrderDate Column Updated Value
Pgina 36

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos.

GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 35 RowLog1 Hex (BEO) 0x0000000000E49800 Hex (LEO) 0x000000000098E400 Decimal 39140 The datetime data type within SQL Server breaks an 8-byte date value into 2 fragments, the first being the number of days before or after January 1 st , 1900 and the second being the number of clock computer ticks after midnight with a tick occurring every 3.33 milliseconds 5 . Aplicaciones using the datetime data type to store date values only, will have a default time value of 00:00:00:000 which represents midnight 5 . The decimal representation of the RowLog1 column is 39140 which when added in days to January 1 st , 1900 gives us the date of March 01, 2007. La order date of this record was updated from January 21, 2007 to March 01, 2007. This procedure was used to identify the remaining two values which were updated within transaction 0000:00000331.
Pgina 37

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 36 RowLog0 (on disk value prior to transaction) Hex (BEO) 0x0000000000BD9800 Hex (LEO) 0x000000000098BD00 Decimal 39101 RowLog1 (committed transaction value) Hex (BEO) 0x0000000000E49800

Hex (LEO) 0x000000000098E400 Decimal 39140 OrderDate Column Updated Value


Pgina 38

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 37 RowLog0 (on disk value prior to transaction) Hex (BEO) 0x0000000000CE9800 Hex (LEO) 0x000000000098CE00 Decimal 39118 RowLog1 (committed transaction value) Hex (BEO) 0x0000000000E49800 Hex (LEO) 0x000000000098E400 Decimal 39140 The seventh transaction executed by SPID 51 was transaction 0000:00000332, a delete statement OrderDate Column Updated Value
Pgina 39

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 38 affecting a single record. This record will be further examined during the data recovery stage of this investigation. Step 6: Data Recovery The seventh transaction executed by SPID 51was transaction 0000:00000332, a delete

statement affecting a single record. When a record is deleted within SQL Server, it is marked as a fantasma 5 , which tells the database engine to hide it from future query results even though the underlying data still resides within the data page. A garbage clean-up process runs periodically within SQL Server to physically remove the ghost records within the data pages so the space can be reused. Ghost records contained within a data page are flagged within the page header. Examining the header of the page 0001:0000000158 (1:344) containing the deleted row showed that the m_ghostRecCnt value was set at 0 indicating that the ghost records had already been physically removed from the data page.
Pgina 40 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 39 Using the same procedure used earlier in this document to map a data page to the owning table identified that the data page associated in this transaction mapped to the OrderHistory mesa. This table had an identical schema to that of the Order table. Within the transaction log, the following value was obtained from the RowLog0 column of the delete statement: 0x30006C009F000000500061007900650074007400650020002000200020002000200 0 200020002000200020002000200046004C003100360036003000320001000000000000 003A980 00033003500300030002E0030003000200020002000200020002000200020000E0000C 0060082 00860098009C00AD00CD004275727443617665323237205374617267656C6C204472 6976655 66973613635393033343030333433323233323030566F6C63616E6F20363220696E63 6820506 C61736D6120545620564332333332 The data above is the actual data row deleted from the data page during the transaction. To determine exactly what customer data had been deleted, it was necessary to reconstruct the data row. SQL Server uses two different data row structures, one for rows which contain fixed

length columns only, and another for rows containing variable length columns and/or fixed length columnas. Based on the schema obtained earlier in this investigation we know that the Order table contains both fixed and variable length data types. The data row structure for a variable length row is as follows:
Pgina 41

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 40 1 2 3 Fixed length columns 4 5 6 7 Variable length columns Source: Inside SQL Server 2005 The Storage Engine 5 Leyenda Artculo Storage Allocation Descripcin 1 1 byte StatusBits A contains data row properties 5 2 1 byte Unused in SQL Server 2005 5 3 2 bytes Row offset to in row location containing the number of columns in the data row 5 Fixed length columnas Fixed column length for all fixed columns

Location of in row fixed length data columns 5 4 2 bytes Total number of columns in data row 5 5 1 bit for each row column Null Bitmap 5 6 2 bytes Number of variable length columns within data row 5 7 2 bytes for each variable length column Row offset marking the end of each variable length column 5 Variable length columnas Used length of all variable length columns Location of in row variable length data columnas 5 Using the above row structure, and the data obtained from the RowLog0 column of the transaction log, the data row was reconstructed.
Pgina 42

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 41 0x30006C009F0000005000610079006500740074006500200020002000200 020002000200020002000200020002000200046004C0031003600360030003200 01000000000000003A98000033003500300030002E003000300020002000200020 0020002000200020000E0000C006008200860098009C00AD00CD 004275727443617665323237205374617267656C6C20447269766556697361 3635393033343030333433323233323030566F6C63616E6F20363220696E636820 506C61736D6120545620564332333332 Switching the appropriate hex values into LEO, and converting the values to decimal/ASCII

representation produced the following. StatusBits A Sin usar Pos. a find # of cols. OrderID col. City col. City col. contd. State col. ZIP col. ShipStatusID col. OrderDate col. Price col. Price col. contd. # of cols. Null bitmap N de variable cols. Positions where var cols. 1-6 end Nombre col. Apellido col. Address col. CCType col. Product col. CCNumber col.
Pgina 43

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 42 OrderID: 159 FirstName: Burt LastName: Cave Address: 227 Stargell Drive City: Payette Estado: FL ZIP: 16602 CCType: Visa CCNumber: 65903400343223200

ShipStatusID: 1 OrderDate: September 11 De 2006 Product: Volcano 62 inch Plasma TV VC2332 Price: 3500.00 Now that all of the executed transactions have been identified, the timeline was updated to reflect the notable discoveries. Tiempo Usuario SPID Accin 01 de marzo 2007 7:26 AM DESCONOCIDO N/A SQL Server instance is restarted March 2, 2007 7:01 AM 7:39 AM DESCONOCIDO 51 SQL Server Brute Force attack launched against PRODSQL05 server from IP 192.168.1.20 7:54 AM SA 51 SA SQL Server user account logs into PRODSQL05 server from IP address 192.168.1.20 using OSQL.exe 7:54 AM SA 51 EASYACCESS account is created 7:55 AM SA 51 EASYACCESS account is granted access to OnlineSales database 7:56 AM SA 51 EASYACCESS account added to OnlineSales db_owner role 8:09 AM EASYACCESS 51 SQL Server account logs into PRODSQL05 server

Pgina 44

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 43 from IP address 192.168.1.20 8:17 AM EASYACCESS 51 Transaction 814 is executed which updates the price of 3 Volcano Plasma TV orders from $3500.00 to $ 3.50 8:20 AM EASYACCESS 51 Transaction 815 is executed which updates the shippingstatusID column on Volcano Plasma TV orders from 1 (product shipped) to 2 (product not shipped) 8:31 AM EASYACCESS 51 Transaction 816 is executed which inserts an order for an XBOX 360 billed to the credit card of another database customer. 8:37 AM EASYACCESS 51 Transaction 817 is executed which sets the orderdate on Plasma TV orders to February 28, 2007 8:38 AM EASYACCESS 51 Transaction 818 is executed which deletes a previous order from the OrderHistory table for a Volcano Plasma TV at a price of $3500.00 10:17 AM Administrador 52 Start of Forensic Investigation of database server 11:05 AM Administrador N/A PRODSQL05 server removed from network 11:16 AM

Administrador 52 SQL Server instance shutdown Step 7: String Search As stated previously in this report, a single physical transaction log file is logically partitioned and split into 4-16 Virtual Log Files (VLFs) by SQL Server. Only a subset of these VLFs will be active at any one point. It is possible that the inactive VLFs at one point in time were active and may contain past transaction data which is relevant within this investigation. Revisin de la active transaction log file used throughout this investigation identified that the earliest log entry was 7:26 AM March 1 st , 2007 and the latest was 11:16 AM March 2 , De 2007. This date range is inclusive of the scope of the investigation therefore further review of VLFs is not required. The published Microsoft tools which interpret transaction logs support only active VLFs. Further investigation into transactions which occurred outside of the scope of this investigation will require sting searches to be performed on the inactive areas of the transaction log to identify rows for reconstruction.
Pgina 45 SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 44 Investigation Summary In conclusion, after gathering and analyzing all evidence, it is in the investigator's expert opinion that on the Morning of March 1 st , 2007, an unauthorized user connecting from IP 192.168.1.20 executed a successful brute force attack against the PRODSQL05 server. Una vez access was gained to the database, a connection was made using the Microsoft OSQL client to create a backdoor account named EASYACCESS. This account was used by the user to

fraudulently insert an erroneous product order for an XBOX 360 with the incorrect price of $4.00. This order was billed to Visa card number 5518530000000000 which belongs to another customer within the database. It is noted that the mailing addresses used within the fraudulent order differs from the address of the compromised user and may belong to the unauthorized user. In addition to inserting a fraudulent order, the unauthorized user performed the following updates to existing Volcano 62 inch Plasma TV VC2332 orders within the Order table. Order dates were set to February 28 De 2007 Prices were updated from $3500.00 to $3.50 The shippingstatusID column was updated from 2 to 1 A single record was also deleted from the Order table for a past Volcano 62 inch Plasma TV VC2332 by the user.
Pgina 46

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 45 The unauthorized user is believed to have had a general understanding of Transact-SQL (TSQL) syntax in order to have been capable of executing the database transactions via the OSQL command line interface and moderate knowledge of the OnlineSales database schema.
Pgina 47

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 46 Apndice A The following was text was added to WFT configuration file ################ # SQL SERVER # ################

M NA NA NA NA SQL SERVERNA V SQLCMD.RLL 341369b133a26556d963427384ca89ba NA NA NA Required by sqlcmd.exe EVH SQLCMD.exe28731c04b854cc1570dbdacc89a6c3f2 %s -E -Q "sp_helpdb" > %s%s%s sp_helpdb DB LISTING SP_HELPDB SQL SERVER EH SQLCMD.exe28731c04b854cc1570dbdacc89a6c3f2 %s -E -Q "select c.session_id, c.connect_time, c.net_transport, c.last_read, c.last_write, c.client_net_address, c.local_tcp_port, s.text from sys.dm_exec_connections c cross apply sys.dm_exec_sql_text (c.most_recent_sql_handle) s" > %s%s%s dm_exec_connections DM_EXEC_CONNECTIONS DM_EXEC_CONNECTIONS SQL SERVER EH SQLCMD.exe28731c04b854cc1570dbdacc89a6c3f2 %s -E -Q "select * from sys.dm_exec_sessions" > %s%s%s dm_exec_sessions DM_EXEC_SESSIONS DM_EXEC_SESSIONS SQL SERVER EH SQLCMD.exe28731c04b854cc1570dbdacc89a6c3f2 %s -E -Q "select name, type_desc, create_date, modify_date from sys.sql_logins order by create_date, modify_date" > %s%s%s sql_logins SQL_LOGINS SQL_LOGINS SQL SERVER EH SQLCMD.exe28731c04b854cc1570dbdacc89a6c3f2 %s -E -Q "select * from
Pgina 48

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 47 sys.dm_exec_requests " > %s%s%s dm_exec_requests DM_EXEC_REQUESTS DM_EXEC_REQUESTS SQL SERVER
Pgina 49

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 48 Apndice B Transaction Log Column listing: 1 CurrentLSN 2 Funcionamiento 3 Contexto 4 Transaction ID 5 Tag Bits 6 Log Record Fixed Length 7 Log Record Length 8 PreviousLSN 9 Flag Bits AllocUnitID 11 AllocUnitName 12 Page ID 13 Slot ID 14 Previous Page LSN 15 PartionID

16 RowFlags 17 Num Elements 18 Offset in Row 19 Checkpoint Begin 20 CHKPT Begin DB Version 21 MaxXDESID 22 Num Transactions 23 Checkpoint End 24 CHKPT End DB Version 25 Minimum LSN 26 Dirty Pages 27 Oldest Replicated Begin LSN 28 Next Replicated End LSN 29 Last Distributed End LSN 30 Server UID 31 UID 32 SPID 33 BeginLogStatus 34 Begin Time 35 Transaction Name 36 Transaction SID 37 End Time 38 Transaction Begin 39 Replicated Records 40 Oldest Active LSN 41 Server Name 42 Database Name 43 Mark Name 44 Master XDESID 45 Master DBID 46 PrepLogBegin LSN 47 PrepareTime 48 Virtual Clock 49 Previous Savepoint 50 Savepoint Name 51 Rowbits First Bit 52 Rowbits Bit Count 53 Rowbits Bit Value 54 Number of Locks 55 Lock Information 56 LSN Before Writes 57 Pages Written 58 Data Pages Delta 59

Reserved Pages Delta 60 Used Pages Delta 61 Data Rows Delta 62 Command Type 63 Publication ID 64 Article ID 65 Partial Status 66 Command 67 Byte Offset 68 New Value
Pgina 50

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 49 69 Old Value 70 New Split Page 71 Rows Deleted 72 Bytes Freed 73 CI Table ID 74 CI Index ID 75 NewAllocationUnitID 76 FIlegroupID 77 Meta Status 78 File Status 79 File ID 80 Physical Name 81 Logical Name 82 Format LSN 83 RowsetID 84 TextPtr 85 Column Offset 86 Flags 87 Text Size 88 Offset 89 Old Size 90 New Size 91 Description 92 Bulk allocated extent count 93 Bulk rowinsertID 94 Bulk allocationunitID 95 Bulk allocation first IAM

Page ID 96 Bulk allocated extent ids 97 RowLog Contents 0 98 RowLog Contents 1 99 RowLog Contents 2 100 RowLog Contents 3 101 RowLog Contents 4
Pgina 51

SANS Institute 2007 , El autor retiene todos los derechos. Huella de clave = AF19 FA27 2F94 998D FDB5 DE3D F8B5 06E4 A169 4E46 SANS Institute 2007, Como parte de la Sala de Lectura de la informacin de seguridad Autor se reserva todos los derechos. GIAC Gold Template A Real World Scenario of a SQL Server 2005 Database Forensics Investigation 50 Referencias 1 Keith J. Jones, Richard Bejtlich, Curtis W. Rose. Real Digital Forensics, AddisonWesley, 2006 2 MSDN Blog Pages http://blogs.msdn.com/sqlserverstorageengine/default.aspx 3 Microsoft Developer Network MSDN http://msdn2.microsoft.com/en-us/default.aspx 4 SQL Server 2005 Books Online, http://msdn2.microsoft.com/enus/library/ms130214.aspx 5 Kalen Delaney. Inside SQL Server 2005 The StorageEngine, Microsoft Press, 2007 6 Kalen Delaney and Jim Gray. Inside SQL Server 2000. Microsoft Press, 2001 7 Brian Carrier. File System Forensic Analysis. Addison-Wesley, 2005
Pgina 52

Last Updated: June 19th, 2011 SANS prximo entrenamiento Haga clic aqu para obtener una lista completa de todos los eventos prximos SANS por ubicacin AUD407 Foundations of Auditing Information Systems, Beta Prueba Orlando, FL Jun 26, 2011 - Jul 01, 2011 Evento en Vivo SANS IMPACT Malaysia 2011 Cyberjaya, Malaysia Jun 27, 2011 - Jul 02, 2011 Evento en Vivo

SANS Canberra 2011 Canberra, Australia Jul 01, 2011 - Jul 09, 2011 Evento en Vivo SANSFIRE 2011 Washington, DC 15 jul 2011 a 24 jul 2011 Evento en Vivo SANS Tokio Verano 2011 Tokio, Japn 25 julio 2011 a 30 julio 2011 Evento en Vivo SANS Boston 2011 Boston, MA Agosto 6, 2011-agosto 15, 2011 Evento en Vivo SANS Virginia Beach 2011 Virginia Beach, VA 22 agosto 2011-2 septiembre 2011 Evento en Vivo SANS Ottawa 2011 Ottawa, ON 28 agosto 2011 hasta 2 septiembre 2011 Evento en Vivo Arquitectura de seguridad: Seguridad en las aplicaciones de sodio y Redes 2011 Washington, DC Agosto 29, 2011 a agosto 30, 2011 Evento en Vivo SANS Melbourne 2011 Melbourne, Australia Septiembre 5, 2011 hasta septiembre 10, 2011 Evento en Vivo SANS Delhi 2011 Delhi, India 12 septiembre 2011 a 17 septiembre 2011 Evento en Vivo SANS Network Security 2011 Las Vegas, NV 17 septiembre 2011 a 26 septiembre 2011 Evento en Vivo SANS Rocky Mountain 2011 OnlineCO Jun 25, 2011 - Jun 30, 2011 Evento en Vivo SANS OnDemand Libros y archivos MP3 slo En cualquier momento Su propio ritmo