Script De Auditoria De Base De Datos
Enviado por papadoc • 25 de Marzo de 2013 • 936 Palabras (4 Páginas) • 696 Visitas
1). Determinar si en la BD está activo el modo de operación en ARCHIVELOG o NONARCHIVELOG. Si este no está activo, la evidencia de ataque o cambios serán sobrescritos por un nuevo redo.
Se puede determinar realizando una sentencia SQL a la BD:
• SELECT VALUE V$PARAMETER WHERE FROM NAME=’archiv_log_start’;
2). Análisis de los Oracle Data Blocks, para determinar:
• Registros eliminados
• Localizar bloques asignados a tablas (OBJETOS DE INTERÉS)
• Seguimiento de Objetos creados y eliminados
• Localización de tablas eliminadas
• Localización de Funciones eliminadas
3). Obtención del SID de la BD
4). Enumeración de usuarios
• SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
• SELECT USERID, COMMENT$TEXT FROM SYS.AUD$;
5). Consultar Ataques de Fuerza bruta o Diccionario a cuentas de usuario
• SQL> SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
• SELECT NAME, LCOUNT FROM USER$ WHERE LCOUNT>0;
• SELECT NAME, LTIME FROM USER$ WHERE ASTATUS = 4;
6). Consulta de Ataques de Fuerza Bruta a la cuenta SYS
7). Consulta de intentos del exploit AUTH_ALTER_SESSION
• SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
8). Consulta de intentos de iniciar una sesión la base de datos a través de XML (XDB)
• SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
• SELECT COMMENT$TEXT FROM SYS.AUD$ WHERE USERID = ‘DBSNMP’;
• SELECT TERMINAL,SPARE1,TIMESTAMP# FROM SYS.AUD$ WHERE USERID=’DBSNMP’;
9). Consulta si la Auditoria está habilitada
• SELECT USER_ID, SESSION_ID, SAMPLE_TIME FROM SYS.WRH$_ACTIVE_SESSION_HISTORY ORDER BY SAMPLE_TIME;
• SELECT USERID, ACTION#, RETURNCODE, TIMESTAMP# FROM SYS.AUD$;
• SELECT USERID,ACTION#,TIMESTAMP#,LOGOFF$TIME FROM AUD$;
10). Consulta del archivo sqlnet.log,Agntsrvc.log, spfilesid.ora, o el init.ora todas las ubicaciones referentes a estos parámetros:
• audit_file_dest ——-> Sistema de Auditoria (ORACLE_HOME/rdbms/audit)
• background_dump_dest ——-> archivo alert.log y tracer de procesos ($ORACLE_HOME/admin/$ORACLE_SID/bdump)
• core_dump_dest ——-> archivos Oracle core dump ($ORACLE_HOME/DBS/)
• db_recovery_file_dest ——-> redo logs, flashback logs, y RMAN backups
• user_dump_dest ——-> Archivos trace debuggin procesos/usuarios (/oracle/utrc)
• utl_file_dir ——-> Especifica uno o m•s directorios que Oracle debe utilizar para PL/SQL archivos E/S.
• control_files ——-> Especifica uno o varios nombres de archivos de control de Oracle
• db_create_file_dest ——-> Especifica la ubicación predeterminada de archivos de datos administrados por Oracle.
• db_create_online_log_dest_n—-> Especifica la ubicación de los redo logs y file control
• log_archive_dest ——-> Es aplicable solo si la BD esta en modo de ARCHIVELOG
• log_archive_dest_n ——-> Define hasta 10 archivos de registros logs.
11). Consulta de archivos Log Listener (ORACLE_HOME/network/admin/listener.ora) (lsnrctl status me dará la ubicación actual)
12). Revisión de los LOGS de sentencias (SQL $ORACLE_HOME/bin/LOGIN.SQL,$ORACLE_HOME/dbs/LOGIN.SQL,$ORACLE_HOME/SQLPlus/admin/glogin.sql)
13). Consultando información de los inicios de Sesión:
• SELECT USER_ID, SESSION_ID, SAMPLE_TIME FROM SYS.WRH$_ACTIVE_SESSION_HISTORY
14). Consultar una lista de usuarios y roles, usuarios con función de DBA, para buscar inconsistencias, o usuarios creados por un atacante y la generación de contraseñas fuertes con la validación de los hash, cuentas bloqueadas, tiempos de password
• SELECT USER#, NAME, ASTATUS, PASSWORD, CTIME,
...