La Comunidad DragonJAR  

Retroceder   La Comunidad DragonJAR > Seguridad > Auditorías / Test de Penetración

¿Qué es La Comunidad DragonJAR?

DragonJAR.org es una comunidad de investigadores, estudiantes, profesionales y entusiastas de la Seguridad Informática, En la cual se busca darle un enfoque eminentemente práctico a la teoría sin olvidar las bases esenciales de esta.

De esta manera se Tratará de ofrecer soluciones útiles a los usuarios, tanto novatos, estudiantes, como a los profesionales e investigadores, Teniendo presente que el mundo de la seguridad informática y la información es un medio que se auto inventa constantemente.

La Comunidad DragonJAR es un espacio abierto y libre para cualquier persona que desee compatir en un ambiente digital sus conocimientos o sus dudas. El registro es gratuito, toma poco tiempo y te permite disfrutar de todas las características del sitio.

Si es tu primera visita, quizás deberías visitar la Ayuda para aprender un poco sobre el uso de los foros, para empezar a ver mensajes, selecciona el foro que quieres visitar de la lista de abajo.

Respuesta
 
LinkBack Herramientas Desplegado
Antiguo 25-Jan-2010, 17:05   #1
Dragonauta
 
Avatar de eduardo.restrepo
 
Fecha de Ingreso: 19-January-2010
Ubicación: Medellin
Mensajes: 127
Gracias: 24
Agradecido 79 veces en 30 Mensajes
eduardo.restrepo está en el buen camino
Predeterminado ¿Que Mirar Cuando Auditamos una Base de Datos Oracle?

Este articulo no es mi, es tomado de la web, la web de donde he sacado esto:

Jbyte Security: ¿Que Mirar Cuando Auditamos una Base de Datos Oracle?

Me parecio muy interesante y por eso lo he posteado, ahi les dejo para que lean!.


Cuando se realiza una auditoria, siempre es recomendable seguir una serie de pasos para no pasar por algo ningún detalle que pueda resultar crucial para nuestra investigación, a continuación les dejo un pequeño listado de las cosas a las que debemos echarle una ojeada cuando auditamos una base de datos oracle.

1). Determinar si en la BD esta activo el modo de operación en ARCHIVELOG o NONARCHIVELOG. Si este no esta 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 esta 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 dara 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 informacion de los inicios de Sesion:
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, PTIME, LTIME FROM SYS.USER$ WHERE TYPE#=1;
SELECT U.NAME AS “GRANTEE”, U2.NAME AS “ROLE” FROM SYS.USER$ U,SYS.USER$ U2, SYS.SYSAUTH$ A WHERE U.USER# = A.GRANTEE# AND PRIVILEGE# = U2.USER#;

15). Consultar una lista de objetos y privilegios en el sistema
SELECT U.NAME AS “GRANTEE”, P.NAME AS “PRIVILEGE”, U2.NAME AS “OWNER”, O.NAME AS “OBJECT” FROM SYS.USER$ U, SYS.USER$ U2,SYS.TABLE_PRIVILEGE_MAP P, SYS.OBJ$ O, SYS.OBJAUTH$ A WHERE U.USER# =A.GRANTEE# AND A.OBJ# = O.OBJ# AND P.PRIVILEGE = A.PRIVILEGE# AND O.OWNER#=U2.USER#;
SQL> SELECT OBJ#, OWNER#, NAME, TYPE#, CTIME, MTIME, STIME FROM SYS.OBJ$ ORDER BY CTIME ASC;

16). Consulta de tablas eliminadas
SELECT U.NAME, R.ORIGINAL_NAME, R.OBJ#, R.DROPTIME, R.DROPSCN FROM SYS.RECYCLEBIN$ R, SYS.USER$ U WHERE R.OWNER#=U.USER#;

17). Consulta de Directorios, archivos datos, archivos externos, tablas externas, buscando elementos perdidos o ubicados en sitios diferentes por el atacante.
SELECT T.NAME AS “TABLESPACE”, D.NAME AS “FILNAME” FROM V$DATAFILE D, TS$ T WHERE T.TS#=D.TS#;
SELECT U.NAME AS “OWNER”, O.NAME AS “DIRECTORY”, D.OS_PATH AS “PATH” FROM SYS.OBJ$ O, SYS.USER$ U, SYS.DIR$ D WHERE U.USER#=O.OWNER# AND O.OBJ#=D.OBJ#;
SELECT O.NAME, D.DEFAULT_DIR FROM SYS.OBJ$ O, SYS.EXTERNAL_TAB$ D WHERE D.OBJ# = O.OBJ#;

18). El Monitor del Sistema (SMON) MON_MOD$ Table
SELECT U.NAME AS “OWNER”, O.NAME AS “OBJECT”, M.OBJ#, M.INSERTS,M.UPDATES, M.DELETES, M.TIMESTAMP FROM SYS.MON_MODS$ M, SYS.USER$ U,SYS.OBJ$ O WHERE O.OBJ#=M.OBJ# AND U.USER#=O.OWNER#;

