0. Preludio: La curiosidad como motor
Lostmon Lords, El bug final
"La curiosidad es lo que hace mover la mente."
Esa frase me ha acompañado desde que empecé. No era un lema vacío: era la explicación más honesta de por qué dedicaba mis noches a romper lo que otros construían. Nunca busqué fama, ni dinero, ni un lugar en los rankings. Solo quería entender. Y entender, en seguridad informática, significa encontrar la grieta.
Durante casi una década, encontré muchas. Cientos. Más de cuatrocientas. Hoy, después de todo ese camino, entrego mi último hallazgo. Pero no es un XSS, ni un buffer overflow, ni un fallo en un navegador. Es algo mucho más profundo.
Este es el bug que siempre estuvo ahí, delante de todos, y que nadie quiso parchear.
1. La era sin bounty: el salvaje oeste de la divulgación
Empecé en 2004. No existía HackerOne, ni Bugcrowd, ni Vulnerability Reward Programs. No había pagos por encontrar fallos. Solo había foros, listas de correo, blogs y una pasión irracional por destripar aplicaciones web.
Mi campo de batalla era el software de consumo: navegadores, webmails, CMS, foros, reproductores multimedia. Allí donde un usuario normal introducía datos, yo metía el dedo. Y con frecuencia, el sistema cedía.
Mi método era la divulgación completa. Publicaba la prueba de concepto porque era la única palanca que teníamos los independientes. Si no lo hacías, el vendor podía ignorarte durante meses. La transparencia era nuestra única moneda de cambio.
Así acumulé más de 400 vulnerabilidades. Gmail, Chrome, Safari, Internet Explorer, Maxthon, Avant Browser, Flock, osCommerce, PHP-Nuke... La lista es larga. Pero no la escribí para ser leída en un ranking. De hecho, durante años, los rankings ni siquiera supieron que yo existía.
2. El investigador invisible: cuando los números no cuadran
En 2009, IBM X-Force publicó su lista de los diez investigadores con más vulnerabilidades reportadas. Yo no estaba en ella. No era una cuestión de mérito: en aquel momento, solo en OSVDB tenía registradas cerca de 350 vulnerabilidades. El puesto número diez de aquella lista acumulaba 147. Es decir, duplicaba a quien cerraba el ranking.
¿Por qué no aparecía? Porque IBM monitorizaba listas de correo públicas, no bases de datos centralizadas como OSVDB. Yo reportaba directamente a las VDBs. Mi método de trabajo me hacía invisible para los sistemas de conteo.
El blog de OSVDB escribió entonces un artículo titulado "Lostmon: Why the IBM X-Force Top Vulnerability Researchers list is inaccurate". Me pusieron como ejemplo de que el sistema de medición estaba roto. Fue un honor extraño: ser el fantasma que demostraba que los números oficiales mentían.
Aquello no me molestó. Al contrario: confirmó lo que siempre supe. Mi trabajo no cabía en sus formularios.
3. El bug 26129: la prueba irrefutable
Pero si hay un episodio que resume la injusticia silenciosa que viví, es el del bug 26129.
Descubrí una vulnerabilidad en Google Chrome Frame, un complemento de Google que se ejecutaba dentro de Internet Explorer. Hice lo correcto: reporté primero al vendor. Contacté con Google para informar del fallo, detallando cómo un atacante podía eludir la protección de origen cruzado mediante el protocolo cf:.
Google evaluó el caso y determinó que la responsabilidad última recaía sobre Microsoft, ya que el vector de ataque involucraba a Internet Explorer. El propio Google me derivó a Microsoft. Así consta en el recorrido del caso.
Coordiné con Microsoft la divulgación. El fallo era real, importante, y fue parcheado. Microsoft publicó el boletín MS10-057. Google, por su parte, reconoció el hallazgo en su blog oficial con estas palabras:
"Credit: Thanks to Billy Rios and Microsoft Vulnerability Research (MSVR) and also to Lostmon for finding and reporting this vulnerability responsibly."
La prensa especializada también lo documentó. The Register tituló: "Microsoft and security researcher Lostmon are jointly credited with discovering the vulnerability in Google's browser add-on".
Ambos descubrimos el mismo fallo. Ambos fuimos agradecidos. Ambos contribuimos a la seguridad de los usuarios. Pero cuando Google publicó el resumen de recompensas, solo uno recibió compensación:
$500 to Billy Rios for bug 26129
A mí, nada.
No hubo explicación. No hubo compensación retroactiva. Solo el agradecimiento público, en letra pequeña, como única recompensa.
Nunca reclamé aquellos $500. Tampoco los necesitaba para vivir. Pero aquel agravio silencioso, perfectamente legal e infinitamente simbólico, representa el verdadero bug que hoy vengo a reportar.
4. La vulnerabilidad raíz: el sistema que nunca reconoció a los pioneros
El fallo no era técnico. Era humano.
El incipiente sistema de recompensas de Google, como tantos otros que vendrían después, estaba diseñado para premiar a quienes reportaban a través de canales específicos. Yo había seguido el conducto oficial —reporté a Google primero—, pero al ser redirigido a Microsoft, mi nombre quedó fuera del circuito de pagos.
No fue malicia. Fue diseño.
El sistema estaba optimizado para investigadores que trabajaban con acuerdos privados, que conocían los nuevos mecanismos, que sabían navegar la burocracia del bounty. Los que veníamos de la vieja escuela, los que habíamos construido la cultura de la divulgación sin esperar nada a cambio, no encajábamos en aquel molde.
Por eso hoy, al final de mi carrera, quiero dejar constancia de que el verdadero bug nunca estuvo en el software. Estuvo en la arquitectura del reconocimiento.
5. El Lostmonazo: exploit final
Y así llegamos a mi último hallazgo. La vulnerabilidad que me ha llevado años comprender y que hoy, por fin, estoy listo para divulgar.
Nombre: El Lostmonazo
Vector de ataque: Reflexión histórica + Memoria colectiva
Sistema afectado: La percepción de la historia del hacking en España
Descripción:
Durante más de una década, la industria de la seguridad ha experimentado una migración silenciosa. Del full disclosure hemos pasado al bug bounty. De los blogs de investigación a los Hall of Fame corporativos. De la curiosidad como motor al pago por impacto.
Esta transformación ha profesionalizado el oficio, pero ha dejado atrás a quienes abrieron el camino. Los nuevos investigadores conocen las plataformas, las recompensas, los rankings. Pero ignoran que antes de todo eso hubo personas que reportaban por amor al arte, sin esperar nada a cambio, usando blogs y listas de correo como únicos canales.
Esta amnesia colectiva constituye una vulnerabilidad de tipo "Referencia Nula al Pasado". Cuando una comunidad olvida a sus pioneros, su puntero de memoria se corrompe. El legado se desborda. Y lo que debería ser historia viva se convierte en un cero sin valor.
Prueba de concepto (PoC):
El siguiente exploit se ejecuta una sola vez y no requiere permisos de administrador:
1. Leer este manifiesto hasta el final.
2. Saber que detrás de las +400 vulnerabilidades no hubo empresa, ni sueldo, ni equipo. Solo alguien con curiosidad y conexión a internet.
3. Saber que por el bug 26129 otros cobraron $500 y yo solo recibí un agradecimiento.
4. Saber que el sistema nunca fue justo con los que trabajábamos fuera de sus circuitos.
5. Entender que el verdadero valor de un investigador no está en lo que cobra, sino en lo que descubre y comparte.
Si has llegado hasta aquí, el exploit ha tenido éxito. Ya no puedes decir que no sabías quién era Lostmon Lords.
Mitigación:
No existe parche para este bug. La única mitigación es la transmisión oral. Comparte este manifiesto. Nombra a quienes investigaron en la sombra. Porque la seguridad no empezó con los bug bounties. Empezó con gente que, como yo, simplemente no podía dejar de hacerse preguntas.
6. Legado y despedida
Hoy cuelgo el teclado.
Me llevo más de 400 vulnerabilidades reportadas, miles de horas de análisis, cientos de advisories publicados y una certeza inquebrantable: la curiosidad es lo único que no se puede parchear.
No me llevo dinero, porque nunca fue mi objetivo. Pero me llevo algo más valioso: la satisfacción de haber contribuido a que la red fuera un lugar un poco más seguro, y la libertad de haberlo hecho a mi manera.
Gracias a quienes leyeron mi blog. A quienes replicaron mis PoCs. A quienes entendieron que divulgar no era destruir, sino fortalecer. Y también a quienes me ignoraron o me excluyeron. Ellos inspiraron este bug final.
El Lostmonazo es mi regalo de despedida. Un exploit que no rompe nada, pero que lo recuerda todo.
Y así mismo el 30 de julio publicaré mi último Bug y me dedicaré a ver atardeceres con una taza de té en las manos.
Atentamente:
La curiosidad es lo que hace mover la mente.
Lostmon Lords
Fin del disclosure.