Infiltrate 2012 Report

[Español] El pasado 12 y 13 de enero tuvo lugar la segunda edición del congreso ofensivo Infiltrate organizada por ImmunitySec, en cuya primera edición ya estuvimos. A pesar que no todas las charlas fueron tan espectaculares como el año pasado sigue siendo un congreso altamente ofensivo y de cita obligada para cualquier experto en seguridad.  
[English] The second edition of Infiltrate, the offensive conference organized by ImmunitySec, was held last 12 and 13 of January, which first edition we attended as well. Despite the fact that not all talks were as spectacular as  last year it is still a must for any security professional since it is a highly offensive conference.  
 
El primer día comenzó con un divertido keynote sobre dos temas: conferencias de seguridad y ciberguerra
(ambas temáticas cubiertas en este blog 1 y 2), y la verdad es que coincido en muchos aspectos con las conclusiones  del ponente. Algunas charlas destacadas del primer día fueron sobre explotación de heap y sandboxing. 
The first day started with a funny keynote on two issues: security conferences and cyber war (both thematics covered in this blog 1 and 2), and the truth is that I agree in many respects with the presenter’s conclusions. Some outstanding talks on the first day were about heap exploitation and sandboxing. 
   
El segundo día el nivel de todas las presentaciones fue altísimo y me gustaron todas. La mejor sin duda fue la de atacar sistemas de tarjetas de acceso por su innovación, aunque recomiendo verlas todas. Las charlas fueron filmadas por lo que creo que estarán disponibles próximamente.  
The second day the level of all the presentations was amazingly high and I liked them all. The best no doubt was attacking proximity card access systems, so innovative, but I recommend watching them all. The talks were filmed so I think they will be available soon. 
 
  Además  qué decir de la ciudad de Miami, un sitio genial para salir de fiesta con otros hackers y pasarlo bien J
 
Sin duda uno de los mejores congresos por sus charlas técnicas y la posibilidad de conocer personas  interesantes, me llevo buenas amistades ;) 
 
Kudos a todo el equipo de ImmunitySec por una excepcional organización y su disposición para que todo salga bien. 
 
  N os vemos en la tercera edición! 
 
In addition what to say of Miami city, a great place for partying with other hackers and have fun J 
Undoubtedly one of the best conferences for their technical talks and the possibility of meeting interesting people, I’ve made good friends ;)
 
  Kudos to all ImmunitySec team for an exceptional organization and their availability to make sure that everything goes well. 
 
  See you in the third edition!
 
   — Simon Roses Femerling
Posted in Conference, Hacking, Pentest, Security, Technology | Tagged , , , , , , , , , | Leave a comment

New Year, New Ideas, New Job

[Español] Como muchos lectores saben tras varios años en Microsoft he abandonado el equipo de seguridad de la compañía el pasado mes de diciembre en busca de nuevos retos y oportunidades. Este cambio me permite enfocarme a un rol de I+D en seguridad de aplicaciones.

[English] As many readers know after several years in Microsoft I have left the security team last December to pursue new challenges and opportunities. This move allows me to focus on a R&D role in application security.

Empiezo una nueva etapa profesional como emprendedor con muchas ideas en la cabeza que muy pronto os iré mostrando, así que atentos al blog y Twitter ;)

Mis servicios siguen disponibles :)

I start a new professional stage as entrepreneur with many ideas in mind that very soon I’ll be showing, but for the moment stay tuned with the blog and Twitter ;)

My services are still available :)

— Simon Roses Femerling

Posted in Business, Security, Technology | Tagged , , , , | Leave a comment

AppSec: Overview of Fuzzing Frameworks

[Español] En los últimos años el fuzzing se ha convertido en la mejor y más rápida (relativamente) técnica para descubrir fallos de seguridad, por lo que he pensado que sería un buen tema para introducir algunos conceptos y  herramientas para luego entrar en más detalle en futuros posts.

[English] In recent years fuzzing has become the best and (relatively) quickest technique to discover security vulnerabilities, so I thought it would be a good topic to write a post about it to introduce some concepts and tools to then go into more details in future posts.

