miércoles, 28 de febrero de 2018

Encuentro (LV - XIV)

La terraza del aspa oeste del Triágono, o sede del CNI, no era el lugar más idóneo para hablar. Llena de antenas parabólicas y expuesta al aire gélido de finales de febrero, de un año particularmente frío, no era lo que se dice acogedora. Daniel Trujillo, alias Dany Trejo, tenía un cabreo del quince. Había recibido una nota de su compañero del departamento de delitos informáticos Alfredo Pi, alias el Piojo, pidiéndole que se reuniera allí con él a las 11. De eso hacía media hora. Se arrebujó en su chaqueta, helado, a pesar de que se había refugiado al socaire de una de las torres de acceso. «Me cagüen el Piojo, lo que tarda» pensó.

Un poco más tarde oyó pasos de alguien que se acercaba. Pero no era el Piojo, sino una mujer muy bien vestida. A los ojos de Dany, aquella mujer no tenía pinta de ser parte del personal de mantenimiento que frecuentaba algunos días la terraza. Pero no tuvo tiempo para nada más, porque la chica se detuvo a algunos pasos de donde él estaba.

—¿Señor Daniel Trujillo?— Sveta le había reconocido, pero le pareció una manera como otra cualquiera de empezar una conversación. Sacó su placa.
—Disculpe esta mascarada. Soy Svetlana Vorobiovna Zhuk, de operaciones. Quería hablar con usted.
—¿La nota? ¿Fue usted?— Preguntó Dany aún más cabreado. Y ante el gesto afirmativo de la chica, le soltó —Si quería hablar conmigo, se me ocurren cientos de lugares más cómodos que este lugar infecto y desolado.
—Le aseguro que hay una buena razón para ello. Pero no hablemos aquí. Vayamos al centro del aspa.
—No me gusta ese sitio, está atestado con los enormes aparatos del aire acondicionado. ¿Qué tiene de malo este lado?— Dany notó por primera vez que Svetlana se mantenía cuidadosamente cerca del centro longitudinal de la terraza, lejos de ambas fachadas. —¿Tiene miedo a las alturas?
—No es eso. La razón por la que le he citado aquí es por que no quiero que nos vean juntos.
—Qué rarita es usted— repuso Dany. Pero hizo lo que Sveta quería. Caminaron hacia el centro del aspa del Triágono, cuyos muros se elevaban casi como si de otro piso se tratara, aunque este no tenía ventanas y únicamente servía para ocultar las máquinas del aire acondicionado. Allí daban acceso a cada una de las terrazas de las tres aspas, sendos arcos de forma cuadrada. Una vez hubieron cruzado el que daba al oeste, cubiertos de las miradas ajenas por los altos muros, se situaron en un pequeño claro soleado.
—Lo que tengo que contarle— dijo Sveta —es de la mayor importancia, así que no me interrumpa. Se lo ruego.

Y en aquel lugar tan poco propicio, le contó todo desde el principio. Desde el día en que David le refirió su extraña historia durante la pausa del café, pasando por todo lo que sabía sobre el malware, hasta las últimas consecuencias en la persona de David, incluido el hecho de la reciente desaparición de la llama verde en las pantallas de los ordenadores afectados, a pesar de que el malware seguía allí. Ella lo sabía. Dany Trejo mantenía silencio aunque algo en sus ojos, un brillo especial, le decía a Sveta que él sabía algo. Y porque, de cuando en cuando, se tornaba como ausente y miraba a su izquierda como tratando de recordar algo.

Cuando Svetlana hubo terminado su relato, sintió un gran alivio, el de quien ha compartido sus preocupaciones con otro ser humano. Sentía ganas de soltarlo todo a los cuatro vientos. Estaba harta de ser una de esas pocas personas que estaban al tanto del asunto. En el fondo se sentía como un niño indefenso conocedor de un terrible secreto y sabedor del peligro que entrañaba. Ahora por lo menos lo sabía alguien más. La decisión de mantenerlo en secreto ya no era sólo suya. Era probable que Trujillo se lo contara a su superior y entonces una entidad más alta tomaría cartas en el asunto.

Pero Dany tenía otros planes.
—No hable de esto a nadie más— concluyó.
—Pero, este caso es de suma importancia. ¿No cree que debemos informar de ello a nuestros respectivos superiores?
—Eso sería lo peor que podríamos hacer. De momento confíe en mi. No tenemos tiempo. La hora del café hace ya rato que terminó y no nos conviene que noten nuestra ausencia. Hágame caso. Volvamos cada uno por donde vinimos. Haga como si esta conversación no hubiese tenido lugar.
—Pero...— trató de reconvenirle Sveta.
—Contactaré con usted muy pronto.

Y así se separaron los dos.

viernes, 23 de febrero de 2018

La transmissión misteriosa (LV - XIII)

De todos los casos de mi genial amigo, archivados entre los años 2016 y 2026, hay muchos cuyo interés sería merecedor de un relato. Hay tantos de hecho, que la elección de cuales han de tener su espacio aquí resulta un tanto difícil. Entre ellos, no todos tuvieron una resolución completamente satisfactoria. Pero hay algunos que por una cualidad de formidable extrañeza, resultan cautivadores a pesar de todo. Un ejemplo de estos últimos es el que hoy traigo a colación.

El registro data del 21 de febrero de 2018. Mis anotaciones del suceso traen a mi recuerdo que aquella tarde noche hubo de haber una terrible tormenta. Mi señora esposa se hallaba ausente para cuidar a su hermana enferma, así que me encontraba pasando unos días en mis habitaciones de soltero junto a mi querido amigo. La ventisca golpeaba la persiana entreabierta creando ritmos macabros, mientras de cuando en cuando un relámpago inundaba de luz las penumbras de nuestro cuarto arrojando sombras impías. La lluvia azotaba los cristales y afuera no se veía un alma. La casa estaba en silencio y a esas horas de la madrugada no quedaba nadie despierto, salvo mi persona y mi perenne amigo. Claro que él no había de dormir. Estaba yo en mi sillón favorito, cerca del fuego, hojeando los diarios de la tarde y mirando de hito en hito a mi amigo en su incansable actividad, cuando alguien tocó la campana. «¿Quién podrá ser a estas horas?», pensé. Me erguí atento. Tras unos pocos segundos noté que alguien subía las escaleras. Moví la lámpara hacia el asiento que habría de ocupar nuestro visitante. Enseguida se oyó un «tap-tap».

«¡Entre!» dije. En la persona que pasó reconocí al becario que teníamos a nuestro servicio. «Deme su abrigo. Lo podremos aquí y verá como se seca enseguida. Por favor, siéntese.»

