Durante
los días 15 al 17 de marzo se ha celebrado la décima edición del Pwn2Own, el
concurso donde los descubridores de vulnerabilidades para los principales
navegadores y plugins en diferentes sistemas operativos se llevan importantes
premios económicos. Como en ediciones anteriores en esta ocasión las víctimas
han sido Apple Safari, Microsoft Edge, Mozilla Firefox, Adobe Flash, Reader, Windows,
macOS y hasta Ubuntu y VMware.
Pwn2Own es el evento anual que
aglutina a los mejores investigadores de seguridad y donde se ponen a prueba
los navegadores web más populares, diferentes sistemas operativos, así como en
los plugins más atacados. Pwn2Own 2017 se ha celebrado en la ciudad canadiense
de Vancouver, organizado por Zero Day Initiative (ZDI) y Trend Micro.
Día 1
El primer día
se realizaron 10 intentos de ataque, cinco exitosos, uno de forma parcial, dos fallidos
y otras dos retiradas. En total 20 nuevas vulnerabilidades y 233.000 dólares en
premios.
Empezó con el equipo 360 Security
usando un desbordamiento basado en heap en jpeg2000, una fuga de información en
el kernel de Windows y un búfer sin inicializar en el kernel de Windows para
conseguir una ejecución remota de código a través de Adobe Reader. Por ello
ganaron 50.000 dólares y 6 puntos para el premio de Master of Pwn.
Tras esto, Samuel Groß y Niklas
Baumstark consiguieron puntos de estilo por dejar un mensaje especial en la Touch
Bar de un Mac. Para ello utilizaron un uso de memoria después de liberarla en
Safari combinado con tres errores de lógica y una desreferencia de puntero nulo
para conseguir elevar sus privilegios a root en macos. Como el problema de uso
de memoria después de liberar ya había sido corregido en una versión beta del
navegador el ataque se consideró un éxito parcial, a pesar de lo cual
consiguieron 28.000 dólares y 9 puntos para el concurso de Master of Pwn.
El siguiente concursante fue
Tencent Security– Team Ether que consiguió un ataque exitoso contra Microsoft
Edge a través de una escritura arbitraria en Chakra y mediante otro error
consiguieron escapar de la sandbox. Esto les permitió ganar 80.000 dólares y 10
puntos para el Master of Pwn.
Por primera vez en la competición
un equipo intentaba un ataque contra Ubuntu Linux. El equipo Chaitin Security
Research Lab realizó un acceso fuera de límites en el kernel de Linux para
ganar 15.000 dólares y 3 puntos para Master of Pwn.
We've seen folks pop calc, and folks pop calc in scientific mode, but xcalc is a first for #Pwn2Own - thanks to @ChaitinTech. #P2O pic.twitter.com/9azY453m7A— Zero Day Initiative (@thezdi) 15 de marzo de 2017
Las retiradas vinieron por parte de Tencent Security – Team Ether que intentaban atacar Windows, y Ralf-Philipp Weinmann en su intento sobre el navegador Microsoft Edge. Posiblemente las recientes actualizaciones de Microsoft debían haber afectado a sus exploits.
Otro fallo vino de la mano de
Tencent Security – Team Sniper al atacar Google Chrome con una elevación de
privilegios.
Pero este equipo sí logró un
ataque exitoso contra Adobe Reader, empleando una fuga de información seguida
de un uso de memoria después de liberarla para conseguir la ejecución de
código. Mediante otro uso de memoria después de liberarla en el kernel
consiguieron privilegios del sistema. Ganaron 25.000 dólares y 6 puntos para el
premio de Master of Pwn.
El equipo Chaitin Security
Research Lab consiguió otro éxito a través de Apple Safari consiguieron acceso
root en macOS mediante una cadena de seis vulnerabilidades que incluían una
obtención de información en Safari, cuatro de confusión de tipos en el
navegador y un uso de memoria después de liberar en WindowServer. La crónica de
Trend Micro califica esta demostración como espectacular lo que facilitó otros
35.000 dólares y 11 puntos para el Master of Pwn.
Para finalizar el primer día, Richard
Zhu intentó conseguir una elevación a privilegios a root en macos a través de Apple
Safari. Sin embargo, finalizado el tiempo permitido no consiguió un ataque exitoso.
Vídeo resumen del primen día
Día 2
El segundo día
de competición fue mucho más productivo, con hasta 17 intentos en un único día.
El número de participantes este año ha marcado todo un récord, que obligó a los
organizadores a dividir a los participantes de esta jornada en dos grupos
diferentes. Por un lado los enfocados en productos Microsoft y adobe y otra
parte enfocada en productos Mozilla y Apple. Finalmente se lograron 11 ataques
exitosos, uno fallido, tres retiradas y dos descalificaciones, para conseguir
un total de 340.000 dólares en premios.
En la pista A _al puro estilo
deportivo_ el día comenzó con el equipo 360 Security (@mj0011sec) con un intento de ataque
exitoso sobre Adobe Flash por una cadena de vulnerabilidades de un uso de
memoria después de liberarla, dos fugas de información del kernel de Windows y
un búfer sin inicializar en el kernel de Windows para elevar los permisos desde
Flash hasta conseguir privilegios del sistema. Por ello ganaron otros 40.000
dólares y 12 puntos más para el premio de Master of Pwn.
Continuó con otro ataque exitoso
a Adobe Flash por parte del equipo Tencent Security – Team Sniper mediante un
uso de memoria después de liberar y otro en el kernel de Windows para elevar
privilegios a nivel de sistema. Lo que les valió para ganar 40.000 dólares y 12
puntos para Master of Pwn.
El equipo Tencent Security –
Sword Team consiguió un ataque exitoso contra Microsoft Edge que valiéndose de
otras dos vulnerabilidades de uso de memoria después de liberar consiguieron
privilegios del sistema. Con esto ganaron 55.000 dólares y 14 puntos más.
A pesar de los éxitos anteriores,
Tencent Security - Team Lance y Tencent Security - Team Shield retiraron sus
ataques dirigidos a Microsoft Windows y Microsoft Edge. Sin embargo esto no le
importó al equipo Tencent Security – Team Sniper para completar un exploit
exitoso contra Microsoft Edge mediante un uso de memoria después de liberar en
Chakra y otro en el kernel de Windows para elevar privilegios a nivel de
sistema. Con esto sumaron otros 55.000 dólares y 14 puntos más.
Una vez más el equipo de 360
Security explotó con éxito Microsoft Windows con un acceso fuera de límites en
el kernel de Windows, que les permitió ganar 15.000 dólares y 4 puntos de
Master of Pwn. Para finalizar el día en el grupo A, Tencent Security - Team
Sniper consiguió elevar sus privilegios en Microsoft Windows a través de un
desbordamiento de entero en el kernel, lo que les valió 15.000 dólares y 4
puntos más para el título de Master de Pwn.
En el grupo B, el equipo de 360
Security demostró una elevación de privilegios en Apple macOS. Mediante una
fuga de información y una condición de carrera en el kernel. Obtuvieron 10.000$
y 3 puntos más para Master of Pwn. Sin tiempo de levantarse de la silla, el
mismo equipo aprovechó un desbordamiento de entero en Apple Safari y un uso de
memoria después de liberar en el kernel para conseguir permisos de roor en un macOS.
De esta forma ganaron otros 35.000 dólares y 11 puntos más.
El equipo Chaitin Security
Research Lab (@ChaitinTech)
consiguió una elevación de privilegios en macOS mediante una fuga de información
y un acceso fuera de límites en el kernel. Esto les valió 10.000 dólares y 3 puntos
para el Master of Pwn.
El equipo de Tencent Security –
Sword Team sufrió una descalificación al realizar un ataque sobre Apple macOS
con vulnerabilidades ya reportadas y conocidas por Apple. A continuación Moritz
Jodeit de Blue Frost Security (@moritzj) intentaba atacar Mozilla
Firefox pero no consiguió que sus exploits funcionaran exitosamente dentro del
tiempo previsto.
El equipo Chaitin Security
Research Lab (@ChaitinTech) consiguió un
desbordamiento de entero en Mozilla Firefox y elevó sus privilegios a través de
un búfer sin inicializar en el kernel de Windows. Esto les permitió ganar otros
30.000 dólares y 9 puntos de Master of Pwn.
Para finalizar el día en el grupo
B, Tencent Security – Team Sniper aprovecharon un desbordamiento de entero en
Apple Safari y consiguieron privilegios de root mediante acceso fuera de
límites y uso después de liberar en WindowServer. Lo que les valió otros 35.000
dólares y 11 puntos para el premio de Master of Pwn.
Vídeo resumen del segundo día:
Día 3
Esta ha sido la primera edición
del Pwn2Own que ha requerido tres días dado el elevado número de participantes
e intentos de ataque, pero el décimo aniversario del concurso y la bosa de premios
merecía un reconocimiento en todos los niveles. El tercer día,
mucho más reducido, tenía como punto central dos ataques a VMware. Los tres participantes
de este tercer día se repartieron 260.000 dólares.
El viernes comenzó con una
actuación espectacular del equipo 360 Security que utilizó un desbordamiento del
heap en Microsoft Edge, un error de confusión de tipos en el kernel de Windows
y un búfer sin inicializar en VMware para lograr escapar por completo de la
máquina virtual. Esto les permitió conseguir 105.000 dólares y 27 puntos para
el Master of Pwn.
Wow. @mj0011sec did it. Used heap overflow in Edge, type confusion in kernel, & uninit buffer in VMware for complete virtual machine escape.— Zero Day Initiative (@thezdi) 17 de marzo de 2017
Por su parte, Richard Zhu
(fluorescence) empleó dos vulnerabilidades de uso de memoria después de liberarla
diferentes en Microsoft Edge para posteriormente elevar los privilegios a nivel
del sistema mediante un desbordamiento de búfer en el kernel de Windows. Esto
le facilitó 55.000 dólares y 14 puntos.
Finalmente el ganador del
concurso de "Master of Pwn"
fue el equipo 360 Security con 63 puntos.
Los resultados finales de este
Pwn2Own han sido más espectaculares que nunca, con tres días de concurso y un
total de 51 nuevas vulnerabilidades reportadas y 833.000 dólares repartidos en
premios.
Todas las vulnerabilidades han
sido reportadas de forma responsable y los fabricantes ya trabajan en
actualizaciones para corregir estos problemas. Sin duda en breve empezaremos a
ver las actualizaciones para corregir estos problemas.
Vídeo resumen del tercer día
Más información:
The Results – Pwn2Own 2017 Day One
The Results – Pwn2Own 2017 Day Two
The Results – Pwn2Own Day Three
Antonio Ropero
Twitter: @aropero