Aparte de mis frecuentes auditorías de código también dedico tiempo al fuzzing para identificar vulnerabilidades en todo tipo de aplicaciones con buenos resultados :) Imagino que el lector a estas alturas habrá oído hablar del Microsoft SDL, donde se especifica que uno de los controles de seguridad obligatorios es hacer fuzzing de la aplicación. Es por ello que Microsoft ha desarrollo algunos de los mejores fuzzers del mercado, como son SAGE y FuzzGuru entre otros, aunque por desgracia solo están disponibles internamente en la compañía pero existen algunas interesantes alternativas como veremos en la sección de recomendados.

Apart from my frequent code reviews I also spend time fuzzing to identify vulnerabilities in all kinds of applications with good results :) I assume the reader at this point has heard of Microsoft SDL, which mandates that one of the security gates is to fuzz the application. This is why Microsoft has developed some of the best fuzzers in the market, such as SAGE and FuzzGuru among others, although unfortunately only internally available in the company but there are some interesting alternatives as we will see in the section of recommended.

A la hora de realizar fuzzing debemos tener una clara estrategia para que sea efectivo o podríamos estar perdiendo el tiempo. Debemos tener claro:

  • Qué interfaces de la aplicación queremos fuzzear (ficheros, protocolos, registro, etc.)
  • Si nuestro fuzzer es capaz de generar datos malformados válidos para la aplicación
  • Cuántas pruebas estamos ejecutando por minuto
  • Si hemos definido el “número mágico” para detener las pruebas
  • A qué nivel de profundidad estamos llegando en la aplicación (Code coverage)
  • De qué capacidades de monitorización disponemos
  • Si disponemos de herramientas apropiadas para analizar un crash

When it comes to fuzzing we must have a clear strategy to be effective or we could be wasting time. We must be clear on:

  • What application interfaces we want to fuzz (files, Protocols, registry, etc.)
  • If our fuzzer is able to generate valid malformed data for the application
  • How many test cases are we running per minute
  • If we have defined the “magic number” to stop testing
  • What level of application depth  we are reaching (Code coverage)
  • If we have monitoring capabilities
  • If we have the appropriate tools to analyze a crash

Éstas son algunas de las cuestiones que nuestra estrategia debe tener en cuenta para sacarle el mayor partido al tiempo de fuzzing ya que no es infinito. En mi caso he construido una pequeña granja fuzzing que me permite escalar y realizar diferentes pruebas al mismo tiempo, bendita sea la virtualización!

These are some of the issues that our strategy must take into account to get the most out of the fuzzing time because is not infinite. In my case I have built a small fuzzing farm that allows me to scale and perform various tests at the same time, blessed be the virtualization!

De vez en cuando hasta un fuzzer tonto es capaz de descubrir vulnerabilidades, pero por lo general obtendremos mejores resultados con un fuzzer inteligente que entienda la información que requiere la aplicación y pueda manipularla. La mayoría de fuzzers recomendados están dentro de la categoría de fuzzers inteligentes, aunque sin duda los fuzzers tontos nos pueden ser de gran utilidad también. Si tenemos tiempo es recomendable probar diferentes tipos de fuzzers para el mismo objetivo.

From time to time a dumb fuzzer is able to discover vulnerabilities but usually we get better results with a smart fuzzer who understands the data required by the application and is able to mutate it. Most of the below recommended fuzzers are within the category of smart fuzzers but certainly dumb fuzzers can be very useful too. If we have time we recommend trying different types of fuzzers for the same target.

Existen muchos más fuzzers de los aquí mencionados pero en mi opinión éstos son algunos de los mejores y estoy seguro que el lector les encontrará utilidad. Si encuentras un ODay no  olvides enviármelo ;)

There are many more fuzzers of the here mentioned but in my opinion these are some of the best and I am sure the reader will find them useful. If you find an ODay don’t forget send it my way ;)

Fuzzer Frameworks y Recursos Recomendados / Fuzzer Frameworks and Recommended Resources

Y tú qué fuzzer framework utilizas?

What fuzzer framework do you use?

— Simon Roses Femerling

Posted in Hacking, Pentest, SDL, Security, Technology | Tagged , , , , , | Leave a comment