Script De Auditoria De Base De Datos
papadoc25 de Marzo de 2013
936 Palabras (4 Páginas)730 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,
...