Un blog de Seguridad Informática, desde un punto de vista tecnológico

Archivo para noviembre, 2011

SOURCE Barcelona 2011 – Parte 2

Continuando con lo explicado por Juan, os cuento acerca de las charlas en las que estuve presente:

Wfuzz para Penetration Testers

Christian Martorella y Xavier Mendez, de Verizon Bussiness (y de edge-security), nos explicaron ejemplos prácticos de uso de la herramienta Wfuzz: básicamente una herramienta para realizar bruteforcing en aplicaciones Web. Probablemente a muchos de vosotros ya os suene esta herramienta (de hecho no es nueva), que lleva formando parte del arsenal de herramientas de Backtrack desde hace ya algunas ediciones.

La charla se orientó a las mejoras que han incluido recientemente en la herramienta (y que presentaron en el Blackhat Arsenal USA de este año), entre las que destaca la inclusión de un framework para scripting y mejoras en el rendimiento de la herramienta (hablaron de un 60% de mejora, llegando a rates de 900 peticiones por segundo).

Algunas indicaciones básicas acerca de la herramienta:

  • Permite bruteforcing en diferentes puntos de entrada de la aplicación Web, tales como parámetros, cabeceras, recursos, formularios, etc.
  • Se basa en el uso de Payloads (fuentes de datos como ficheros, la entrada estándar, rangos, nombres, etc.), Encoders (codificación de los Payloads en múltiples formatos como URL encoding, URL encoding doble, etc.), Iteradores (controlan la estrategia de fuzzing a utilizar), Printers (formatos para la salida de resultados) y, como novedad, los Plugins.
  • Permite la creación de baselines, para luego poder esconder valores que formen parte de la misma y así detectar anomalías más rápidamente.

Y ahora las partes que más me gustaron o que me parecieron más relevantes en la presentación:

  • Es una herramienta «artesanal», potente y útil en la realización de pentesting, pero que requiere de conocimiento por parte de quien la esté utilizando. NO es un escáner de vulnerabilidades Web.
  • Se puede integrar con la herramienta Magictree (lectura de página y vídeo de ejemplo recomendados), permitiendo retroalimentar resultados. Es decir, los resultados que tengamos cargados en Magictree (que pueden provenir de otras herramientas) pueden ser nuevos objetivos para Wfuzz, quien además puede exportar los resultados de nuevo a Magictree.
  • Permite realizar password guessing siguiendo diferentes aproximaciones: Scan Vertical, Horizontal, Diagonal, Tres y Cuatro Dimensiones, etc. (terminología empleado por Robert «Rsnake» Hanson en su libro).
  • Existen plugins ya disponibles para, por ejemplo, algo tan útil como tomar screenshots de las Webs que cumplan con las condiciones que establezcamos para el fuzzing.

Para profundizar más podéis ver las slides de la presentación, y trastear con la herramienta 😉

Advanced (Persistent) Binary Planting

Esta charla impartida por Mitja Kolsek, personalmente me gustó mucho. En ella se habló acerca del Binary Planting, que para los que no conozcáis el término, comentaros que hace referencia a una vulnerabilidad que ya tiene algo de tiempo y que se reavivó a mediados del 2010 por algunos nuevos vectores de explotación de la misma. Básicamente reside en el mecanismo de carga de librerías de forma dinámica por parte de aplicaciones.

Uno de los puntos fuertes de la charla es que fue muy práctica, y se mostró que encontrar aplicaciones vulnerables aun es factible a día de hoy. Mitja nos mostró como utilizando el Proccess Explorer de las Sysinternals, encontrar bugs de este tipo era una tarea casi para todos los públicos :).

Y qué comenta la charla acerca de la persistencia? Pues una estrategia bastante original:

  • Los navegadores Web más utilizados en plataformas Windows, por defecto descargan los archivos a la carpeta de «Descargas»
  • Si nos bajamos un instalador (pe. el instalador de la Java Virtual Machine) a la carpeta de descargas, esta carpeta será considerada por el SSOO como su carpeta de instalación, por lo que cualquier librería que quiera cargar el binario de forma dinámica será buscada primero en este directorio (independientemente del current working directory)
  • Algunos navegadores (pe. Chrome) son vulnerables a ataques de clickjacking para la descarga de archivos! Es decir, podríamos engañar a la víctima (usuaria de Chrome) mediante algún juego, consiguiendo que sin darse cuenta se descargase algún archivo .dll o .exe a la carpeta de «Descargas», que pudiera ser utilizado en un futuro por algún instalador que cargase una librería con ese nombre.

Hown NOT to do a Penetration Test

Esta charla, de carácter más teórico, fue impartida por Stefan Friedli, impulsor del Penetration Testing Execution Standard (PTES). Una metodología para planificar, gestionar y ejecutar un Pentest.

