martes, 2 de octubre de 2012

Autobombo

Tenemos el blog algo abandonado (algunos mas que otros). Por si os aburris, he preparado una lista con los enlaces a mis posts en el otro blog donde escribo (el del curro). Y es que hace pocos dias he publicado mi articulo numero 30 en el mismo, desde que se abrio al publico en Mayo de 2007 con este post de mi compañero Floren. Hay un poco de todo asi que espero que os gusten.

S21SEC-040-en: Infinite invalid authentication attempts possible in BEA WebLogic Server

Donde los scanners de vulnerabilidades no llegan - I
Donde los scanners de vulnerabilidades no llegan - II
Donde los scanners de vulnerabilidades no llegan - III
Donde los scanners de vulnerabilidades no llegan - IV
Donde los scanners de vulnerabilidades no llegan - V
Donde los scanners de vulnerabilidades no llegan - VI

Los cementerios están llenos de buenas intenciones

Próximas conferencias

Seguridad en las sesiones de las aplicaciones Web - I
Seguridad en las sesiones de las aplicaciones Web - II
Seguridad en las sesiones de las aplicaciones Web - III
Seguridad en las sesiones de las aplicaciones Web - IV
Seguridad en las sesiones de las aplicaciones Web - V
Seguridad en las sesiones de las aplicaciones Web - VI
Seguridad en las sesiones de las aplicaciones Web - VII

Playing minesweeper with IIS permissions

Common IIS misconfigurations: HTTP Basic Authentication

Análisis forense de la cache de DNS en equipos Windows

Seguridad SAP ERP

Blackhat 2010 Barcelona

Pentesting en el 2010

Netcat

SHAREPOINT: Casa con muchas puertas mala es de guardar

Forense: Fiabilidad de las MAC times

Hackeos del mes

Bypassing SQL injection Filters

Se acabo el Pass-the-hash

Ataques en redes Fibre Channel

Servidores DNS: Construyendo sobre inseguro


jueves, 5 de julio de 2012

No enseñes tus cartas demasiado pronto


Últimamente están saliendo a la luz noticias que hablan sobre acciones ofensivas desarrolladas por países occidentales en Internet contra algunos grupos terroristas. Por ejemplo:


 
A raíz de estas noticias están apareciendo voces críticas en el mundo de la ciber-seguridad que cuestionan la utilidad de algunas de estas acciones.

Por una parte el impacto real de estas operaciones en la propaganda del enemigo es muy bajo y en pocos días han reconstruido sus infraestructuras en Internet.

Por otra parte estas operaciones podrían dejar al descubierto las armas tecnologías (técnicas de ataque y exploits 0-day) de los ciber-comandos que han realizado estas acciones.

Como bien decía mi compañero de blog los 0-days y las técnicas de ataque originales son unas de las armas ofensivas más poderosas en ciberguerra. Si dejamos estas herramientas al descubierto en operaciones de poco calado, cuando realmente sean más necesarias serán menos efectivas.

Este punto debe ser tenido muy en cuenta y se produce por las diferentes las características de las armas tradicionales respecto a las armas informáticas. En el caso de las armas tradicionales (físicas), también puede darse el caso de que caigan en manos del enemigo y este pueda copiar su tecnología, pero normalmente es posible su destrucción preventiva si fuese necesario. Pero en el caso de los exploits o las técnicas de hacking es muy difícil eliminar todas las evidencias que puedan dejar en los sistemas atacados, es más, el enemigo podría estar incluso grabando de forma preventiva todas las comunicaciones de red para poder estudiar posteriormente los ataques recibidos.

Esto puede llevar a plantear algunas dudas sobre las razones de la presunta ciber-estrategia China de acosar y atacar electrónicamente a entidades y corporaciones occidentales.

Si estas acciones están siendo realmente realizadas por agentes relacionados con el gobierno Chino, en caso de que se produzca un conflicto mayor, las potencias occidentales ya conocerán parte de las tácticas y de las capacidades de los presuntos ciber-comandos Chinos.

