En la última entrega de la serie vamos a ver explotación avanzada de Windows, saltando los filtros y las protecciones que nombramos en la entrega anterior.
Desde el 2005 en adelante la explotación se volvió cada vez más difícil, y el número de investigadores que pudieron hacer exploits fiables para los sistemas operativos modernos de Microsoft fue bastante bajo.
Desde el 2005 en adelante la explotación se volvió cada vez más difícil, y el número de investigadores que pudieron hacer exploits fiables para los sistemas operativos modernos de Microsoft fue bastante bajo.
Por norma general, estos trabajos son más complejos, y el contenido mucho más avanzado.
Vamos a ver los más importantes contra estas protecciones.
- Third Generation Exploitation (Smashing the Heap under Win2k) por Halvar Flake en 2002.
- Creating Arbitrary Shellcode In Unicode Expanded Strings por Chris Anley, fue el primer artículo acerca de shellcodes basadas en Unicode. El método explicado es lo suficientemente bueno como para hacer (pobres) shellcodes en ASCII.
- Advanced Windows Exploitation por Dave Aitel en 2003, donde se habla de temas no tan clásicos, y la labor se empieza a hacer más complicada.
- Defeating the Stack Based Buffer Overflow Prevention Mechanism of Microsoft Windows 2003 Server por David Litchfield es el primer paper donde se abusa de la protección SEH y se expone un método genérico para saltar /GS. Probablemente sea uno de los aportes más importantes.
- Windows Heap Exploitation (Win2KSP0 through WinXPSP2) por Matt Conover.
- Safely Searching Process Virtual Address Space por Matt Miller en 2004 es el primer artículo donde se habla de 'egg-hunter' shellcode.
- En 2004 Skylined escribe un exploit para IE donde usa una tecnología llamada Heap Spray.
- Bypassing Windows Hardware-enforced Data Execution Prevention por skape (Matt Miller) y Skywing (Ken Johnson) en 2005, donde se salta la protección mediante un ataque del estilo return-to-libc.
- Exploiting Freelist[0] On XP Service Pack 2 por Brett Moore en 2005.
- Kernel-mode Payloads on Windows por bugcheck y skape (Matt Miller) en 2005, un paper donde se explica como portar exploits al área del kernel (kernel-land).
- Exploiting 802.11 Wireless Driver Vulnerabilities on Windows por Johnny Cache, HD Moore y Matt Miller.
- Heap Feng Shui in JavaScript por Alexander Sotirov en 2007.
- Understanding and bypassing Windows Heap Protection por Nicolas Waisman en 2007.
- Heaps About Heaps por Brett Moore en 2008, un extenso trabajo sobre heap.
- Bypassing Browser Memory Protections por Alexander Sotirov y Mark Dowd en 2008, un gran trabajo centrado en saltar protecciones de memoria de los navegadores en Vista.
- Attacking the Vista Heap por Ben Hawkes en 2008, donde se habla de internals en el heap de Vista y como saltar sus protecciones.
- Return-oriented Programming: Exploitation without Code Injection por Hovav Shacham y otros en 2008.
- Token Kidnapping por Cesar Cerrudo en 2008.
- Defeating DEP, the Immunity Debugger way por Pablo Solé en 2008 es la primera automatización de ROP.
- Practical Windows XP/2003 Heap Exploitation por John McDonald y Chris Valasek en 2009.
- Interpreter Exploitation: Pointer Inference and JIT Spraying (slides) por Dionysus Blazakis en 2010, un método de explotación genérico para saltar DEP y ASLR juntos.
- Releasing a 0day at RootedCON: The Case of Consona/SupportSoft por Rubén Santamarta donde se vió como saltar el filtro de XSS en IE y el modo protegido. No está relacionado directamente con explotación, pero es muy útil para combinarlo con otras técnicas.
Viendo la evolución y la cantidad de trabajos buenos que se han publicado en los últimos años se podría hacer una pequeña predicción de un futuro próximo.
- La explotación no está muriendo ni va a morir.
- Se está volviendo más difícil, y no será 'solo por diversión' como antes.
- Escribir exploits fiables llevará más y más tiempo, lo que equivale a dinero. El desarrollo de exploits es un área de trabajo aceptable en seguridad.
Si lees y entiendes todos los paper de estas entregas, posiblemente podrás formar parte de este futuro :)
Parte 1
No comments:
Post a Comment