19). Revision de Triggers al encendido, apagado, inicio y terminacion de sesion
SELECT U.NAME AS “OWNER”, O.NAME AS “ENABLED_TRIGGER_NAME”,DECODE(T.TYPE#, 0, ‘BEFORE’,2, ‘AFTER’,'NOTSET’) AS “WHEN” FROM SYS.OBJ$ O, SYS.TRIGGER$ T, SYS.USER$ U WHERE O.OBJ#=T.OBJ# AND O.OWNER# = U.USER# AND ENABLED=1;
SELECT U.NAME AS “OWNER”, O.NAME AS “ENABLED_TRIGGER_NAME” FROM SYS.OBJ$ O, SYS.TRIGGER$ T, SYS.USER$ U WHERE O.OBJ#=T.OBJ# AND O.OWNER# = U.USER# AND ENABLED=1 AND BITAND(T.SYS_EVTS,1) = 1;
SELECT U.NAME AS “OWNER”, O.NAME AS “ENABLED_TRIGGER_NAME” FROM SYS.OBJ$ O, SYS.TRIGGER$ T, SYS.USER$ U WHERE O.OBJ#=T.OBJ# AND O.OWNER# = U.USER# AND ENABLED=1 AND BITAND(T.SYS_EVTS,2) = 2;
SELECT U.NAME AS “OWNER”, O.NAME AS “ENABLED_TRIGGER_NAME” FROM SYS.OBJ$ O, SYS.TRIGGER$ T, SYS.USER$ U WHERE O.OBJ#=T.OBJ# AND O.OWNER# = U.USER# AND ENABLED=1 AND BITAND(T.SYS_EVTS,8) = 8;
SELECT U.NAME AS “OWNER”, O.NAME AS “ENABLED_TRIGGER_NAME” FROM SYS.OBJ$ O, SYS.TRIGGER$ T, SYS.USER$ U WHERE O.OBJ#=T.OBJ# AND O.OWNER# = U.USER# AND ENABLED=1 AND BITAND(T.SYS_EVTS,16) = 16;

20). Consulta de librerias, que puedan estar ejecutando codigo arbitrario(malicioso)
SELECT U.NAME AS “OWNER”, O.NAME AS “LIBRARY”, L.FILESPEC AS “PATH” FROM SYS.LIBRARY$ L, SYS.USER$ U, SYS.OBJ$ O WHERE O.OBJ#=L.OBJ# AND O.OWNER#=U.USER#;

21). Consultas de FlashBack (nuevos privilegios, derechos asignados, nuevos objetos, objetos eliminados) entre la tabla actual y la anterior en un tiempo determinado.
SELECT GRANTEE#, PRIVILEGE# FROM SYS.SYSAUTH$ MINUS SELECT GRANTEE#, PRIVILEGE# FROM SYS.SYSAUTH$ AS OF TIMESTAMP(SYSDATE – INTERVAL ‘3600′ MINUTE);
SELECT NAME FROM SYS.OBJ$ MINUS SELECT NAME FROM SYS.OBJ$ AS OF TIMESTAMP(SYSDATE – INTERVAL ‘156′ MINUTE);
SELECT NAME FROM SYS.OBJ$ AS OF TIMESTAMP(SYSDATE – INTERVAL ‘156′ MINUTE) MINUS SELECT NAME FROM SYS.OBJ$;
22). Consulta de las tablas RECYLEBIN$ y OBJ$
SQL> SELECT MTIME, NAME, OWNER#, OBJ# FROM SYS.OBJ$ WHERE NAME LIKE ‘BIN$%’;

23). Consultas la Administracion automatica Deshacer ( UNDOTBS01.DBF)
SELECT SEGMENT_NAME,HEADER_FILE,HEADER_BLOCK,EXTENTS,BLOC KS FROM DBA_SEGMENTS WHERE SEGMENT_NAME LIKE ‘_SYSSMU%$’;

24). Consulta de los logs del Apache (Oracle Application Server)
__________________
----------------
------------------------------------------------------
Eduardo Restrepo Q.
Ingeniero de Sistema Universidad de Medellin
Gnu/Linux user (374764)
------------------------------------------------------------------------
eduardo.restrepo está desconectado   Responder Citando
Los siguientes 2 Usuarios dicen Gracias a eduardo.restrepo por este util Mensaje:
chakan (25-Jan-2010), RadicalEd (25-Jan-2010)
Antiguo 25-Jan-2010, 19:04   #2
Dragonauta
 
Avatar de UrbaN77
 
Fecha de Ingreso: 11-August-2008
Ubicación: Ibagué
Mensajes: 139
Gracias: 43
Agradecido 73 veces en 28 Mensajes
UrbaN77 está en el buen camino
Predeterminado

Muy bueno el articulo, fue escrito por Sr. Dino.
__________________



UrbaN77 está desconectado   Responder Citando
Antiguo 25-Jan-2010, 19:19   #3
Dragonauta
 
Avatar de eduardo.restrepo
 
Fecha de Ingreso: 19-January-2010
Ubicación: Medellin
Mensajes: 127
Gracias: 24
Agradecido 79 veces en 30 Mensajes
eduardo.restrepo está en el buen camino
Predeterminado

Yes sir!...

Esta bien interesante para los que hacemos auditorias!
__________________
----------------
------------------------------------------------------
Eduardo Restrepo Q.
Ingeniero de Sistema Universidad de Medellin
Gnu/Linux user (374764)
------------------------------------------------------------------------
eduardo.restrepo está desconectado   Responder Citando
Antiguo 25-Jan-2010, 20:35   #4
Dragonauta
 
Avatar de chakan
 
Fecha de Ingreso: 01-October-2009
Mensajes: 149
Gracias: 60
Agradecido 91 veces en 44 Mensajes
chakan está en el buen camino
Predeterminado

esta muy bueno
chakan está desconectado   Responder Citando
Respuesta

Etiquetas
auditamos, base, datos, mirar, oracle, ¿que

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado



La franja horaria es GMT -6. Ahora son las 14:50.