SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Metacoretex-NG
Fist Conference
  Octubre 2005


 Edge-Security

                  1
Índice Presentación
■   Índice de la presentación
       0. ¿Quiénes somos?
       1. Introducción
          1.1. ¿Qué es Metacoretex?
          1.2. Historia
          1.3. ¿Qué es un framework?
          1.4. Otros productos
       2. Metacoretex-NG
          2.1. ¿Porqué Metacoretex-NG?
          2.2. Objetivos
          2.3. Implementación
          2.4. Características
              2.4.1. Kb
              2.4.2. Dependencias
              2.4.3. Probes
       3. Demostración
       4. Ruegos y preguntas
                                                     2
Objetivos de la presentación
■   El objetivo principal es dar a conocer el proyecto
    Metacoretex-NG

■   Mostrar las capacidades de este software

■   Y enseñar las nuevas funcionalidades en las
    cuales se está trabajando




                                                         3
1.1 ¿Qué es Metacoretex?
■   Metacoretex es un framework para realizar
    escaneos de vulnerabilidades, auditorías de
    seguridad y tests de intrusión en Bases de datos.

■   Está basado en probes (pruebas). Éstos son
    programas independientes en java que realizan
    algún tipo de chequeo, escaneo, prueba, consulta,
    obtención de datos, etc.




                                                    4
1.1 ¿Qué es Metacoretex?
■   La posibilidad de ampliar/añadir pruebas hacen
    que sea una herramienta muy flexible.

■   Está desarrollado totalmente en Java.

■   Soporta:

       Mysql
       Oracle
       MSSQL

■   ¿ De dónde viene el nombre ? ;)

                                                     5
1.2 Historia
■   El proyecto se hizo público en octubre del 2003.

■   A partir de esa fecha se publicaron 4 probes
    nuevos y luego el proyecto quedó congelado.

■   En repetidas ocasiones se intentó contactar al
    autor, pero nunca se obtuvo respuesta.

■   Teniendo licencia BSD, decidimos crear un fork
    para continuar el trabajo.



                                                       6
1.3 ¿Qué es un Framework?
■   Un framework es una estructura o esqueleto de
    soporte, utilizado como base para algo que esté
    siendo construido.

■   En nuestro caso, ese “algo” es un escáner de
    vulnerabilidades de base de datos.

■   Y el Metacoretex es el esqueleto que nos da
    soporte para lograrlo.




                                                      7
1.4 Otros productos
■   Se pueden encontrar pocos productos con el
    mismo objetivo que el Metacoretex, ninguno de
    ellos es open source y gratuito.
       Appdetective (www.appsecinc.com)
         ➔ Soporta:
            - Mysql
            - Mssql
            - Oracle
            - DB2
            - Sybase
         ➔ Os: Windows

         ➔ No permite desarrollo personalizado




                                                    8
1.4 Otros productos

   Ngssquirrel (www.ngssoftware.com): este producto
    se vende por separado para cada Base de datos.
     ➔   Soporta:
          - Mysql
          - Oracle
          - Mssql
          - DB2
          - Sybase

     ➔ OS: Windows
     ➔ No permite desarrollo personalizado




                                                       9
2.1 ¿Porqué Metacoretex-NG?
■   Metacoretex-NG es un fork del Metacoretex, que
    esta siendo desarrollado para llenar el vacío de
    estas aplicaciones en el mundo del software libre.

■   En lugar de crear una nueva aplicacion se decidió
    retomar el proyecto y aprovechar el framework ya
    existente.

■   La idea es ir más allá de lo que aporta el proyecto
    original: poner el proyecto al día, crear una
    comunidad y mantener la base de pruebas
    actualizada.

                                                      10
2.2 Objetivos
■   Los objetivos del nuevo proyecto son:

       Refrescar y optimizar la interface del usuario,
        mejorar la usabilidad.
       Actualizar los probes para estar al nivel de los
        comerciales.

       Mejorar el sistema de informes, permitir la
        personalización y que tengan un aspecto
        profesional.


                                                           11