«Hemos recibido una alerta azul, código 432» dijo el becario jadeante tan pronto como se hubo sentado. A juzgar por su estado, había venido corriendo.

«432 ¿dice?» pregunté extrañado, pues no había percibido nada en el monitor.

«Así es. Mírelo usted mismo»

Me fui al monitor y en efecto algo estaba sucediendo allí. Miré a mi amigo y vi en su rostro señales inequívocas de una concentración inusual. Propias de cuando había llegado al umbral de sus sentidos alguna cosa que le obligaba a redoblar sus exiguas fuerzas. Mas el monitor no aclaraba gran cosa, por lo que me fui al rincón donde estaba en su estado habitual de postración y le inyecté la solución habitual del 7% de cocaína. Rápidamente se estabilizó el sistema. Llevé mi atención a su cabina de suspensión. Los indicadores no mostraban ninguna reacción inusitada. Ajusté los niveles de serotonina y traté de mejorar el balance de su sistema límbico para conseguir mejorar la homeostasis. Todo ello contribuyó a una mejor recepción al mismo tiempo que tenía un efecto tranquilizador, apaciguador, en la psique de mi querido amigo durmiente. Los transceptores neuronales comenzaron a intercambiar información con el superordenador responsable de descifrar los datos procesados por el cerebro biológico de Holmes.


Los datos arrojaban luz como era habitual sobre varios procesos simultáneos. Todos esos datos se analizarían en el futuro, pues eran como trabajos sometidos a la consideración del cerebro hiperdesarrollado de mi amigo. Había cientos de investigadores de todo el mundo pendientes de algunos de esos resultados. Aunque, claro, ninguno de ellos conocía la naturaleza del prodigioso sistema de inteligencia artificial que analizaba sus datos llegando a tan increíbles y perfectas conclusiones. Su cerebro era el que lo hacía todo, aunque se necesitaba de un poderoso superordenador Cray XE6 8-core para comunicarse con él. Al haberse suprimido los sentidos externos, el cerebro se había podido formatear para emplear toda su capacidad en proyectos de importancia, como si se tratara de un ordenador más, aunque eso sí, potentísimo. Otro superordenador, esta vez un Hitachi, se encargaba de mantener sus funciones biológicas en orden, monitorizando su estado y suministrando las sustancias necesarias para su bienestar. Aunque nada lo mantenía tan en forma como mis frecuentes y bienintencionadas visitas.

Enterrados entre ese inmenso material que recorría la superficie de su masa gris, encontramos que sobresalían con más intensidad los pertenecientes a un subproceso permanente que generaba combinaciones de caracteres aleatorios en busca de canales ocultos en varias redes IRC. El sistema había descubierto un canal en el momento en que se estaba produciendo una conversación particularmente extraña. Aquel hallazgo había alterado a mi pobre amigo. No me es posible revelar el nombre del canal pues el caso a estas alturas todavía se acoge al secreto de sumario, pero aquí está la transcripción de la conversación.



Witch-King of Angmar: Ya está hecho.

Morgoth: ¿Conclusión?

Witch-King of Angmar: Indeterminada.

Morgoth: ¿Cómo que indeterminada?

Witch-King of Angmar: El sufrimiento al que lo sometí fue infinito y aún así no dijo nada.

Morgoth: ¿Nada? Seguro que fuiste blando. ¿Pero es que lo tengo que hacer todo yo?

Witch-King of Angmar: Señor. Me conoce de sobra. La tortura no es lo mío, sino el asesinato frío de aquí te pillo y aquí te mato. Pero le puedo asegurar que ese tío tiene los huevos bien puestos. Lo hice todo como usted dijo. Sesiones de media hora con dos horas de descanso entre una y otra. La pesadilla se alargó desde las 10 de la noche hasta las seis de la mañana.

Morgoth: ¿Y aún así sólo logró sacarle la memoria?

Witch-King of Angmar: Así es, señor. Hice lo que pude sin llegar a matarlo. Aunque dudo que sobreviva mucho tiempo.

Morgoth: Bien. ¿Y qué hay del nuevo?

Witch-King of Angmar: Ya está instalado en el antiguo estudio de GumPeR. Este último está tan mal que no creo que vuelva.

Morgoth: Sí, has hecho bien. Hoy mismo he ido a verlo. Está en las últimas, el pobre. Con el buen trabajo que estaba haciendo esta vez...

Witch-King of Angmar: De eso precisamente quería hablarle, señor. El nuevo dice que GumPeR no pudo compilar el malware y mucho menos retirar la llama.

Morgoth: ¿Qué?

Witch-King of Angmar: Que no pudo ser GumPeR el que quitó la llama verde del malware.

Morgoth: ¿Cómo? ¿Seguro?

Witch-King of Angmar: No hay duda, señor. Los logs confirman que no pudo compilar por falta de los códigos maestros de L0pthR.

Morgoth: Ese maldito apestoso dándonos problemas incluso desde el otro barrio. Entonces ¿los códigos están en la memoria SD?

Witch-King of Angmar: Eso creemos, aunque el nuevo todavía no los ha encontrado. Deben estar escondidos de alguna forma. Le llevará un tiempo.

Morgoth: GRUUMPLX!!! ¡Sabía que algo andaba mal! ¡¡¡Lo sabía!!! ¡¡¡Ahora mismo llamo a mi clínica y pongo al tontaina de GumPeR de patitas en la calle!!!

Witch-King of Angmar: Se buscará problemas innecesariamente, jefe. Basta con trasladarlo a un hospital de la seguridad social.

Morgoth: ¡¡¡Escalofrío!!! ¡He tenido un presentimiento! ¡Este se ha puesto malo con tal de no confesar su incapacidad para resolver el problema! ¡¡¡Lo sabía!!! ¡¡¡Sabía que algo no cuadraba!!! ¡¡Yo lo remato!!

Witch-King of Angmar: ¿Está diciendo que le haga una visita?

Morgoth: ¡¡¡Calle, cenizo!!! Téngame al tanto de los avances del nuevo.

