El consultor e investigador de seguridad taiwanés bajo el seudónimo Orange Tsai decidió participar del programa de recompensas de Facebook, por lo que se propuso encontrar una vulnerabilidad en sus sistemas para reportarla. Lo sorprendente es que encontró rastros de un atacante que había instalado un backdoor para robar credenciales de empleados de la compañía.
"Hay dos períodos en los que el sistema fue obviamente operado por el atacante"
"El atacante creó un proxy en la página de credenciales para registrar las de empleados de Facebook. Estas contraseñas se almacenaban en el directorio web para que él usara WGET de vez en cuando", explica Orange Tsai en su análisis técnico.
Su reporte inicial a Facebook fue en febrero de 2016, y tras recibir la confirmación de un ingeniero de seguridad de la compañía, Reginaldo Silva, publicó sus hallazgos, que le valieron una recompensa de 10.000 dólares.
Todo empezó con Orange Tsai buscando dominios propios de Facebook, hasta que encontró el servidor "files.fb.com", que parecía ser la página de login del servicio Secure File Sharing de Accellion. Tenía sentido que fuera usado por los empleados de Facebook para compartir y sincronizar archivos en línea en forma segura. En él, encontró siete vulnerabilidades, incluyendo tres Cross-Site Scripting y elevación local de privilegios; también las reportó a Accellion para que las corrigiera.
Se registraron 300 contraseñas ingresadas entre el 1 y el 7 de febrero
De esta forma, logró acceder al servidor y fue allí donde vio algunos logs extraños, como mensajes de error en PHP que llevaban a "archivos webshell sospechosos dejados por 'visitantes' anteriores". Así es como descubrió que había un backdoor que robaba las credenciales de los empleados de Facebook, y halló 300 contraseñas ingresadas entre el 1 y el 7 de febrero.
Pertenecían a cuentas con dominios “@fb.com” y “@facebook.com”, por lo que dijo: "Creo que estas credenciales eran contraseñas reales y **CREO** que pueden acceder a servicios como correo electrónico Outlook Web App, VPN...".
Además, sacó otra conclusión: "Desde el log del servidor, hay dos períodos en los que el sistema fue obviamente operado por el atacante, uno a principios de julio y uno a mediados de septiembre".
Por su parte, Reginaldo Silva de Facebook dijo:
Estamos muy contentos de que Orange nos reportara esto. En este caso, el software que estábamos usando es de terceros. Como no lo controlamos por completo, lo ejecutamos aislado de los sistemas que alojan los datos que las personas comparten en Facebook. Lo hacemos precisamente para tener mejor seguridad.
(...) Determinamos que la actividad que Orange detectó era de otro investigador que participa de nuestro programa de recompensas. Ninguno de los dos logró comprometer otras partes de nuestra infraestructura, así que de la forma en que yo lo veo, es una doble victoria: dos investigadores competentes evaluaron el sistema, uno de ellos nos reportó lo que encontró y obtuvo una buena recompensa, ninguno de los dos pudo escalar acceso.
Claro que, como muchos miembros del foro comentaron, es llamativo que la recolección sistemática de credenciales se tome como parte de una investigación en el marco del programa de recompensas, y que la compañía no lo supiera. Según las reglas de este y otros programas similares, una vez que se encuentra la vulnerabilidad que permite el acceso la investigación debe concluir y ser reportada, sin hurgar en busca de información sensible.
De igual forma, es importante que los agujeros de seguridad sean reportados y que existan los programas de recompensa para premiar el esfuerzo de los investigadores con buenas intenciones, para que los sistemas que día a día utilizamos sean más seguros.