2.2 Objetivos

   Centralizar las distintas herramientas existentes
    en una sola aplicación.

   Nuevos modos de funcionamiento (Pen-Test)

   Solución de problemas y Workarounds.

   Ampliar el número de bases de datos
    soportados. (DB2, Sybase, Postgresql)



                                                    12
2.3 Implementación
■   La implementación es 100% Java.

■   La utilización de los drivers JDBC es una gran
    ventaja, proporcionando versatibilidad y buen
    rendimiento en múltiples bases de datos.

■   Podemos considerarlo como un RAD.

■   Java es completamente multiplataforma.




                                                13
2.3 Implementación
■   Se pensaron en otros lenguajes para migrar el
    Metacoretex, pero la principal limitación fueron los
    drivers de las bases de datos.

■   Python + GTK era un buen candidato, pero el
    nivel de madurez de algunos drivers nos hicieron
    rechazar la idea.




                                                       14
2.4 Características

■   Algunas de las características más destacadas:
       KB (Knowledge Base)

       Dependencias de probes

       Probes

       Wizard




                                                     15
2.4.1 Características
■   Knowledge Base (KB)

       Es una estructura de datos interna donde los
        probes comparten informacion.

       Una de las características más importantes de
        este framework es que la KB almacena todo
        tipo de objetos (no sólo strings). Permite, por
        ejemplo, reutilizar conexiones entre probes.




                                                       16
2.4.1 Características
■   Ejemplo KB




                                     17
2.4.2 Dependencias
■   El framework está preparado para que los probes
    tengan un orden de ejecución. Para ello, los
    probes tienen dependencias.

■   Las dependencias son objetos de la KB. Una
    mejora será la ordenación automática de la lista
    de probes en función de las dependencias.




                                                       18
■   Ejemplo Mssql:




                     19
2.4.3 Características
■   Permite crear probes personalizados como
    extensión de varias clases (AbstractProbe,
    AbstractVersionProbe, ...).