Witch-King of Angmar: Como ordene.
Y esa fue la curiosa transmisión que interceptó mi amigo. El becario no podía estar más confundido de lo que yo lo estaba. Dedujimos que Holmes habría procesado datos anteriores que le habrían aportado información complementaria, y que fruto de una mejor comprensión que la nuestra se había producido la alteración ya mencionada. Solventado el problema, el becario se retiró y pocos días después volví a mi propio hogar. Un par de meses después, estando yo en un seminario de Inteligencia Artificial en Canadá, me llegó la noticia del fallecimiento de mi amigo. Nunca encontramos otros detalles que nos permitieran aclarar el misterio. En el viaje de vuelta, resignado a empezar de nuevo, examiné los anuncios por palabras. Subrayé uno: «Se busca compañero para compartir ideales habitaciones en el centro. Razón ********». Holmes 432 había desaparecido. Pronto, Holmes 433 ocuparía su lugar. Aunque para mi solo habría siempre un Holmes. Mi querido e inseparable amigo.

lunes, 19 de febrero de 2018

La carta (LV - XII)

«Muerte en el dojo

«Hayan al dueño decapitado y a uno de los alumnos habituales al borde de la muerte. La policía no sabe nada.

«Los hechos se produjeron anoche en la Academia de Kendo Tenshukaku de Madrid, propiedad de F.G., después de la última clase de la tarde. A la mañana siguiente encontraba el pastel la señora de la limpieza y tras llamar a los servicios sanitarios, quedó en un estado lamentable cuasi catatónico. Según algunos alumnos encuestados, D.A., es decir, el que sigue con vida, se perdía muchas clases por su trabajo y solía practicar él solo al final de la jornada. La policía local considera que este discutió con el dueño del dojo por alguna razón y que ambos pelearon resultando uno muerto y el otro gravemente herido. En cambio, fuentes de la U.C.O. han especulado que lo más probable es que haya una tercera persona desconocida implicada. De todas formas, no se sabe nada seguro. Los cuerpos y fuerzas de seguridad del estado están esperando a que D.A. se recupere de sus heridas y pueda declarar felizmente. Aunque este sigue grave y a estas horas todavía se debate entre la vida y la muerte en el Hospital Puerta de Hierro. Blah, blah, blah»


Una lágrima empañó el artículo del periódico «El País». También había leído las versiones vertidas en «El Mundo», «ABC», «Expansión» y «20 minutos». Algunos insistían en que David había asesinado a su «sensei». Sveta sabía que no era así. No comprendía quién le había podido hacer eso a David, pero tenía alguna idea de por qué. Sacó el sobre en cuestión de su bolso. La nota decía así:

«Siento meterte en esto. No quiero asustarte, pero me está siguiendo alguien. Sospecho que es el asesino del hacker. Trataré de atraerlo sobre mi. Esta noche cuando te llame desde el aeropuerto, sostendré entre mis dedos una tarjeta de ocho gigas que he comprado exprofeso. Pero eso solo te proporcionará algo de tiempo. Y lo peor es que no sé cuanto. Esperemos que el fulano tenga que entregar la SD a alguien más para analizarla.

«En cuanto te llegue esta carta, haz copias de la memoria que te adjunto y súbela a la Red. Es la original. La que encontré en la zapatilla del hacker asesinado. De momento no sabemos qué es. Tendrás que analizarla con cuidado.

«Si me pasara algo... quiero que hables con un policía. Se llama Daniel Trujillo. No esperes. Hazlo enseguida. Cuéntaselo todo desde el principio. Trabaja con él.

«Te quiero
«Fdo: David Abad»


Más lágrimas. Inclinó el sobre y dejó caer la memoria sobre la palma de su mano. Sacó un coqueto set de maquillaje de su bolso. Lo manipuló cuidadosamente hasta que se abrió como una cajita china. Allí tras el espejo depositó la diminuta memoria y volvió a cerrarlo con un clic. Había leído la carta tantas veces que se la sabía de memoria. Guardó el set y la arrojó al fuego de la chimenea. La carta se consumió aprisa. Las pequeñas llamas de debajo iluminaron la frase «Te quiero» durante unos segundos y finalmente no quedó nada.

miércoles, 14 de febrero de 2018

El kendoka desconocido (LV - XI)


El penetrante olor a tatami nuevo y a sudor inundaba las fosas nasales de David Abad mientras doblaba arrodillado la tenugu'i y se la ajustaba convenientemente en la cabeza. Mientras él se preparaba para su práctica de kendo en solitario, sus habituales compañeros de clase se habían ido a las duchas y abandonaban el dojo. Aunque se había perdido la clase, al menos practicaría algunas posturas y movimientos. Había vuelto intranquilo y tenso del viaje a Colombia. Desde su llegada por la mañana, el día había sido largo y no había podido dormir apenas durante el vuelo. Un buen ejercicio para gastar la energía sobrante y podría conciliar el sueño rápidamente.



Había tomado en sus manos el «men» o casco que completaba su atuendo, cuando oyó pasos a su derecha. Un hombre, completamente ataviado, saludó hacia el tatami y se internó en él.

—¿Le importa que le acompañe?— su voz no le era conocida. La complexión del hombre tampoco le sonaba. Pasó un momento antes de que pudiera articular una respuesta.

—Disculpe mi sorpresa. Pensé que estaba solo. Claro, venga. Soy David Abad.

—Me alegro de conocerle. Mi nombre es— el hombre se interrumpió algunos segundos —Tsubaki Sanjuro— declaró.



En los pocos segundos que David se entretuvo en acabar de anudarse el protector de cabeza y cuello, estuvo pensando donde había escuchado ese nombre antes. Sin saber la razón, supo que su oponente le engañaba. Que ese no era su nombre real. Agarró el shinai y se puso en pie. Se saludaron y empezaron a combatir. Los primeros golpes y detenciones del desconocido dejaron por sentado que no era un recién llegado al kendo. David tampoco lo era, así que se dispuso a disfrutar de un encuentro amistoso. Luego del calentamiento inicial, el extraño tiró dos o tres veces a su cuello forzándolo a retroceder. Intercambiaron rápidos contraataques y golpes, todos detenidos o esquivados por el otro. Empezaban a sudar de verdad cuando el que decía apellidarse Tsubaki propuso algo:



—Ambos hemos probado saber lo que hacemos. Le propongo que cambiemos los shinai por bokken. Le dará más atractivo al combate.

—¿Por qué no?— aceptó David. Ambos dejaron sus espadas rectas de práctica y tomaron otras curvadas, de dura madera, de los expositores del fondo. El que no tuvieran filo no importaba. Un buen golpe de bokken podía ser mortal. Las protecciones podían salvarles la vida, pero no del dolor.



Volvieron al centro del tatami y se saludaron cortésmente. Los dos sopesaron sus maderas y realizaron algunos «kata» antes de volver a combatir. Durante esos momentos, aun concentrados en lo suyo, no se perdieron de vista el uno al otro. Pero el combate no resultó ser parejo al anterior. El desconocido se mostró mucho más agresivo ahora de lo que resultaba adecuado en una mera práctica. David trató de adaptarse y por unos minutos combatieron ferozmente. Después se retiró y le increpó.