Stefan Friedli en Sourceconference Barcelona 2011

Algunos de los comentarios de Stefan fueron:

  • «una compañía que no realiza ninguna tareas de seguridad no realiza un pentest, necesita primero arreglar su situación»
  • «una forma para discriminar un buen pentester de un no tan buen pentester puede ser el hecho de que utilice alguna metodología, como PTES»
  • «es importante la definición de un correcto alcance en un pentest, pues a una compañía le importarán más aquellas cosas que puedan afectar a su negocio»
  • «es importante que los pentesters no se centren únicamente en la explotación de vulnerabilidades, existen otras tareas importantes en la ejecución de un pentest.

Una charla interesante que generó algo de debate, acerca de los umbrales de calidad y lo que al final los clientes finales suelen valorar más (el precio).

La verdad es que las conferencias estuvieron muy bien, el lugar en el que se celebran excelente, y como siempre el ambiente muy agradable. Esperemos poder repetir para el año que viene 😉

Un saludo!


SOURCE Barcelona 2011 – Parte 1

Después de haber podido pasar un rato en las SOURCE de Barcelona, tengo que decir que  ha sido una experiencia muy muy recomendable, charlas de buena calidad, en un entorno relajado y donde las horas se pasan rápido! Un entorno ideal para disfrutar de la seguridad y aprovechar para compartir un momento con buena gente!

Y ahora si, repaso de algunas de las charlas, pertenecientes a la tarde del miércoles 16 de noviembre.

Metasploit: Hacker’s Swiss Army Knife

Charla super dinámica, de Jonathan Cran (Rapid7) y Joshua Smith (JHUAPL), en la que se hizo un repaso de la arquitectura de metasploit y, posteriormente, se vieron toda una serie de casos prácticos para sacarle el máximo partido a Metasploit!

Se vieron desde las diferentes posibilidades que ofrecen los «resource files» para la automatización de tareas hasta la creación de un bot para IRC para controlar metasploit vía RPC!

Una charla super entretenida, y muy muy valiente, en la que se se prepararon diferentes demostraciones para enseñar en directo! Por cierto, en el siguiente repositorio de jcran podéis encontrar algo de los materials de la conferencia, muy recomendable echarle un ojo: https://github.com/jcran/source_barcelona_2011/

RESTful Services, the Web Security Blind Spot

Ofer Shezaf (Hewlett Packard) repasa los servicios RESTful, sus características y peculiaridades, así como las consideraciones a tener en cuenta a la hora de revisar la seguridad de este tipo de servicios Web, y algunas ideas para automatizar (fuzzing) la revisión de éstos.

Charla esta vez más teórica, donde, eso sí, los contenidos se explicaron de una manera muy clara.

Security Goodness with Ruby on Rails

Desde el «spanish track», Daniel Pélaez (Gotham Digital Science) hizo un repaso (mucho más que un repaso!!!) de la tecnología Rails, repasando el paradigma MVC para el desarrollo de aplicaciones Web, algunos detalles de la implementación concreta de Rails y después, seguridad seguridad y seguridad en Rails 🙂

Se explicaron desde vulnerabilidades más específicas de estos entornos, por ejemplo, «mass-assignments» hasta como afectan vulnerabilidades más tradicionales en entornos Web como Cross-Site Scripting o SQL Injection.

Un punto muy fuerte de la charla es que no se conformó con ver como romper aplicaciones Rails, sino que también se repasaron las salvaguardas que ofrece el entorno Rails para evitar diferentes tipos de vulnerabilidades, así como plug-ins de terceros para implementar características relacionadas con la seguridad como la autenticación o la autorización de la aplicación . Lo dicho, una charla muy muy completa!


Configurar Huawei HG556a de Vodafone como punto de acceso (AP)

Topología de ejemplo

Antes de nada disculparme porque os debo un post acerca de la configuración de un laboratorio casero, pero como apliqué bastantes cambios a la configuración que tenía estoy esperando a tener algo definitivo para contároslo ;). Para ir haciendo boca, os comento un problema que he tenido y cómo lo he solucionado:

Mi conexión a Internet es por cable (OÑO), y mi conexión vino con un «fantástico» router WiFi WebStar EPR 2320. Como veréis si hacéis algunas búsquedas por Internet, no tiene muy buena reputación. A mí, como a mucha gente, me daba problemas con la tabla de NAT (PAT), de modo que cuando abría varias pestañas del navegador que accedían a páginas con Ads (que suelen tener múltiples enlaces), el cacharro se desbordaba y la conexión a Internet dejaba de funcionar correctamente (probablemente por saturación de la tabla de traducción de red/puertos).