■   No hay límites más allá de los impuestos por el
    lenguaje de programación (en este caso Java).
    Por ejemplo, raw sockets :(




                                                      20
2.4.3 Características
■   Estructura de un probe
       Métodos get/set de atributos básicos
         ➔ Id, Family, Name, Target, Enabled ,...



       Métodos sobre la configuración
         ➔ Provides, Depends, Options



       Comunicación con la KB
         ➔ KbPut, kbGet, kbHas



       Generación de informes
         ➔ AddReport, setReport, isReportable



       Y función con la lógica de ejecución
         ➔ probe




                                                     21
Ejemplo Probe
import java.sql.*;
import java.util.Vector;
import com.securitycentric.metacoretex.lib.AbstractDatabaseProbe;
import com.securitycentric.metacoretex.lib.ProbeException;

public class MssqlVersion extends AbstractDatabaseProbe {

public MssqlVersion() {

      setName("Mssql Versions");
      setFamily("MS SQL");
      setVersion("$Id: MssqlTest.java,v 1.2 2005/09/21 22:44:11 $");
      setProbeId(102);
      setCopyright("Edge-Security");

      addDepends("mssql/connection");
      addProvides("mssql/users","Vector of strings for usernames");
      addProvides("mssql/hashes","Vector of strings for password hashes");

      setReport("Mssql Versions:n"+
           "=================================n");

      setHelp("This probe attemtps to enumerate DB users and passwords. "+
          "It will only be capable of doing so if the JDBC Connection "+
          "stored in mssql/connection has sufficient privelagesn");
  }
                                                                             22
Ejemplo Probe
public void probe() throws ProbeException {

       try {

         if (! kbHas("mssql/connection")) return;

         con = (Connection) kbGet("mssql/connection");
         Vector users = new Vector();
         Vector hashes = new Vector();

         Statement stmt = con.createStatement();
         res = stmt.executeQuery("xp_msver");

         setReportable(true);

          while (res.next()) {
            addReport(res.getString("name") + "t" + res.getString("Internal_value") + "t" +
      res.getString       ("Character_value"));
          }


       } catch (SQLException se) {
          throw(new ProbeException("Lack of Permission? " + se.getMessage()));
       }
  }

                                                                                                23
Wizard
■   Metacoretex dispone de un Wizard para la
    creación de probes sin conocimientos de
    programación.




                                               24
2.4.2 Modo Pentest
■   Modo pentest:
       1- Identificar puertos

       2- Identificar instancias de bases de datos

       3- Intentar acceder a las mismas
          ➔ a-Default accounts

          ➔ b-Dictionary attack



       4- Consultas específicas
          ➔ Hashes de usuarios/contraseñas

          ➔ Roles

          ➔ Tablas de usuarios, de aplicación, etc.



       5 -Acceso al sistema operativo (más allá de la BD)
          ➔ Usuarios/contraseñas sistema operativo

          ➔ Llaves de registros (win)

          ➔ Agregar usuarios

          ➔ Leer ficheros

          ➔ Subir ficheros
                                                             25
Diagrama PenTest




               26
Demo
■   En este apartado veremos el Metacoretex-NG en
    acción:

■   Recorrido por la interface

■   Ejemplo prácticos

■   Reporte en HTML




                                                    27
Preguntas
■   ¿Ruegos, preguntas, dudas?




                                         28
Links
■   Web del proyecto nuevo
       http://metacoretex-ng.sourceforge.net

■   Web original:
       http://www.metacoretex.com


■   Edge-security:
       http://www.edge-security.com


                                                    29
Fin




Muchas gracias por su atención




                                   30

Más contenido relacionado

La actualidad más candente

Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresqlesmeraldaq2011
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLCarlos Gustavo Ruiz
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.EtiCAGNU
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pedvin_marcelo
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadInclamSoft
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadSantiago Zarate
 
Fundamentos de la Refactorización
Fundamentos de la RefactorizaciónFundamentos de la Refactorización
Fundamentos de la RefactorizaciónJavier Pérez
 
Servidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyServidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyAlvaro García Loaisa
 

La actualidad más candente (13)

Almacenaniento Datos Android - SQL LITE
Almacenaniento Datos Android - SQL LITEAlmacenaniento Datos Android - SQL LITE
Almacenaniento Datos Android - SQL LITE
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
Curso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.jsCurso introductorio a Raptor.js con Node.js
Curso introductorio a Raptor.js con Node.js
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
 
Despliegue de la solución de software
Despliegue de la solución de softwareDespliegue de la solución de software
Despliegue de la solución de software
 
Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Postgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_pPostgre sql y_replicacion_slony_p
Postgre sql y_replicacion_slony_p
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidad
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
 
Fundamentos de la Refactorización
Fundamentos de la RefactorizaciónFundamentos de la Refactorización
Fundamentos de la Refactorización
 
Servidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyServidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValley
 

Similar a Metacoretex

Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Henry Cumbicus Rivera
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datossatakin_armando7
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Base de datos laboratorio
Base de datos laboratorioBase de datos laboratorio
Base de datos laboratoriofreddy Fred
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkMario IC
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)Andres del Valle
 
Bd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 InvestigacionsgbdBd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 Investigacionsgbdguestf6889fe
 

Similar a Metacoretex (20)

Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)Sistemas gestores de base de datos (sgbd)
Sistemas gestores de base de datos (sgbd)
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datos
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Base de datos laboratorio
Base de datos laboratorioBase de datos laboratorio
Base de datos laboratorio
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
Sistemasgestoresdebasededatossgbd 120614221206-phpapp02 (1)
 
Grupo BD
Grupo BDGrupo BD
Grupo BD
 
SGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIASSGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIAS
 
Sgbd y tecnologias
Sgbd  y  tecnologiasSgbd  y  tecnologias
Sgbd y tecnologias
 