—¡Pare! ¡Ya es suficiente!



Pero el otro se abalanzó sobre él blandiendo la espada en un gran arco con dirección a su cabeza. David se anticipó y logró propinarle un buen golpe en el estómago. El do, responsable de proteger tórax y abdomen, crujió en protesta pero aguantó y absorbió la mayor parte de la energía. La restante empujó a Tsubaki hacia atrás doblándolo por la cintura. David mantuvo su postura ya detrás del otro y eso fue su perdición. Porque el extraño se giró y atacó la corva de su pierna derecha causándole un tremendo dolor. En las piernas no se lleva protección más allá del tejido de algodón del hakama. David ya no pudo levantarse. Se quitó el casco y se arrastró hacia la pared. Y allí se quedó mirando al otro, furibundo. El desconocido dejó caer de cualquier forma el bokken y rió sin disimulo detrás de la rejilla de su men.



—Eso ha sido juego sucio— adujo David jadeante.

—No es lo peor que he hecho. Y ya era hora de acabar con el teatro— David torció el gesto —Señor David Abad. Usted tiene algo que yo quiero. Sea bueno, démelo y le dejaré con vida.

—¿Cómo?— respondió sin entender —¿Qué puede querer usted de mi?

—Lo que trajo usted de Colombia, señor mío— el herido lo miró incrédulo —Le advierto que llevo siguiéndole desde que le vi asomado en la habitación del hotelucho aquel. Supe enseguida que usted había ido a Apartadós a investigar. Desde luego, enseñar la placa del CNI por todo Apartadós no fue muy inteligente... Y cuando le vi paseando con el agente encargado del caso. Bueno, eso confirmó todas mis sospechas.

—Usted es el asesino— esa certeza por un momento hizo a David olvidar el dolor de su rodilla, hasta que la movió y se lo recordó.

—No se mueva. Tiene el peroné roto y una buena inflamación, como poco, en esa rodilla. Sea bueno y deme lo que quiero. No intente afectar sorpresa o inocencia. Lo sé absolutamente todo. Deme la memoria SD. Démela y me iré. Usted no ha visto mi cara en ningún momento. No sabe quién soy. No tengo por qué matarle.

—No.



En ese momento bajó el dueño del dojo.



—Qué pasa aquí— dijo y se acercó al herido preocupado al ver quien era. Sentencia los rodeó lentamente y tomó otra espada del expositor. Ahora una katana. La desenvainó para ver si tenía filo o si era una de las de entrenamiento. Indudablemente, tenía filo. Normalmente solía juzgar bien las cosas. Esa katana era la que más resaltaba de todas las que había en la estancia. Desenvainada, la sostuvo con la punta hacia abajo como si le pesara. Tiró distraídamente a un lado la vaina. Entre tanto el dueño se volvió con una mirada acusadora.

—¿Quién diablos es usted?— fueron sus últimas palabras. Sentencia rebanó su cabeza de un tajo. Se ausentó un momento para comprobar si el dojo estaba cerrado. Entonces se dirigió a David.

—Me lo vas a contar todo. Miró la katana. Tenemos todo el tiempo del mundo. Tú, yo y esta preciosidad de espada. Seguro que encontramos la forma de entretenernos.


miércoles, 7 de febrero de 2018

GumPeR enferma (LV - X)

GumPeR se torturaba día y noche por no haber sido capaz de informar al hombre sin nombre del problema. La falta de los códigos maestros le impedía avanzar en su trabajo. No podría retirar el logotipo de la llama verde sin ellos. Debía habérselo dicho, pero no había podido. Sabedor de la temible ira que desataría la noticia. Estaba enfermo y lo que más pesaba en su salud era que cuantos más días transcurrieran hasta que se lo comunicara, más terrible sería la tempestad. Aún sabiéndolo, simplemente no podía hacerlo. Ello solo servía para incrementar de un modo horrible la angustia que sufría. Cada hora caía como una pesada losa sobre su cuerpo. Llevaba días así y sus padecimientos iban cada minuto a más. No comía, no dormía y se había excedido con el fernet a diario desde que hiciera el infausto hallazgo.

Por fin un día, con una buena cantidad de alcohol en el buche, cogió el teléfono y llamó al bosnio, decidido a confesárselo todo. Levantó el auricular y marcó, pero cuando el hombre sin nombre descolgó su teléfono solo escuchó incomprensibles sonidos guturales y gritos de una intensa agonía.

***

En un hospital privado de lujo, el bosnio aguardaba en la sala de de espera particular de la habitación de GumPeR. Los médicos estuvieron dentro lo que para el hombre sin nombre fue una eternidad. La salud del pobre GumPeR se debilitaba y los médicos no sabían por qué. Por fin salieron y hablaron unos momentos con él. Eran malas noticias. No daban un duro por la vida del calamitoso hacker. Por fin, pudo entrar a ver al enfermo. Casi se emocionó al ver el estado en que halló a GumPeR. Este estaba consciente y pareció ponerse peor al verle.

—Tranquilizate Gumersindo. Intenta no alterarte o te pondrás peor. Has sufrido un ictus, pero ya estás a salvo— mintió. —No es nada, en unos días volverás a casa— mintió aún más. Por su parte, GumPeR se esforzaba por mover los labios, pero no conseguía emitir el menor sonido.
—No intentes hablar. ¿No ves que estás intubado? Ya hablarás cuando estés mejor. Relájate y concentrate en recuperarte. A Sentencia le hubiera gustado venir, pero está de viaje— le soltó con ironía. Ambos sabían muy bien donde estaba, y a qué había ido. GumPeR se imaginó siendo el siguiente objetivo del asesino profesional y puso los ojos en blanco.
—¡Ea! No hagas eso. Encima que he venido a felicitarte... Porque has de saber que has salvado la operación al quitar exitosamente el icono ese asqueroso del malware. Muy bien hecho. Te felicito— GumPeR abrió los ojos tanto que casi se le salen los globos oculares de su sitio. El bosnio seguía hablando —Estoy muy orgulloso de ti. Hace unos meses, casi llegué a arrepentirme de haberte sacado del arroyo y dirigir tus pasos al cibercrimen, pero ahora no puedo estar más satisfecho— GumPeR en su interior sabía que él no había hecho nada. «No se puede sin los malditos códigos.» Cerró los ojos y empezó a verlo todo negro. Estaba sufriendo una recaída.