Más adelante os explicaré con más precisión el problema, porque la topología utilizada también contribuía en el problema (utilizaba la funcionalidad de DMZ Host) y contribuyó en la elección de la solución: poner el router en modo Bridge, dejar que gestionase el NAT un dispositivo más potente y colocar un Access Point para conectarme a la WiFi.

Simplificando, imaginaos que tenéis una conexión a Internet con un router que no tiene WiFi, y que por los motivos que sean no queréis suprimirlo. En ese caso podéis añadir un Access Point en la LAN cableada del router y así dar acceso a clientes WiFi. Pues bien, en mi caso no tenía un punto de acceso, pero sí un router WiFi de Vodafone Huawei HG556a.

En este post quiero explicaros como configurar en HG556a como Access Point, en una topología como la mencionada.

Topología de ejemplo

En primer lugar habréis de acceder al HG556a (en adelante AP) con privilegios de administración (encontraréis información de como hacerlo por Internet).

Después configurar la LAN del AP con el mismo direccionamiento que tenéis en vuestra red cableada (en el ejemplo 172.X.X.0/24) y, importante,  deshabilitar el DHCP del AP. ¿Por qué? Pues porque sino tendréis problemas porque se pondrá a sí mismo como Default Gateway (el AP con dirección 172.X.X.2) y cuando intentemos acceder a una página con el navegador, el AP la reemplazará por una en la que muestra un error por no estar en funcionamiento el ADSL.

Configuración de LAN

LAN AP

Después activamos como puerta de enlace el router conectado a Internet.

Configuración de routing para LAN

Configuración routing

Y acto seguido hemos de configurar la interfaz WAN para que actúe como modo bridge, que habrá de quedar de la siguiente forma:

Única conexión WAN

Conexión WAN

Para ello seguimos los pasos mostrados a continuación:

Datos configuración WAN

Configuración parámetros ADSL

Selección modo puente

Configuración en modo puente

Activación servicio de puente

Activación del servicio de puente para datos

Configuración WAN como puente en LAN

Configuración WAN como puente en LAN

Y ya está casi todo hecho. El siguiente paso es conseguir que los usuarios que se conecten por WiFi al AP reciban una dirección IP y, para ello, vamos a utilizar el router que está conectado a Internet (que probablemente ya tenía un servidor DHCP activado). Este router habrá de responder a las solicitudes DHCP identificándose a sí mismo como el Default Gateway para los clientes WiFi (en la topología de ejemplo esto significa que el Default Gateway para los clientes WiFi habría de ser la dirección 172.X.X.1).

El problema es que el AP no hace relay de las solicitudes y respuestas DHCP entre la red cableada y la inálámbrica, y tampoco dispone de ninguna funcionalidad para activarlo.

En este punto podemos realizar el siguiente truquillo: primero descargamos el fichero de configuración del router

Hacer backup de la configuración del AP

Funcionalidad de backup del AP

Lo abrimos con un editor de texto y buscamos la cadena «dhcpRelay», que por defecto tomará un valor de «0». Cambiando el valor por «1», ya tendremos la posibilidad de que el router conectado a Internet haga de servidor DHCP para los clientes WiFi conectados al AP.

Modificación de dhcpRelay en fichero de configuración

Fichero de configuración

Para ello subimos el fichero de configuración modificado

Subida de fichero de configuración modificado

Funcionalidad de actualizar configuración

Y ya debería funcionar nuestro router WiFi convertido en AP!

Espero que os sea de utilidad 😉


SOURCE Barcelona 2011

En primer lugar disculparnos por esta temporada de sequía de posts, pero ya sabéis, con la que está cayendo ahí fuera a veces el trabajo no te deja demasiado tiempo para más.

Volvemos con ilusión renovada para informaros de que la próxima semana tendrán lugar las SOURCE Barcelona 2011, y que Testpurposes.net estaremos allí! 😉

El schedule comienza con trainings los días 14 y 15, y las ponencias el 16 y 17 de Noviembre. Este año con la novedad de disponer de un track totalmente en castellano con excelentes ponentes, a los que queremos apoyar a tope!

SOURCE

Os animamos encarecidamente a que vayáis ya que, según nuestra experiencia en ediciones anteriores, podréis disfrutar de una organización excelente, unas charlas de calidad y, en general, un ambiente excepcional. Para los que no podáis ir, desde Testpurposes.net haremos seguimiento de las diferentes charlas.

Podéis informaros de los horarios y demás en la página oficial:

Recordad que si sois estudiantes, o si sólo estáis interesados en asistir al track en castellano, disponéis de opciones de registro con un coste más asequible. Asimismo desde la comunidad DragonJAR se ofrece un suculento descuento del 25% si no tenéis aun la entrada comprada.

Esperamos veros allí!