Bd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 InvestigacionsgbdBd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 Investigacionsgbd
 
Herramientas Digitales
Herramientas DigitalesHerramientas Digitales
Herramientas Digitales
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 

Más de Conferencias FIST

Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceConferencias FIST
 
Las Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseLas Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseConferencias FIST
 
Evolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiEvolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiConferencias FIST
 
El Information Security Forum
El Information Security ForumEl Information Security Forum
El Information Security ForumConferencias FIST
 
Inseguridad en Redes Wireless
Inseguridad en Redes WirelessInseguridad en Redes Wireless
Inseguridad en Redes WirelessConferencias FIST
 
Mas allá de la Concienciación
Mas allá de la ConcienciaciónMas allá de la Concienciación
Mas allá de la ConcienciaciónConferencias FIST
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloConferencias FIST
 
Demostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseDemostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseConferencias FIST
 

Más de Conferencias FIST (20)

Seguridad en Open Solaris
Seguridad en Open SolarisSeguridad en Open Solaris
Seguridad en Open Solaris
 
Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open Source
 
Spanish Honeynet Project
Spanish Honeynet ProjectSpanish Honeynet Project
Spanish Honeynet Project
 
Seguridad en Windows Mobile
Seguridad en Windows MobileSeguridad en Windows Mobile
Seguridad en Windows Mobile
 
SAP Security
SAP SecuritySAP Security
SAP Security
 
Que es Seguridad
Que es SeguridadQue es Seguridad
Que es Seguridad
 
Network Access Protection
Network Access ProtectionNetwork Access Protection
Network Access Protection
 
Las Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseLas Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática Forense
 
Evolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiEvolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFi
 
El Information Security Forum
El Information Security ForumEl Information Security Forum
El Information Security Forum
 
Criptografia Cuántica
Criptografia CuánticaCriptografia Cuántica
Criptografia Cuántica
 
Inseguridad en Redes Wireless
Inseguridad en Redes WirelessInseguridad en Redes Wireless
Inseguridad en Redes Wireless
 
Mas allá de la Concienciación
Mas allá de la ConcienciaciónMas allá de la Concienciación
Mas allá de la Concienciación
 
Security Metrics
Security MetricsSecurity Metrics
Security Metrics
 
PKI Interoperability
PKI InteroperabilityPKI Interoperability
PKI Interoperability
 
Wifislax 3.1
Wifislax 3.1Wifislax 3.1
Wifislax 3.1
 
Network Forensics
Network ForensicsNetwork Forensics
Network Forensics
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el Desarrollo
 
Demostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseDemostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis Forense
 
