Primeras Jornadas de Seguridad Web OWASP DAY ARGENTINA 2010 La seguridad como ventaja competitiva Ing. Hernán Segismundo Abbamonte

Slides:



Advertisements
Presentaciones similares
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Advertisements

Ubicuidad en el manejo de los datos
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
CREACIÓN DE PÁGINAS WEB CON SHAREPOINT DESIGNER 2007 (Sesión 1) Ricardo Ferrís Castell ( ) Departament D Informàtica.
Herramientas informáticas
Tema 6. Evaluación de SRIs
Internet y tecnologías web
Diseño de Bases de Datos
CFGM Redes Locales Documentos: Elementos de configuración de una suite de antivirus. Panda Internet Security 2011.
Microsoft Office System Planificando la estructura de su información usando Microsoft SharePoint Portal Server 2003 José Alberca Acosta Consultor
integridad referencial
Introduccion a UML Wilson Peláez Hernández
Estructuras de Información y Archivos
BASE DE DATOS Primeros pasos
Programa para el Impulso a la Implementación del Protocolo IPv6 en Instituciones Vinculadas a RENATA 2012 Servicio FTP.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
4. Mantenimiento de los espacios de trabajo. Manual de formación 2 4. Modificación de los espacios de trabajo 4.1 Introducción……………………………….……..……..…pág.
DIRECT ACCESS.

Solución de problema Herramientas aplicables
Trabajar en una pequeña o mediana empresa o ISP. Capítulo 7
O3 Drill Through. 2 El O3 Drill Through El O3 Drill Through permite : Ver información detallada de aquella resumida en cubos de O3. Asociar con cubos.
PREÁMBULO. PREÁMBULO SOLUCIONES DE INTERNET DEDICADO PREÁMBULO SOLUCIONES DE INTERNET DEDICADO Red Digitel Equipos Router Enlace de Internet Sede “A”
Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.
>> 1 Pequeño diccionario ilustrado de nuevas herramientas y formatos web.
INTELIGENCIA ARTIFICIAL
Oscar Navarrete J. Jorge Gutiérrez A.
UNIVERSIDAD ECOTEC TEMA: INFOPATH
Seguridad de redes empresariales
Compartir Informacion Compartir Hardware y Software
Pablo Suau/Ramón Rizo - Seguridad en Entornos Web 1 Navegación segura Cookies Internet Explorer Outlook Express Virus.
ACCESO A BASES DE DATOS ORACLE CON PHP
TUTORIAL DE SUBVERSION
Comité Nacional de Información Bogotá, Julio 21 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
PASOS PARA EL FORMATEO DE UN PC
Ingeniería del Software
Información pública de Cisco1© 2007 Cisco Systems, Inc. Todos los derechos reservados. Resolución de problemas de la red Networking para el hogar y pequeñas.
Base de Datos Relacional.
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
1 Correo Electrónico TALLER DE ALFABETIZACIÓN DIGITAL.
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Control del Acceso de los Usuarios
TRABAJO DE SISTEMAS R EFERENCIA D IRECTA I NSEGURA A O BJETOS REALIZADO POR : DEISY MOSQUERA KARINA CHAVERRA.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
ADMINISTRACION DE REDES SECUNECIA DE COMANDOS EN SITIOS CRUZADOS(XSS) DIEGO ALEXANDER MADRID DUQUE GABRIEL ANDRES AGUIRRE JARAMILLO INSTITUTO TECNOLOGICO.
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
OWASP - A6 Open Web Application Security Project Riesgo por: Configuración Defectuosa de Seguridad Guillermo David Vélez Álvarez C.C. 71' 763,346.
UD 1: “Adopción de pautas de seguridad informática” Análisis de las principales vulnerabilidades de un sistema informático. Luis Alfonso Sánchez Brazales.
REFERENCIA DIRECTA INSEGURA A OBJETOS
Seguridad DNS. Javier Rodríguez Granados.
Grupo 7: Nelson de Jesús escobar duque Yanny Andrés
GUTIÉRREZ GRANADOS HÉCTOR DANIEL
Introducción a ataques de tipo inyección: Inyección SQL
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
File Transfer Protocol.
Se producen cuando una aplicación recibe datos no confiables y estos no han sido validados adecuadamente antes de procesarlos, lo cual puede llevar a que.
Análisis de las principales vulnerabilidades de un sistema informático. Gabriel Montañés León.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
Liliana Martínez Lemus. Active Directory esta basado en una serie de estándares llamados X.500. Dominios y subdominios se identifican utilizando la misma.
Análisis de las principales vulnerabilidades de un sistema informático. Javier Rodríguez Granados.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
Preguntas de la pagina de las pagina 52. 1: Complete: Las bases de datos se pueden clasificar de acuerdo a su……MODELO…..de datos. Este modelo mas utilizado.
Transcripción de la presentación:

Primeras Jornadas de Seguridad Web OWASP DAY ARGENTINA 2010 La seguridad como ventaja competitiva Ing. Hernán Segismundo Abbamonte RibadeoHackLab Inyección de LDAP: Técnicas de ataque y defensa en Aplicaciones Web

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 2 Contenido Introducción Directory Services Ataques de Inyección Filtros en LDAP Ataques Login Bypass Information Disclosure Charset Reduction Privilege Escalation Information Alteration Inyección LDAP vs. Inyección SQL Mecanismos de Prevención Más información

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 3 Directory Services Un Servicio de Directorio (Directory Service) permite realizar operaciones de ABM sobre un directorio. Es una base de datos jerárquica diseñada para maximizar la velocidad de recuperación de la información. La información esta organizada en entries, cada una de las cuales se encuentra identificada por un Distinguished Name.

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 4 Directory Services Diferencias con una BBDD Relacional: Predominan los accesos de lectura Las transacciones y el rollback no son fundamentales No es necesario normalizar el modelo A veces por motivos de performance se duplica información

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 5 Directory Services Familia de Protocolos X500 (ITU) Definen el manejo del Directorio. El Directorio se organiza de manera jerárquica. Protocolo DAP: Directory Access Protocol Especifica la forma de acceso a la información LDAP es un protocolo de aplicación que permite manipular la información almacenada en un Directorio sobre redes TCP/IP.

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 6 Ataques de Inyección Se dan en entornos donde hay una interacción insegura entre cliente y servidor Se basa en asunciones incorrectas que hace el servidor de los datos provistos por el cliente Se asume que los datos provistos siempre tendrán el formato esperado

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 7 Ataques de Inyección Se crean datos del lado del cliente que tienen un contenido semántico del lado del servidor El cliente mediante la manipulación de las entradas puede modificar el comportamiento de la aplicación del lado del servidor, por ejemplo, incluyendo sintaxis de algún lenguaje en particular.

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 8 Filtros en LDAP Definidos por la RFC 2254 Tienen la forma Attribute Operator Value filter = "(" filtercomp ")" filtercomp = and / or / not / item and = "&" filterlist or = "|" filterlist not = "!" filter

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 9 Filtros en LDAP (cn=Babs Jensen) (o=univ*of*mich*) (!(location=NYC*)) (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 10 Ataques: Login Bypass Bind Method El ataque se basa en una incorrecta implementación de la conexión que permite el acceso anónimo <?php $ldapuser = $_GET['username']; $ldappass = $_GET['password']; $ldapconn = ldap_connect("ldap.server.com") or die("Could not connect to server"); if ($ldapconn) { $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass); if (! $ldapbind) { $ldapbind = ldap_bind($ldapconn); } ?>

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 11 Ataques: Login Bypass Search Query Autenticación similar a la que se hace con un RDBMS Se valida la correspondencia entre usuario y contraseña Consiste en manipular el input del usuario para lograr construir un filtro que modifique semánticamente la consulta a ejecutar en el servidor. Se aprovecha de un filtro basado en un AND.

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 12 Ataques: Login Bypass Para ello se podría utilizar un filtro como el siguiente: (&(Username=user)(Password=passwd)) Si en el nombre de usuario ingresáramos user)(&))( se formaría el siguiente filtro (&(Username=user)(&))((Password=zz)), el cual es siempre verdadero

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 13 Ataques: Information Disclosure Imaginemos una aplicación que consulta un servicio de directorio para listar información (|(objectClass=device)(name=parameter1)) Si el atacante provee como parámetro test)(objectClass=* se genera el siguiente filtro (|(objectClass=device)(name=test)(objectClass=*)) Esta consulta es totalmente valida y muestra objetos de todas las clases y no solo los de tipo device

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 14 Ataques: Charset Reduction El objetivo de este tipo de ataque es determinar caracteres validos para una propiedad de un objeto en particular Se aprovecha de que los filtros LDAP pueden ser construidos utilizando caracteres especiales que actúan como comodines. Se basa en un proceso iterativo de prueba y error mediante el análisis de la salida de la aplicación al realizar consultas especialmente diseñadas por el atacante

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 15 Ataques: Charset Reduction Por ejemplo, tenemos un pagina que hace una consulta LDAP para obtener información de personas con un parámetro oculto y fijo por defecto, en nuestro caso el campo zone Nosotros sabemos que la siguiente consulta es valida Asumiendo que existen más zonas podríamos intentar la siguiente consulta para buscarlas

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 16 Ataques: Charset Reduction Si no se obtienen resultados se puede continuar probando hasta descubrir una combinación de letras que nos permita darnos una idea de cual puede ser otro valor posible Si bien es una técnica que puede ser considerada como fuerza bruta, con un poco de astucia del atacante se puede llegar a buenos resultados También podría construirse un diccionario y automatizar el ataque

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 17 Ataques: Privilege Escalation Se refiere a obtener información de un directorio LDAP que supere nuestro nivel de autenticación Si tuviéramos un filtro como el siguiente: (&(category=latest)(clearance=none)) en donde solo se toma por parámetro la categoría, podríamos modificar la entrada para listar información de un nivel superior. Ingresar category=latest)(clearance=confidential) permitirá construir un filtro que muestre más información de la debida

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 18 Ataques: Information Alteration Si una aplicación vulnerable a este tipo de ataques se utiliza para ABM de datos de un directorio y se cuenta con los permisos adecuados, mediante la manipulación de las entradas se podrían obtener comportamientos no esperados por la aplicación. Si por ejemplo la aplicación recibiera el DN a modificar se podría lograr la modificación masiva de contenido

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 19 Ataques: Information Alteration <?php $attr["cn"] = "ToModify"; $dn = "uid=Ribadeo,ou=People,dc=foo"; $result = ldap_modify($ldapconn, $dn, $attr); if (TRUE === $result) { echo "Entry was modified."; } else { echo "Entry could not be modified."; } ?> Si la aplicación recibe como parámetro de entrada $dn, y se ingresa uid=Ribadeo,ou=People,dc=*, entonces se modificarían todas las entradas bajo esa rama.

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 20 LDAP Injection vs. SQL Injection En entornos Microsoft pueden utilizarse linked servers en SQL Server de tipo Active Directory Services para consultar al directorio LDAP Mediante OPENQUERY se puede consultar a este linked server Si esta consulta se almacena en una vista, y la aplicación cliente consulta a esta vista para realizar las validaciones, se podría lograr una inyección en la query SQL, por lo que el problema de inyección de LDAP se reduce a un problema de inyección de SQL

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 21 Mecanismos de Prevención Como todo ataque de inyección, el principal mecanismo de prevención consiste en validar los datos de entrada provistos por el usuario. Este tipo de validaciones deben realizarse siempre del lado del servidor. Este proceso puede hacerse validando un formato de entrada esperado, por ejemplo, con expresiones regulares Existen alternativas más sofisticadas en donde se intentan adaptar los inputs del usuario para que sean inofensivos

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 22 Mecanismos de Prevención Suponiendo que la aplicación debe recibir como parámetro un nombre de usuario <?php $user=$_GET['username']; $UsrRegex = "/(^[A-Za-z0-9_-]+$)/"; if preg_match($UsrRegex,$user){ $dn = "o=My Company, c=US"; $filter="(|(sn=$username*) (givenname=$username*))"; $sr=ldap_search($ds, $dn, $filter); } else { print "Invalid UserName"; } ?>

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 23 Más Información Hack In The Box Ezine – Issue 1 Issue-001.pdf

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 24 Preguntas

Primeras Jornadas de Seguridad Web – Owasp DAY 2010 OWASP 25 Contacto Ing. Hernán Segismundo Abbamonte