El hombre sin nombre estaba aún allí cuando sonó una alarma en alguna parte, vinieron enfermeras y médico y le echaron de allí sin muchos miramientos. Salió, se puso el abrigo y se marchó.

GumPeR había entrado en parada cardio-respiratoria. Pero antes de perder la consciencia por completo, todavía pensó: «Si yo no he podido retirar el icono... y L0pthR está muerto... Entonces ¿quién ha podido hacerlo?


***

David estaba hablando por el móvil con Sveta.
—¿Entonces cuándo llegas?
—Aún estoy el pequeño aeropuerto de Apartadós. Haré escala en Medellín y luego volaré a Madrid. Solo ese vuelo toma casi diez horas. Nos veremos mañana. Tengo algo para ti— cuando dijo eso se echó mano al bolsillo y extrajo la memoria SD. La sostuvo en los dedos un momento, preguntándose qué contendría y si aquello aportaría luz al misterio de la llama verde.

***

Un taciturno Sentencia que también aguardaba su vuelo, no le quitaba ojo a David y a la tarjeta SD que sostenía entre sus dedos.

martes, 6 de febrero de 2018

David en Colombia (LV - IX)

—¿Cómo dijo que se llamaba?

—David, David Abad.

—Encantado, yo me llamo Adrián Rojas— se estrecharon la mano—. ¿Es la primera vez que viene a Colombia?

—No, en realidad es la tercera— sonrió, —aunque no he tenido tiempo de hacer turismo.

—Entiendo... Naturalmente. Señor...

—Abad, David Abad.

—Sí... señor Abad... En fin, esto es todo cuanto tenemos de la víctima.

—¿Todo? ¡Caramba! Viajaba ligero de equipaje— la ropa, el calzado y algunos objetos personales estaban depositados en una caja de cartón de tamaño más bien pequeña.

—Sí, es todo cuando llevaba encima y lo que encontramos en el hotel.

—Bien.

—Si hubiéramos sabido que el CNI tenía interés en el caso, hubiésemos ido a recogerle al aeropuerto. ¿Puedo traerle algo de beber?

—Por favor, no se moleste— David cambió el peso de su cuerpo a la pierna izquierda y se rascó la nariz incómodo. —Estoy bien. Ahora necesitaría concentrarme.

—¡Claro! Por supuesto. Tómese el tiempo que quiera. Si me necesita estaré en mi despacho, siguiendo el pasillo a la derecha.

—De acuerdo. Gracias.



David sacó todos los objetos de la caja y los ordenó sobre la mesa. Todo estaba convenientemente embolsado y etiquetado, aunque las bolsas no llevaban precinto de ninguna clase. El contenido de la caja era escaso: unos vaqueros, una camisa blanca manchada de sangre, una camiseta de algodón, un blazer marrón, calzoncillos, calcetines tobilleros, unas deportivas, la llave de la habitación del hotel, algo de dinero suelto de varios países (en su mayoría pesos colombianos), algunos cheques de viaje y una caja de pañuelos de papel. Eso era todo lo que una joven vida dejaba atrás. Conforme fue extrayendo los elementos mencionados, fue tanteando en busca de algo oculto que se le hubiese pasado a la policía de Apartadós. Lo hizo dos veces más, y nada. Prestó particular atención a la chaqueta del tipo blazer, pero ni siquiera encontró los típicos botones de repuesto. Nada.



Antes de viajar a Colombia, había ido a la dirección de L0pthR en Madrid. Se sorprendió al encontrar el piso vacío. Según su casero, lo había dejado para no volver. Siendo quien era, resultaba extraño que no llevara ni siquiera una memoria externa USB, o una tarjeta SD diminuta. Lo había repasado todo varias veces y no había encontrado nada. Desesperanzado pensó cuál era el mejor lugar para esconder algo así. Tenía que haberlo. Quizás la había escondido en el hotel. Eso era poco probable. Existía el peligro de que la encontrara el personal de limpieza. Lo más seguro era que lo llevara siembre consigo. Pero ¿dónde? De repente cayó en la cuenta de que faltaba algo. Era sorprendente que no hubiera un smartphone. Un smartphone hubiera sido un buen lugar para ocultar datos. Pero allí no había ninguno. Decidió preguntarle sobre ello a Rojas más tarde.



Empezó a devolverlo todo a la caja. Durante la manipulación, una zapatilla había quedado parcialmente fuera de la bolsa. Cogió la zapatilla en sus manos para colocarla bien dentro de la bolsa y accidentalmente su dedo índice tocó algo más blando de lo habitual en el interior. Llevaba una plantilla. Miró la otra para comprobar que también tenía una. Se le ocurrió una idea fantástica. Retiró las plantillas y por fin encontró lo que esperaba. L0pthR había recortado un pequeño espacio en la zapatilla izquierda para una memoria SD que había cubierto con la plantilla. David tomó prestada la diminuta memoria, colocó de nuevo las plantillas y devolvió las zapatillas y cuanto quedaba sobre la mesa a la caja.



***



—Bueno qué. ¿Ha descubierto algo nuevo?— le preguntó el agente Rojas al verlo entrar por la puerta de su despacho con la caja.

—Me temo que nada. Seguramente estaba relacionado con algún asunto turbio de drogas. Han hecho un magnífico trabajo. Muy limpio.

—Me alegro de que haya llegado a esa misma conclusión. ¿Entonces se marcha?

—Sí, vuelvo esta misma noche a Madrid— le tendió la mano, que Rojas estrechó. —Gracias por su cooperación. Me voy tranquilo.

—Lástima que no pueda quedarse unos días a conocer el país.

—Sí, es una lástima. Pero el trabajo... Ya sabe.

—Entonces adiós, señor Abad.

—Disculpe— David se interrumpió dubitativo. —Agente Rojas, ¿me permite una última pregunta?

—No faltaba más. ¿De qué se trata?

—¿Cómo identificaron a la víctima?

—¿Cómo dice?— rojas frunció el ceño.

—Entre sus cosas no hay cartera... Ni documentación, y lo más raro, falta el pasaporte.

—Ah, espere que mire— abrió el informe que tenía sobre la mesa. —... eh... Sí. Aquí, mire. Supimos su nombre por el registro del hotel, pero no hay duda. Pudimos constatar que la víctima entró en el país procedente de Caracas, Venezuela.

—¿Dónde cree que puede estar su pasaporte? ¿Han comprobado si aún lo tiene el personal del hotel?

—Nos comunicaron que se lo habían devuelto la mañana de su muerte. Asumimos que, puesto que tampoco hay equipaje, lo depositaría en consigna.