Además, la información forense que se pueda extraer de estos ataques no solo podrá ser recuperada por las entidades que los hayan sufrido sino que además quedará expuesta a todos aquellos operadores de comunicaciones a través de los que hayan pasado los flujos del ataque (por ejemplo proveedores de cable, telefonía, satélite, etc.), es decir a terceras naciones.

Por eso, determinar dónde está el equilibrio entre los resultados obtenidos de este tipo de operaciones y la posibilidad de filtrar técnicas novedosas es un elemento de decisión clave a la hora de plantear las estrategias de ciber-ataque.

En algunos casos debería planterase incluso la utilizacion de tácticas de distracción combinadas con los ataques, por ejemplo utilizando técnicas convencionales o ataques ficticios para evitar dar pistas de las verdaderas capacidades y evitar asi comprometer la disponibilidad de nuestros 0-days.

viernes, 8 de junio de 2012

Atacando el framework


Como vimos en el anterior artículo sobre la evolución en la estructura de las aplicaciones web, uno de los elementos estructurales que se ha incorporado recientemente a muchas de ellas es el framework de desarrollo web.

Al ser un elemento relativamente reciente aun no ha atraído demasiado la mirada de la industria de la seguridad de forma que aun es un campo parcialmente inexplorado y con muchas vulnerabilidades.
 

Un framework de desarrollo web es una herramienta software que sirve de base a otros proyectos para hacerlos más organizados y facilitar su desarrollo. Un framework suele incluir programas de apoyo, bibliotecas y un API para las tareas comunes.

Por supuesto no todas las aplicaciones web que vemos a menudo están basadas en un framework, pero la mayoría de ellas probablemente lo estén. Es más, cuanto mayor y más compleja sea la aplicación, mayor probabilidad de que este basada en un framework.

Cuando hablamos de frameworks nos estamos refiriendo principalmente a frameworks públicos aunque también puede darse el caso de frameworks propietarios desarrollados internamente por una entidad o empresa con suficientes recursos.

Frameworks más populares, según el lenguaje de programación en el que estén basados:
  • Ruby: RoR (Ruby On Rails), Merb
  • PHP: Zend, CakePHP, Symphony, Horde
  • Java: Struts, Spring, JSF (Java Server Faces), Tapestry
  • Python: Django, Zope
  • .NET: ASP.NET

Como vemos un elemento clave en la definición de un framework es el lenguaje de programación en el que se basa. Esto determinará muchas de sus características y también influirá en los tipos de vulnerabilidades que pueda presentar con mayor probabilidad.

Los frameworks para aplicaciones web no son algo nuevo, pero su uso se ha ido popularizando hasta llegar a ocupar un puesto importante entre los elementos que definen la seguridad de un aplicativo.
 
¿Cómo puede influir un framework en la seguridad de una aplicación?

  • Haciendo que el programador caiga en trampas habituales debido a un mal diseño del framework: La presencia o no de vulnerabilidades de código depende generalmente de lo cuidadoso que haya sido el programador en su trabajo, pero algunos frameworks debido a sus características tienden a hacer que muchos programadores se equivoquen al codificar ciertas funcionalidades.

  • Haciendo difícil la implantación de medidas de seguridad para la aplicación: Algunos frameworks disponen de mecanismos de seguridad para incorporar al aplicativo, pero su funcionamiento es tan complejo que muchas veces el programador desiste de su uso y prefiere dejar la aplicación desprotegida.

  • Conteniendo vulnerabilidades: El propio framework puede presentar vulnerabilidades que si no son conocidas por el programador pueden permanecer ocultas en la aplicación.

Lo más importante es que todo esto ya lo conocen los profesionales del hacking y es por eso que cada día son más habituales los ataques que aprovechan este tipo de debilidades.

Además los frameworks son también un objetivo jugoso para los buscadores de vulnerabilidades ya que la diferencia de coste entre descubrir un 0-day en una aplicación y descubrir un 0-day en un framework puede ser pequeña, pero el segundo probablemente podrá ser usado en más sitios y tendrá un mayor mercado de posibles compradores.

Los frameworks web son por tanto un nuevo elemento a tener en cuenta en el diseño de las estrategias de seguridad informática tanto desde el punto de vista defensivo como desde el punto de vista ofensivo.