Security Maturity Model
Security Maturity ModelSecurity Maturity Model
Security Maturity Model
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (13)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Metacoretex

  • 1. Metacoretex-NG Fist Conference Octubre 2005 Edge-Security 1
  • 2. Índice Presentación ■ Índice de la presentación  0. ¿Quiénes somos?  1. Introducción 1.1. ¿Qué es Metacoretex? 1.2. Historia 1.3. ¿Qué es un framework? 1.4. Otros productos  2. Metacoretex-NG 2.1. ¿Porqué Metacoretex-NG? 2.2. Objetivos 2.3. Implementación 2.4. Características 2.4.1. Kb 2.4.2. Dependencias 2.4.3. Probes  3. Demostración  4. Ruegos y preguntas 2
  • 3. Objetivos de la presentación ■ El objetivo principal es dar a conocer el proyecto Metacoretex-NG ■ Mostrar las capacidades de este software ■ Y enseñar las nuevas funcionalidades en las cuales se está trabajando 3
  • 4. 1.1 ¿Qué es Metacoretex? ■ Metacoretex es un framework para realizar escaneos de vulnerabilidades, auditorías de seguridad y tests de intrusión en Bases de datos. ■ Está basado en probes (pruebas). Éstos son programas independientes en java que realizan algún tipo de chequeo, escaneo, prueba, consulta, obtención de datos, etc. 4
  • 5. 1.1 ¿Qué es Metacoretex? ■ La posibilidad de ampliar/añadir pruebas hacen que sea una herramienta muy flexible. ■ Está desarrollado totalmente en Java. ■ Soporta:  Mysql  Oracle  MSSQL ■ ¿ De dónde viene el nombre ? ;) 5
  • 6. 1.2 Historia ■ El proyecto se hizo público en octubre del 2003. ■ A partir de esa fecha se publicaron 4 probes nuevos y luego el proyecto quedó congelado. ■ En repetidas ocasiones se intentó contactar al autor, pero nunca se obtuvo respuesta. ■ Teniendo licencia BSD, decidimos crear un fork para continuar el trabajo. 6
  • 7. 1.3 ¿Qué es un Framework? ■ Un framework es una estructura o esqueleto de soporte, utilizado como base para algo que esté siendo construido. ■ En nuestro caso, ese “algo” es un escáner de vulnerabilidades de base de datos. ■ Y el Metacoretex es el esqueleto que nos da soporte para lograrlo. 7
  • 8. 1.4 Otros productos ■ Se pueden encontrar pocos productos con el mismo objetivo que el Metacoretex, ninguno de ellos es open source y gratuito.  Appdetective (www.appsecinc.com) ➔ Soporta: - Mysql - Mssql - Oracle - DB2 - Sybase ➔ Os: Windows ➔ No permite desarrollo personalizado 8
  • 9. 1.4 Otros productos  Ngssquirrel (www.ngssoftware.com): este producto se vende por separado para cada Base de datos. ➔ Soporta: - Mysql - Oracle - Mssql - DB2 - Sybase ➔ OS: Windows ➔ No permite desarrollo personalizado 9
  • 10. 2.1 ¿Porqué Metacoretex-NG? ■ Metacoretex-NG es un fork del Metacoretex, que esta siendo desarrollado para llenar el vacío de estas aplicaciones en el mundo del software libre. ■ En lugar de crear una nueva aplicacion se decidió retomar el proyecto y aprovechar el framework ya existente. ■ La idea es ir más allá de lo que aporta el proyecto original: poner el proyecto al día, crear una comunidad y mantener la base de pruebas actualizada. 10
  • 11. 2.2 Objetivos ■ Los objetivos del nuevo proyecto son:  Refrescar y optimizar la interface del usuario, mejorar la usabilidad.  Actualizar los probes para estar al nivel de los comerciales.  Mejorar el sistema de informes, permitir la personalización y que tengan un aspecto profesional. 11
  • 12. 2.2 Objetivos  Centralizar las distintas herramientas existentes en una sola aplicación.  Nuevos modos de funcionamiento (Pen-Test)  Solución de problemas y Workarounds.  Ampliar el número de bases de datos soportados. (DB2, Sybase, Postgresql) 12
  • 13. 2.3 Implementación ■ La implementación es 100% Java. ■ La utilización de los drivers JDBC es una gran ventaja, proporcionando versatibilidad y buen rendimiento en múltiples bases de datos. ■ Podemos considerarlo como un RAD. ■ Java es completamente multiplataforma. 13
  • 14. 2.3 Implementación ■ Se pensaron en otros lenguajes para migrar el Metacoretex, pero la principal limitación fueron los drivers de las bases de datos. ■ Python + GTK era un buen candidato, pero el nivel de madurez de algunos drivers nos hicieron rechazar la idea. 14
  • 15. 2.4 Características ■ Algunas de las características más destacadas:  KB (Knowledge Base)  Dependencias de probes  Probes  Wizard 15
  • 16. 2.4.1 Características ■ Knowledge Base (KB)  Es una estructura de datos interna donde los probes comparten informacion.  Una de las características más importantes de este framework es que la KB almacena todo tipo de objetos (no sólo strings). Permite, por ejemplo, reutilizar conexiones entre probes. 16
  • 17. 2.4.1 Características ■ Ejemplo KB 17
  • 18. 2.4.2 Dependencias ■ El framework está preparado para que los probes tengan un orden de ejecución. Para ello, los probes tienen dependencias. ■ Las dependencias son objetos de la KB. Una mejora será la ordenación automática de la lista de probes en función de las dependencias. 18
  • 19. Ejemplo Mssql: 19
  • 20. 2.4.3 Características ■ Permite crear probes personalizados como extensión de varias clases (AbstractProbe, AbstractVersionProbe, ...). ■ No hay límites más allá de los impuestos por el lenguaje de programación (en este caso Java). Por ejemplo, raw sockets :( 20
  • 21. 2.4.3 Características ■ Estructura de un probe  Métodos get/set de atributos básicos ➔ Id, Family, Name, Target, Enabled ,...  Métodos sobre la configuración ➔ Provides, Depends, Options  Comunicación con la KB ➔ KbPut, kbGet, kbHas  Generación de informes ➔ AddReport, setReport, isReportable  Y función con la lógica de ejecución ➔ probe 21
  • 22. Ejemplo Probe import java.sql.*; import java.util.Vector; import com.securitycentric.metacoretex.lib.AbstractDatabaseProbe; import com.securitycentric.metacoretex.lib.ProbeException; public class MssqlVersion extends AbstractDatabaseProbe { public MssqlVersion() { setName("Mssql Versions"); setFamily("MS SQL"); setVersion("$Id: MssqlTest.java,v 1.2 2005/09/21 22:44:11 $"); setProbeId(102); setCopyright("Edge-Security"); addDepends("mssql/connection"); addProvides("mssql/users","Vector of strings for usernames"); addProvides("mssql/hashes","Vector of strings for password hashes"); setReport("Mssql Versions:n"+ "=================================n"); setHelp("This probe attemtps to enumerate DB users and passwords. "+ "It will only be capable of doing so if the JDBC Connection "+ "stored in mssql/connection has sufficient privelagesn"); } 22
  • 23. Ejemplo Probe public void probe() throws ProbeException { try { if (! kbHas("mssql/connection")) return; con = (Connection) kbGet("mssql/connection"); Vector users = new Vector(); Vector hashes = new Vector(); Statement stmt = con.createStatement(); res = stmt.executeQuery("xp_msver"); setReportable(true); while (res.next()) { addReport(res.getString("name") + "t" + res.getString("Internal_value") + "t" + res.getString ("Character_value")); } } catch (SQLException se) { throw(new ProbeException("Lack of Permission? " + se.getMessage())); } } 23
  • 24. Wizard ■ Metacoretex dispone de un Wizard para la creación de probes sin conocimientos de programación. 24
  • 25. 2.4.2 Modo Pentest ■ Modo pentest:  1- Identificar puertos  2- Identificar instancias de bases de datos  3- Intentar acceder a las mismas ➔ a-Default accounts ➔ b-Dictionary attack  4- Consultas específicas ➔ Hashes de usuarios/contraseñas ➔ Roles ➔ Tablas de usuarios, de aplicación, etc.  5 -Acceso al sistema operativo (más allá de la BD) ➔ Usuarios/contraseñas sistema operativo ➔ Llaves de registros (win) ➔ Agregar usuarios ➔ Leer ficheros ➔ Subir ficheros 25
  • 27. Demo ■ En este apartado veremos el Metacoretex-NG en acción: ■ Recorrido por la interface ■ Ejemplo prácticos ■ Reporte en HTML 27
  • 28. Preguntas ■ ¿Ruegos, preguntas, dudas? 28
  • 29. Links ■ Web del proyecto nuevo  http://metacoretex-ng.sourceforge.net ■ Web original:  http://www.metacoretex.com ■ Edge-security:  http://www.edge-security.com 29
  • 30. Fin Muchas gracias por su atención 30