—¿Dónde? En el aeropuerto no encontré ninguna.

—No lo sé. Quizá se perdió. Todavía estamos en ello.

—Bien. Eso era todo. Gracias de nuevo. Adiós.


domingo, 4 de febrero de 2018

Revelaciones desde una suite (LV - VIII)


Una madrugada Svetlana y David continuaban trabajando en el caso. Habían llegado por separado a la suite que el CNI tenía reservada para casos de necesidad en el hotel Meliá Castilla, en la calle Capitán Haya al norte de Madrid. Sveta llegó primero a pesar de que tuvo que hacerlo después del trabajo. Allí abrió su MacBook Pro e inició una máquina virtual con Kali Linux, en cuyo sistema de archivos cifrado había copiado los documentos que necesitaba comentar con David. Cuando llegó éste, ella llevaba más de una hora trabajando teniendo cuidado de usar sus copias offline y no conectarse en ningún momento con la base de datos del CNI. Él insistió en besarla a pesar de que no había nadie que pudiera verlos, por lo que no había necesidad de aparentar. De hecho era la primera ocasión, desde que empezara todo, en que tenían intimidad. Ella respondió al beso con más intensidad de la acostumbrada, lo que incendió el deseo de David y digamos que la cosa se fue calentado y acabaron en la cama. Durante el acto hablaron de cosas triviales y fue solo cuando los jadeos hubieron amainado, que Sveta empezó a hablar del tema que les había traído allí en primer lugar.

—¿Sigue sin haber suerte?— preguntó trémula.
—Nada. No sé por qué, pero me da a mi que el autor no está en tu lista.
—No nos hagamos ilusiones, pero es posible que haya dado con él.
—¿En serio? ¿Cómo?
—Desde el día que me metiste en esto he tratado en vano de encontrar una firma en el malware.
—¿Y qué? Eso ya lo sé— se impacientó David.
—Será mejor que no me interrumpas. Necesito poner mis ideas en orden— pidió Sveta.
—De acuerdo— aceptó él.
—Parece ser que los árboles no me dejaban ver el bosque. Intenté encontrar la firma en el binario sin tratar. Es lo que se hace para detectar los virus. Se busca una cadena consecutiva de 39 bytes que permanezca invariable en todas las copias del virus. Eso me cegó y me impidió avanzar...
—¿Por qué? Es decir, la forma en que resulta rentable la detección de virus es siendo rápida. Si hubiese que tratar cada archivo de un sistema para poder detectar un virus, entonces sería tremendamente lento. Nadie querría usar ese antivirus aunque fuera muy bueno. Además, imagina que cada virus, como suele ocurrir, tenga un método de polimorfismo basado en un algoritmo diferente. Entonces el antivirus tendría que probar a procesar cada archivo con cientos o miles de algoritmos antes de poder decir si está infectado. Eso haría al antivirus inútil.
—¡Exacto! Así es. Eso me tuvo probando multitud de variaciones del binario en la búsqueda de una clave de identificación válida. Tal curso de acción demostró ser inútil. Cada muestra del binario no tenía nada en común con las demás. Ni siquiera encontré el típico fragmento responsable de la decodificación que aparece sin codificar y habitualmente sirve como identificación para virus polimórficos.
—¿Y¿
—Nada.
—¿Entonces, qué has descubierto? ¿Y cómo?— se exasperó David.
—He infectado una máquina virtual y he ejecutado el binario paso a paso con ayuda de un depurador— Sveta se sentó en la cama. —Realmente el decodificador es distinto en cada copia porque se ha empleado un generador de algoritmos inteligente que no solo cambia determinadas partes del algoritmo de decodificación, sino que crea versiones nuevas con procedimientos aleatorios. Es mucho más complicado que eso, pero créeme, ¡es brillante! Y no sólo eso. Cada algoritmo resultante lleva protecciones anti-depuración que dificultan enormemente su seguimiento. En algunas ejecuciones el binario se autodestruyó como resultado de mis intentos. Entonces fue cuando decidí depurar la máquina virtual en lugar de hacerlo con el binario directamente. Como utilizar un guante. Y claro, los sistemas de protección no detectaron nada anómalo y así es como obtuve una copia del malware completamente decodificada en memoria. La desensamblé y la estudié.
—Eres increíble, Sveta— la felicitó David.
—Sí. Lo soy. Pero espera que ahora viene lo mejor. Y por favor no me vuelvas a interrumpir.
—Si te interrumpo es por tus pausas dramáticas.
—Silencio o te dejo en ascuas otro día más.
—Está bien, de acuerdo. Tú ganas.
—Una vez conseguí abrir el desensamblado con W64dasm, pedí un listado de cadenas y me sorprendió no encontrar nada en absoluto. Normalmente los que alcanzan este nivel de conocimientos están deseosos de que todo el mundo lo sepa y suelen firmar todos sus trabajos. Pues bien, en lo que a este malware respecta, la única firma es la imagen de la llama verde. No hay nada más. Y antes de que digas nada, y me vuelvas a interrumpir; todavía hay más. Me puse a buscar fragmentos de código característicos. Todo programador los tiene. Y me puse a compararlos con la base de muestras del CNI. Encontré varias coincidencias exactas. Ya sabes, de elementos que no generaría un compilador. Por lo que sé, el autor escribió el malware directamente en assembly. Se trata de alguien con conocimientos increíbles. Por lo tanto su orgullo debe de ser sólo cuantificable con unidades de medida astronómicas. Y sé eso porque absolutamente todas las muestras coincidentes tenían idéntica firma— Sveta se mantuvo en silencio más de lo que David pudo soportar y este estuvo a punto de abrir la boca impaciente. Fue solo entonces cuando acabó:

—Vale, vale, ya te lo digo. Su firma utiliza florituras varias en latín, pero hay algo que siempre se repite como una letanía: la palabra L0pthR— hizo una nueva pausa.
—Joder, suena como un pedo: lofdr.
—Creo que es su handle. El apodo por el que se da a conocer en la scene hacker. Hace años hubo un hacker conocidísimo que se hacía llamar L0pth. Nuestro elemento debe de admirarlo mucho.
—Ya ya lo pillo. Pero si solo tenemos eso, no nos sirve de nada. Necesitamos un nombre para ir a por él.
—Lo sé. Me ha costado un poco juntar todas las piezas. Lo he confirmado hace solo unas horas. Normalmente cuando uno empieza a utilizar nicks o apodos, estos suelen aparecer al principio asociados con su identidad real. Casi todos los hackers acaban pasando por varias épocas, cada una de ellas caracterizada por el uso de un handle en concreto. Estos apodos a veces se yuxtaponen con el anterior y en general, nadie es perfecto. Todo el mundo comete algún descuido.
—¿No me digas que has empleado tu super-técnica de «lurking»?
—Pues sí. Y gracias a eso y a un poco de «combing», bueno, en realidad gracias a mi oscuro pasado; ahora puedo revelarte el nombre de L0pthR: se llama Guillermo Sprenger.
—Qué es, ¿alemán?
—Holandés. En realidad su padre es de origen holandés, pero su madre española. Nacido y criado aquí, en Madrid. Tengo su dirección en mi portátil.
—Espera un momento— cortó David pensativo. Se levantó y fue a buscar el periódico que había traído consigo.
—¿Qué tienes?— rió Sveta.
—Mira esto— dijo señalando un artículo de la página de sucesos de El País. —Aquí. Lee en voz alta.

Svetlana entrecerró los ojos para ver mejor.
—Hallan muerto en un hotel colombiano a un hombre de 29 años, de nacionalidad española, llamado Guillermo Sprenger. Interrogado su padre, español de origen holandés, ha reconocido a este reportero que este se hallaba en viaje de negocios. Guillermo recibió dos disparos en pecho y cráneo, muriendo al instante. La policía de la localidad colombiana de Apartadós, el escenario de los hechos, cree que es el trabajo de un profesional y que con toda seguridad el infortunado muchacho se había visto mezclado con un cártel local y blah blah blah...—se interrumpió— aquí no dice cuándo.
—Sí— le indicó David, —ahí debajo lo pone. Fue hace tres noches.
—Ah, sí. Cierto— permaneció callada unos segundos. —También da a entender que la familia no se traga que su hijo tuviera nada que ver con el mundo de la droga. Juran y perjuran que era informático free-lance. ¿Crees que es nuestro hombre?
—¿No te parece demasiada casualidad?— la interrogó David.
—No sé. Tenemos que averiguarlo.
—Lo investigaré, pero te aseguro que no habrá muchos Guillermo Sprenger que tengan que ver con el mundo de la informática.


sábado, 3 de febrero de 2018

Contratiempo (LV - VII)

Querido lector, hasta ahora me he resistido a poner palabras previas en mis textos. Pero aquí no puede ser de otra manera, pues siempre hay despistados que no captan algún detalle importante. No estoy diciendo que sea usted. Claro que no. En la entrega anterior de Llama verde (LV VI), se mencionaron los nombres de Sentencia y GumPeR. Si ya había leído algunos de los relatos de la serie "el hombre sin nombre" de este mismo blog, seguramente habrá comprendido que Morgoth no es otro que el hombre sin nombre y que todo esto de la llama verde no es más que su vuelta a escena. Lo he hecho disimuladamente, pero entiendo que no he podido engañar de ninguna manera a los lectores veteranos de este blog. En este relato se menciona directamente el hombre sin nombre por lo que ya no debe quedar ninguna duda. Vayamos pues al texto.
-----------------------------------------------------------------------------------------
 
La línea musical del estudio de GumPeR chirriaba con la apertura de Dragones y mazmorras interpretada por el grupo Parchís.



«Cha-tan-ta-cha--cha-ta-ta-ta-chan....

Llegamos a un mundo fantásticoooooOOo

lleno de seres extrañoooOOss...»



El hacker a sueldo del hombre sin nombre disfrutaba de su canción favorita del momento mientras intentaba compilar el LV0, nombre que le había asignado a la versión original de L0pthR del malware. Fantaseaba, con algo de resquemor, que él lo hubiera hecho mucho mejor si su jefe hubiera confiado en él. De esta manera no le daba mayor mérito a L0pthR que el de haber escrito un primer borrador chapucero de lo que al final sería la obra cumbre de GumPeR.



«... y el amo del calabozo

nos dio poderes a todooooOOOos...»



Podía eliminar todo rastro del icono de la llama, pero comprendió desde el principio (en eso es digno de alabanza) que para hacerlo tendría que modificar los fuentes, recompilarlo y básicamente empezar desde cero todo el plan del hombre sin nombre. Se le había ocurrido una forma de retrovirus capaz de sustituir el LV0 por su propia versión, que sería el LV1.



«... tú el bárbaro, tú el arquero,

acróbata, magos y yo el caballeroOo...»



Flipaba con la música. En su mente, cosa extraña en él, rápidamente se convenció de que no tenía ni idea de cómo llevar a la práctica su idea colosal del retrovirus. Por lo que la descartó y llegó a la conclusión de que empezar de cero sería la mejor y única alternativa. Claro que eso nunca se atrevería a confesárselo al hombre sin nombre. Pero un hombre tiene que hacer lo que tiene que hacer.



«...Dragones y mazmorraaaAAs

un mundo infernaaaaAl...»



Su orgullo estuvo a punto de jugarle una mala pasada cuando, persuadido de que era la única manera de hacerlo, estuvo a punto de pedirle a la consola remota del LV0 que iniciara su autodestrucción. Esta acción hubiera iniciado una reacción en cadena devolviendo cada máquina afectada por el virus a su estado original antes de la infección. Lo pensó mejor y dejó ese asunto para cuando hubiera terminado con el LV1 y estuviese listo para enviarlo al mundo. En el fuero interno de GumPeR, reconocía que ese día podía estar aún muy lejano.



La música seguía su curso.

«... se oculta entre las sombras

la fuerza del mal.

chan-ta-ta-chan....»



De pronto, en la consola pasó algo anormal. El “make config” se había detenido y él no entendía el porqué. Dejó de prestar atención a la música mientras leía detenidamente la salida del comando, que decía lo siguiente: «El usuario no ha especificado el punto de montaje de la llave maestra. Por favor, edite el archivo config e indíquelo en la variable KEYS_MOUNT_POINT.» A GumPeR aquello le empezó a oler mal. No obstante, intentó una argucia aun sabiendo que no iba a funcionar. De alguna forma había que confirmar lo que creía haber descubierto. Y cuanto antes mejor. Tomó una llave USB vacía, la insertó y tecleó el comando:



«lsblk»



Entre los resultados que arrojaba su comando, vio este:


sdd 8:48 1 3,8G 0 disk
├─sdd1 8:49 1 1,8G 0 part /mnt/TOSHIBA
└─sdd2 8:50 1 2,3M 0 part



Editó el archivo «config» y tras localizar la línea donde ponía «KEYS_MOUNT_POINT=», la completó con el punto de montaje «/mnt/TOSHIBA». Estaba listo para probar suerte.



«make config»



Esperó pacientemente a que el programa «make» hiciera su trabajo, que consistía en preparar el código para su compilación decidiendo qué módulos se iban a incluir y cuales no, entre otras cosas. Contuvo la respiración mientras su mente zascandileaba entre improbables glorias futuras. Pero la consola arrojó nuevamente un error. Solo que esta vez era distinto.



«El punto de montaje especificado en KEYS_MOUNT_POINT no contiene las claves maestras. Make abortado.»



Lo peor vino después, cuando tras otra pequeña pausa apareció un mensaje final.


«Al cabrón que esté leyendo esto.

Buen intento. Te reto a que compiles mi trabajo sin mis códigos maestros. Aunque me temo que sin ellos no hay gran cosa que compilar. Descubrirás que lo más importante falta y lo demás no funcionará nunca sin ello.

Buena suerte.

Firmado L0pthR»



GumPeR palideció frente la aciaga confirmación de sus sospechas. Entonces le sobrevino una epifanía de certidumbres infelices. Las gónadas se le pusieron por corbata ante la mera idea de tener que comunicar la mala noticia al hombre sin nombre. Maldijo a L0pthR y a todos sus antepasados con un gemido truncado y preñado de derrota.



«Dragones y mazmooOoooras...» Seguía la música que tenía puesta en bucle continuo, hasta que con un manotazo la quitó iracundo. Pero esa sensación le duró poco. Porque enseguida le vino un mareo y tuvo un fuerte movimiento intestinal que lo obligo a permanecer en el retrete por un buen rato. Luego, intentando recobrar la compostura recurrió al bar y se tomó un par de lingotazos de fernet con Coca-Cola. El fernet es un licor italiano para todos nauseabundo y más parecido a jarabe de la tos amargo que a una bebida espirituosa. Aún así, incomprensiblemente, el fernet se había hecho pupular en la Argentina del siglo XIX. Y él lo disfrutaba quizá demasiado a menudo. Le gustaba decir que el fernet para él era lo que el vodka para +ORC —el viejo cracker rojo—, su método Zen.



Un poco más rehecho descolgó el auricular del teléfono y marcó el número que más detestaba.

viernes, 2 de febrero de 2018

La cita era en Apartadó (LV - VI)

Una mañana L0pthR disfrutaba de una cerveza en la terracita del bar restaurante Kiwi que estaba en la esquina opuesta del Hotel Embera, donde se alojaba temporalmente. Llevaba mucho tiempo planeando su marcha y por fin lo había hecho. Le llenaba de orgullo la forma tan inteligente en la que lo había realizado todo. Había viajado sin destino aparente, de ciudad en ciudad, sin reservas y sin tener nada prefijado. Cuando llegaba a un lugar miraba los trenes y aviones y decidía el tiempo que pasaría en él. Evidentemente, su lugar de destino lo tenía elegido hace tiempo. Las condiciones que debía tener eran dos: que fuera un sitio remoto donde nadie le conociera y que estuviera alejado de las ciudades principales. Lo demás, quizá inconscientemente, no le importaba. Su distraída ruta recorrió tres continentes, para terminar en Apartadó, Nueva Antioquía, Colombia. La ciudad, que se desarrollaba a lo largo del río Apartado, tenía más de cien mil habitantes aunque sus calles se asemejaban más bien a las de un pueblo.

Sentado en su mesa, contemplaba a los transeúntes ocupados en sus insignificantes vidas. A su espalda, a poca distancia se veían los frondosos árboles que señalaban la presencia del río, de un verde profundo y fresco. El hotelito, de cuatro pisos, tenía sólo doce habitaciones. Casi todas ellas vacías. Se sonrió por la manera en la que se la había jugado a Morgoth. Éste había insinuado que si L0pthR no podía desembarazarse de la llama verde, quizás otros pudieran. El colmo fue cuando tuvo que hablar en aquel chat absurdo con el que se hace llamar GumPeR. L0pthR sonrió y pensó para sus adentros «vaya individuo el GumPeR». Había fingido cooperar con él. De todas formas, Morgoth tenía copia del malware. Y después había huido rápidamente sin despedirse de nadie. Lo que no sabía Morgoth era que ni GumPeR ni nadie podrían modificar su trabajo sin sus códigos maestros. Rió en voz alta de forma incomprensible para los viandantes. «Ilusos» pensó. «Nadie va a quitar la llama verde de mi bebé. Ni Morgoth ni el rey brujo del mar, ni por supuesto y por encima de todo: GumPeR». El poco tiempo que había hablado con él, sin saber por qué, había sido suficiente para odiarlo. Si tanto confiaba el jefe en GumPeR... ¿por qué no le había encargado el trabajo a él en lugar de incurrir en incontables molestias para dárselo a L0pthR? Todo el asunto le sacaba de quicio. Huir era la mejor solución.

Esos pensamientos le mantuvieron distraído hasta que se percató de lo tarde que era. Llamó al camarero, pagó y entró al restaurante a tomar la que sería su última comida.

Despertó de su siesta a las seis, empapado en sudor. Alguien le había contado al llegar que en la región hay un ochenta por ciento de humedad todo el año. Daba la impresión de estar sudado todo el día. Odiaba sentirse sucio. Después de ducharse, ya vestido para la cena, salió al balcón a fumar un cigarrillo. Fuera había oscurecido. Apoyado en la barandilla acabó su pitillo y encendió otro. El mechero insistía en no prender, así que recurrió a las cerillas que le habían proporcionado en el Kiwi.

Desde el tejado de la pizzería de enfrente, de la franquicia Mastropiero, la luz convulsa de la cerilla iluminó un momento la cara de L0pthR. Sentencia sonrió desde su posición, agazapado sobre la cubierta de amianto del tejado. Apuntó a la luz con su FiveseveN y dejó que L0pthR diera algunas caladas más. Contuvo la respiración y apretó el gatillo dos veces. El silenciador dejó los dos tiros en dos chasquidos. Dos balas procedentes de cartuchos SS190 de 5,7x28mm, cruzaron la calle a una velocidad de 650 metros por segundo alcanzando al hacker en la cabeza y en el pecho. Sin pérdida de tiempo, Sentencia recogió los casquillos y saltó a la calle lateral. Corrió hacia el río que estaba apenas a 30 metros. Vomitó en las aguas negras y pronto no quedó de él mas que el eco del motor fuera borda de su bote.

L0pthR oyó el ladrar triste de un perro lejano y expiró.