domingo, diciembre 17, 2017

El cuento de Serpentina y los quesos olorosos

Desde el verano he ido sacando ratitos en viajes, momentos de relax, convalecencias, etcétera, para dejar por escrito las historias de mi boca que le cuento a mi hacker & mi survivor. Ya os conté que todo comenzó con la creación del Dragón Matías, y os he dejado la aventura de El Gigante de los Juguetes y El cuento de la Hormiga Valiente. Hoy, aprovechando la ratos de ocio, os he terminado de escribir una historia que he usado mucho. El cuento de  Serpentina y los quesos olorosos

Figura 1: El cuento de Serpentina y los quesos olorosos

La pobre Serpentina no es más que un calcetín viejo que me pongo en la mano y que me ha ayudado muchas veces a meter en agua a mi hacker & mi survivor. Sisea y que se come los pies de las niñas sucias cuando hay que lavarse y no quieren ir a la bañera. ¿Por qué? Pues porque Serpentina adora el queso. Espero que os guste la historia como para contársela a vuestros príncipes y princesas.

Saludos Malignos!

El cuento de Serpentina y los quesos olorosos

Era casi la hora de la cena cuando entró el Rey Papá en la Habitación de la Diversión y se encontró con la Princesa Chiquitina y un fuerte olor concentrado. Olía a mil ranas y sapos saltando en un charco de barro. Olía a una familia de gorrinos divirtiéndose en un lodazal. Olía como le huelen las coliflores cocidas a los niños a los que no les gustan las coliflores cocidas. Olía mal. Olía muy mal. Olía a pies cochinos. Olía a pies sucios. Muy sucios.

El Rey Papá miró al fondo de la Habitación de la Diversión y encontró lo que sospechaba su nariz. La Princesa Chiquitina había estado corriendo, saltando, jugando, ensuciándose durante todo el día. Y eso es mucho decir, que la Princesa Chiquitina corre, salta, juega y se ensucia mucho a lo largo de todo un día.

Ahora estaba allí, atrincherada al fondo, descalza con los pies encima de un cojín en la Habitación de la Diversión, mientras leía una buena montonera de cuentos que iba cogiendo y dejando tras pasar rápidamente las páginas. Los deditos de los pinreles se movían rítmicamente mientras emitían más aroma de ese que ya inundaba toda la estancia, al tiempo que pasaba hojas y hojas de cuentos. No estaba mal, para un niña que aún no sabía leer.
- “Princesa Chiquitina, es la hora del baño, que esta noche tenemos una fiesta con amigos”, dijo el Rey Papá. 
- “¡Nooooooo! ¡Mañana! ¡Hoy no quiero bañarme!”, respondió la Princesa Chiquitina. 
- “Hacemos una cosa Princesa Chiquitina, te voy a contar una historia y luego tú decides si tomas el baño hoy o mañana, ¿vale?”, dijo el Rey Papá.
La Princesa Chiquitina se quedó encantada. Se había salido con la suya. No solo no se tendría que dar el baño ahora, sino que el Rey Papá le iba a contar un cuento. No podía ser mejor. Sonrió. Se puso en pie de un brinco y se sentó al lado del Rey Papá. El aroma de sus pies negros atacó la nariz del Rey Papá con un violente golpe.
- “Un momento Chiquitina, antes de comenzar la historia déjame que me ponga algo en la nariz”, dijo el Rey Papá.
La Princesa Chiquitina se quedó sorprendida mientras el Rey Papá se ponía una pinza de tender la ropa en la nariz. Le pareció divertido. El Rey Papá tenía un aspecto muy cómico. La Princesa Chiquitina no pudo contener una carcajada. Los mofletes le jugaron una mala pasada y abrieron de par en par su boca para que se vieran las pequeñas perlitas que eran aún sus dientes de leche. El Rey Papá hizo una mueca para remarcar su aspecto de bufón con la pinza de tender la ropa y comenzó su historia.
- “Esta historia que te voy a contar Princesa Chiquitina es una aventura que le sucedió a tu hermana la Princesa Casandra un día que salió sola por el bosque enfadada por no querer tomarse un baño. Espero que te guste.”, dijo el Rey Papá, y comenzó su relato.
Era un día de verano, y la Princesa Casandra había estado jugando todo el día en la Habitación de la Diversión. Tenía aún solo 4 años y aún no tenía ni hermanas, ni primos para jugar, por lo que casi siempre jugaba con el Dragón Matías. Jugaba a correr, a saltar, a peleas en el suelo con el Dragón Matías o a las construcciones. Le encantaba jugar todo el día. Eso sí, siempre quería jugar acompañada de alguien.

Poco antes de la hora de la cena, el Dragón Matías le pidió a la Princesa Casandra que fuera a darse un baño e hizo lo que suelen hacer los niños cuando se lo están pasando de maravilla jugando. La Princesa Casandra dijo que no. El Dragón Matías con dulzura volvió a insistir. La Princesa Casandra se puso en pie, frunció el ceño y cruzó los brazos para recalcar su postura:
- “No, no y no. No me voy a bañar hoy”, dijo la joven princesa.
El Dragón Matías, con la paciencia que tienen los dragones sabios insistió una vez más para que la Princesa Casandra entrara en razón y se diera un baño calentito y agradable. Pero la Princesa Casandra se mantuvo terca y cabezota. Frunció el ceño otra vez más, como acostumbraba a hacer para dejar claro que estaba molesta con lo que le decían, y se reafirmó en su respuesta. Dijo otra vez que no y esta vez salió corriendo.

Salió corriendo de la Habitación de la Diversiónn. Bajó corriendo las escaleras. Salió corriendo del Castillo del Rey Papá. Cruzó corriendo el río por el puente. Y se introdujo corriendo en el bosque. Corrió y corrió hasta que se cansó. Cuando ya no podía más, descansó y tomó resuello. En todo momento muy enfadada porque el Dragón Matías quería que se diera un baño. Pero además de estar muy enfadada se dio cuenta en ese momento de que estaba en algún lugar lejos. Un lugar que no conocía. Es decir, sabía que estaba enfadada, pero no sabía dónde estaba.

Al cabo de un rato de enfado, la Princesa Casandra se dio cuenta de que en el bosque había comenzado a anochecer. Y se empezó a asustar. Seguía decidida a no darse ese baño, pero volver al calorcito y refugio del Castillo del Rey Papá ya le parecía una buena idea. No se iba a bañar porque ella lo había decidido. Y se lo diría al Dragón Matías todas las veces que fuera necesario. Y con las mismas empezó a desandar su camino a ver si era capaz de regresar sin perderse.

A mitad del mismo comenzó a escuchar un ruido muy curioso. Era como si alguien dijera “Sí” muchas veces seguidas, muy rápidamente, pero que no acaba de decir “Sí”. Algo como “Ssisisissisisisissss”. ¿Qué es ese sonido? ¿De dónde proviene?, pensaba la Princesa Casandra mientras aminoraba la velocidad de sus pasos.

De repente, en un pequeño claro, una enorme serpiente negra con gafas de sol estaba delante de la Princesa Casandra. Era gigante. Muy gigante. Gigantísima. Y llevaba gafas de sol a pesar de que era casi de noche. Y movía la nariz como queriendo localizar la fuente de algún aroma en el bosque. La Princesa Casandra se asustó. Se asustó y dio un pequeño grito. La serpiente escuchó el chillido.
- “Ssssisisisiss, ¿Quién anda por ahí?, dijo la enorme serpiente. 
- “…. Soy yo, la Princesa Casandra…”, dijo tímidamente la Princesa Casandra. 
- “Ssssisisisiss, ¿La Princesa Casandra? ¿La hija del Rey Papá? ¿La que es amiga del Dragón Matías?”, volvió a decir la enorme serpiente. 
- “… Sí, esa misma soy yo. ¿Tú quién eres?”, dijo la Princesa Casandra con mucho miedo. 
- “Ssssisisisiss Yo soy Serpentina, y estoy siguiendo el rastro de unos quesos sabrosos que me quiero comer... Ssssisisisiss”, dijo Serpentina. 
- “¿Unos quesos? ¿Te gusta comer queso?”, preguntó extrañada la Princesa Casandra. 
- “Me encantan. Sobre todo me gustan los quesos que más fuerte huelen. Los quesos de Roquefort son mis favoritos. También me gusta el queso de Camembert y el Parmesano. Mmmmm. Solo pensar en ellos y ya estoy salivando. .. Ssssisisisiss. Además como soy una serpiente mayor y no veo bien me es fácil seguir su rastro con mi nariz”, dijo Serpentina. 
- “…Pe… Pe… Pero… aquí no hay ningún queso”, dijo la Princesa Casandra. 
- “¿Cómo que no? ¡No mientas a la vieja Serpentina….. Ssssisisisiss!. Puedo olerlos claramente desde aquí. Los llevas ahí. Un Roquefort y un Camembert por lo menos… .. Ssssisisisiss. Y me los voy a comer”, dijo Serpertina.
La Princesa Casandra estaba confundida. La enorme Serpentina se acercaba a ella con la nariz apuntando a sus pies, pero ella no tenía ningún queso. Aún así, Serpertina salivaba y abría la boca mientras decía .. Ssssisisisiss… tenía en mente comerse algún queso y estaba decidida a comerse los pies de la niña, que tenían el olor que buscaba la gran Serpentina.

En un momento la Princesa Casandra se asustó de verdad, Serpentina abrió su enorme boca y estaba dispuesta a comerse los pies de la joven niña. Pero en ese instante, el enorme Dragón Matías llegó volando, cogió a la Princesa Casandra por las axilas usando sus enormes garras para elevarla justo antes de que Serpentina acertase a comerle los pies a la niña.  La Princesa Casandra estaba realmente asustada. El Dragón Matías descendió unos metros atrás y dejó a la Princesa Casandra sobre un claro del bosque.
- “¡Dragón Matías! Gracias por ayudarme, Serpentina me quería comer los pies, es una serpiente come-niñas”, dijo la Princesa Casandra. 
- “No, Princesa Casandra. Serpentina no es una serpiente come-niñas. Es una serpiente buena, muy mayor y que no ve bien. La pobre solo come quesos, pero como tienes los pies tan sucios, los ha confundido con lo que más le gusta. Un buen Roquefort y un buen Camembert, por eso ha querido comerse tus pies”, contestó el Dragón Matías. 
- “Entonces… ¿no es mala?”, preguntó la niña. 
- “No, cariño, basta con que no la confundas y lleves los pies limpios”, digo el enorme Dragón Matías.
Aprovechando que el río estaba cerca, la Princesa Casandra se acercó a la orilla para meter sus pies en agua. Estaba muy fría pero el Dragón Matías, echando un poco de fuego de su interior, se la puso templadita. La Princesa Casandra se dio con agua en los piececitos, los frotó con hierbas olorosas y los secó al calor del aliento del Dragón Matías. Después de eso, los pies de la Princesa Casandra olían de maravilla. Olían a bosque. Olían a flores. Olían a agua clara.

Una vez el olor a queso había desaparecido de los pies de la joven Princesa Cassandra, el Dragón Matías y ella regresaron por el camino para volver a encontrarse con Serpentina, que seguía diciendo:
- “.. Ssssisisisiss… ¿dónde estarán ese rico Camembert y Roquefort que había por aquí. ¿Se los habrá comido ya la niña?”, al tiempo que movía la nariz en círculos.
- “Hola Serpertina, los quesos que buscas ya están en el Castillo del Rey Papá. Han sido llevados para la cena de esta noche, y si gustas, estás invitada a disfrutar de un banquete con la mejor selección de Roquefort y Camembert del Castillo, ¿verdad Princesa Casandra?”, digo el Dragón Matías. 
- “Dragón Matías, Princesa Casandra, ¿invitaréis a esta vieja serpiente a un banquete de quesos al Castillo del Rey Papá?”, dijo la vieja serpiente. 
- “Claro que sí”, dijo la Princesa Casandra aliviada de no ser ya objetivo de la boca de la gigante serpiente. 
- “Pues acepto encantada, que esta vieja serpiente se muere de hambre”, dijo Serpentina.
Y así fue como esa noche la Princesa Casandra aprendió que era mejor estar limpia y tener los pies bien-olientes para no confundir a la vieja Serpentina con el aroma de sus pies sucios. Cenaron todos contentos y felices. Desde entonces, la Princesa Casandra dejó de quejarse por las noches a la hora del baño.
- “¿Te ha gustado el cuento, Princesa Chiquitina?”, dijo el Rey Papá. 
- “Mucho, quiero otro”, dijo la joven niña. 
- “Pues no puede ser, cariño, porque hoy tenemos una cena muy especial con invitados y vamos a hacer una fiesta, como te dije al principio”, contestó el Rey Papá. 
- “¿Una fiesta? ¿Y quienes son los invitados?”, preguntó feliz la Princesa Chiquitina. 
- “Pues viene el Dragón Matías, la Princesa Casandra, el Gigante de los Juguetes y una invitada especial: Serpentina, que tiene muchas ganas de comer más de los quesos del Castillo del Rey Papá”, respondió.
La Princesa Chiquitina se lo quedó mirando fijamente. La pinza de tender en la nariz del Rey Papá ya no le resultaba tan cómica. Al contrario, le recordaba que sus pies tenían un olor que podría llevar a confusión a la gigante serpiente.
- “¿Serpentina está aquí?”, dijo la joven niña. 
- “Sí, ¿no la oyes venir? Escucha con atención...”, dijo el Rey Papá.
A lo lejos, la Princesa Chiquitina pudo escuchar como si alguien dijera “” muchas veces seguidas, muy rápidamente, pero que no acaba de decir “”. Algo como “Ssisisissisisisissss”.  En ese precios instante, la Princesa Chiquitina saltó del regazo del cojín donde estaba y salió corriendo de la Habitación de la Diversión rumbo a su habitación.
- “Me voy al baño Rey Papá, ahora nos vemos en la cena, pero que no venga todavía Serpentina por aquí, por favor, por favor, por favor, por favor....”, dijo la Princesa Chiquitina.
El Rey Papá se quitó la pinza de la nariz, y sonrió. Iban a tener una cena muy divertida con tantos amigos.

Fin.

jueves, diciembre 14, 2017

Gracias 2017. Por todo lo que me has dado.

Hoy doy por concluido el año 2017. Sí, sé que quedan días, pero para mí ha tocado ya la campana de las vacaciones, y quiero tomármelas como merecen, así que a partir de hoy publicaré o no en éste, nuestro blog, lo que viene siendo "at random". No hay muchas actividades que queden por delante que no os haya dejado en el calendario, y yo voy a necesitar un tiempo de descanso para saborear lo bueno de este año y preparar lo que viene por delante.

Figura 1: Gracias 2017. Por todo lo que me has dado.

Este año 2017 ha sido un año que me ha dado mucho. Mucho más de lo que pensaba al inicio. Mucho más de lo que esperaba a mediados. Ha sido un año en el que mi vida personal y mi vida profesional han sido de lo más satisfactorias, y donde he tenido una infinidad de momentos únicos, lejos de lo que pensaba allá por el lejano mes de Enero de 2017 donde mi cabeza aventuraba un año diferente.


Este fue el año en el que lanzamos el prototipo de AURA en el Mobile World Congress 2017, en el que ha sido, sin duda alguna, el evento más complejo de todos en los que he estado en los 20 años anteriores. Fue un hito para nosotros, ya que llegamos preparados con todo pare ese evento y nos pudimos guardar cosas para más adelante.  Hicimos la campaña Meet AURA en Madrid, y lanzamos en producción los primeros países de los seis que van a estar para el próximo Mobile World Congress. Un diez para el equipo de AURA.

A post shared by Chema Alonso (@chemaalonso) on

En ElevenPaths hemos hecho tantas cosas que cuesta resumirlas. Desde pequeños lanzamientos como Latch Cloud TOTP, hasta investigaciones que cambian el rumbo de grandes compañías, como el DirtyTooth Hack de este año, pasando por las charlas en BlackHat y Defcon de nuestras hackers (Yaiza, Sheila), o los trabajos de UAC-A-Mola. Pero también análisis como el de WannaCry hecho a partir de los metadatos, o el de los discos duros de Bin Laden.

A post shared by Chema Alonso (@chemaalonso) on

Más infinidad de trabajos que culminaron en patentes, proyectos o publicaciones. El Security Innovation Day 2017, completo, fue una buena muestra de todo lo que se ha hecho. Nuevos productos, adquisiciones de compañías, lanzamientos de nuevos SOC en países. Incrementos de resultados por encima del 20%. Un proyecto consolidado que va a hacer 5 años el próximo mes de Abril de 2018.


En la parte de LUCA es difícil estar más satisfecho. La unidad ha cumplido un año, y el BigData Innovation Day 2017 ha sido, probablemente, de los mejores del año para mí. Allí pudimos mostrar muchas de las tecnologías que se han construido, junto con mucho trabajo realizado en proyectos espectaculares. Me quedo con Pigram en la recta final del año y con el trabajo con el equipo Movistar Team de ciclismo utilizando técnicas de Big Data.

A post shared by Chema Alonso (@chemaalonso) on

En cuanto a 0xWord, este ha sido un año en el que hemos lanzamos 7 nuevos títulos. Comenzamos con el de BlockChain & BitCoin, pero detrás vinieron los libros de macOS Hacking, de Crime Investigation, de Hacking con Drones, la novela de "A hack for the destiny" y los últimos libros de Client-Side Attacks y Hacking Windows. Un año en el que hemos trabajado muchísimo para mantener la editorial a flote, algo que cada vez es más complicado de hacer.

A post shared by Chema Alonso (@chemaalonso) on

A título personal, ha sido un año con muchos momentos emotivos. De todos ellos, el viaje de 7 semanas por el mundo que fue un antes y un después para mí, la comida de los 50 chuletones de Grey y la charla con mi Hacker en el #reencuentro, han sido el top 3 de este año. Bueno, la verdad es que os hago trampa, porque el viaje de las 7 semanas tuvo infinidad de momentos, y con los amigos he tenido oportunidad de disfrutar muchas comidas.

A post shared by Chema Alonso (@chemaalonso) on

Este año, además, tuve el honor de recibir la Cruz al Mérito de la Guardia Civil con distintivo blanco, por muchas cosas a lo largo de muchos años, con amigos. Un honor que me llevo en el corazón para siempre.



Y también otros hitos que me hicieron feliz, como ser elegido como uno de los 100 españoles más influyentes del 2017 por la revista ABC, por aparecer como uno de los referentes de los jóvenes de este país, o aparecer en otras listas de influencia en seguridad o en programación. Pequeños honores, como aparecer en los libros de texto, que animan a seguir con el trabajo. También me han hecho dibujos como este del Profesor Alonso del gran Cels Piñol, muñecos y peluchines para demostrarme cariño.


Además de todo eso, he tenido tiempo para montar en monopatín y caerme, en mi hoverboard, en mis patines, hacer snowboard en la nieve. Tiempo para montar mucho en bicicleta, para aprender a correr y hacerme ya varios 10.000, para hacer algo de pesas. Para dibujar. Para escuchar música. Escuchar mucha música. Para ver series de superhéroes. Ir al cine. Jugar a los bolos. Navegar en pedaló. dar charlas por medio mundo. Para estar con mi hacker y mi survivor. Para estar contigo a ratitos. Para aprender a mirar al futuro sin pensar en el pasado en demasía. Para decirle a mi gente que la quiero. Para darle abrazos a mis seres queridos. También un año de reencuentos deseados. Y de conocer a gente maravillosa. Cariñosa. Espectacular. Genial.

A post shared by Chema Alonso (@chemaalonso) on

También ha habido cosas regulares, pero son las menos. Se ha ido gente de mi vida. Pérdidas. Ha habido momentos que enjuagar con lágrimas. Fracasos. Y algunas decepciones personales. Algunas con gente cercana. Nada extraño. Lo que viene siendo vivir. Ya sabéis que mi opinión es que "Vivir consiste en que te pasen cosas buenas y malas, hasta que ya no te pasa nada". Así que, un brindis por el amargor de las cosas malas, que en perspectiva pueden llegar a dejar un buen bouquet. Y a por el siguiente momento.


Con todo esto, con todo lo que me ha pasado, he hecho, he hecho que me pasara, sea bueno, malo o regular, solo puedo darle las Gracias a 2017. Ha sido, probablemente, el mejor año en los últimos cuatro, y la verdad que, brindo por que el año que viene fuera como este. Pero... ya lo iremos viendo juntos, que espero volver a escribir en el blog con regularidad. Os dejo este vídeo de despedida del año.


"GoodBye 2017! Nos vemos en 2018

Por último, este ha sido el año de Linkin Park para mí en términos de música, así que para dejar una banda sonara he seleccionado la versión Live de Sharp Edges, que me encanta.

f
"We learn what doesn´t kill us makes us stronger

Saludos Malignos!

miércoles, diciembre 13, 2017

Dirtytooth for Rasperry Pi v2: Soporte Raspbian Stretch para versiones iOS inferiores a 11.2

El pasado 17 de agosto salió una nueva versión de Raspbian llamada Raspbian Stretch. Una nueva versión del sistema operativo más utilizado en Raspberry Pi y que llegó para sustituir a Raspbian Jessie después de dos años sin tener una actualización mayor. Dentro de las novedades hay una que hacía que nuestro DirtyTooth for Rasperry Pi - que habíamos sacado el 10 de Agosto - no funcionara correctamente en esta nueva versión. Lo que sucedía es que los controladores de Bluetooth habían sido modificados, especialmente los relacionados con el audio. Había que buscar una solución y aprovechar las nuevas características de Bluetooth que ofrece Raspbian Stretch.

Figura 1: Dirtytooth for Rasperry Pi v2: Soporte Raspbian Stretch para versiones iOS inferiores a 11.2

La versión anterior utilizaba PulseAudio junto a un módulo para habilitar la conexión de audio Bluetooth, sin embargo la comunicación con ALSA (Advanced Linux Sound Architecture) en ocasiones provocaba cortes en la transmisión de la señal y ralentizaciones en el buffer de sonido.

Novedades en Dirtytooth for Rasperry Pi v2

Ahora es posible utilizar ALSA junto al proyecto bluez-alsa para realizar la conexión de audio Bluetooth. Este proyecto hace una integración directa entre la pila de Bluetooth de Linux (bluez) y el software de sonido por defecto en Linux, ALSA. El uso de este paquete mejora el streaming de audio Bluetooth con respecto a PulseAudio y además permite controlar el volumen desde el propio iPhone.

Figura 2: DirtyTooth for Raspberry Pi v2

Otro problema que se soluciona es esta versión es la captura de los datos. En la versión anterior se recogían todos los datos en una única tarjeta VCARD. Normalmente la captura de los datos se hace rápidamente, sin embargo, se podían experimentar problemas con las agendas que tuvieran muchas fotos asociadas a contactos. En estos casos se podía llegar incluso a interrumpir la conexión y en ese caso no se capturaba ningún dato. Para solucionar este error, ahora se capturan los contactos uno a uno, por lo que si ocurre alguna interrupción en la transmisión es posible visualizar la parte de los datos capturados.

Figura 3: Extracción de fotos de las VCARD de iOS < 11.2

Aprovechando el fallo de las fotos, nos dimos cuenta que podíamos conseguir también esta información. La información aparece en la VCARD bajo la etiqueta PHOTO y está codificada en BASE64 que habrá que convertir a JPEG para ver el resultado. En el siguiente vídeo tenéis un ejemplo de cómo funciona esta nueva versión.


Figura 4: DirtyTooth for Raspberry v2

Y como última mejora menor, es posible cambiar el nombre al altavoz a través de la linea de comandos utilizando:
sudo dirtytooth -n “My dirty speaker”
Después de la presentación del nuevo DirtyTooth en BlackHat Europa se pone a disposición de todos los que quieran probar este truco con los iPhone todavía compatibles, ya que se recuerda que Apple ha arreglado esto en la última versión de iOS, la versión 11.2, dejando deshabilitado por defecto la opción de sincronizar contactos. Aún así, sigue siendo un truco a sumar a la lista de todas las técnicas de Hacking iOS: iPhone & iPad.


Figura 5: Opción de sincronizar contactos por defecto deshabilitada en iOS 11.2

Esto, es algo que ya esperábamos desde el día que se hizo pública la técnica de DirtyTooth Hack, y Chema Alonso lo dijo el mismo mes que lanzamos el proyecto, como se puede ver en este vídeo.


Figura 6: Sobre lo que haría Apple con DirtyTooth

Esta es la lista de completa de novedades:
- Funcionamiento con Raspbian Stretch
- Mejora del streaming de audio bluetooth
- Control de volumen a través del iPhone
- Cambio de nombre del altavoz desde linea de comandos
- Posibilidad de obtener las fotos asociadas a los contactos
- Recogida de contactos uno a uno para evitar perder los datos si se interrumpe la conexión
Al igual que con la versión anterior, es posible editar el fichero .bashrc para hacer que el daemon de DirtyTooth arranque automáticamente al iniciar la terminal, muy práctico si se pone el login automático y en modo terminal desde la utilidad raspi-config.
DIRTY=$(ps cax | grep -v grep | grep dirtyagent)  
if [ "$DIRTY" == "" ] ; then 
sudo dirtytooth --start 
fi
Enjoy it!

Autor: Álvaro Núñez - Romero (@toolsprods), Security Researcher en ElevenPaths

martes, diciembre 12, 2017

Destripando PortProxy en Windows y en Metasploit

Hace unas semanas hablamos de diferentes técnicas para pivotar y hacer port-forwarding como eran: túneles SSH y port-fowarding o la utilización de Metasploit para simplificar el proceso del port-forwarding en el contexto de un proyecto de Ethical Hacking. Hoy quería hablaros de PortProxy o cómo hacer Port-Forwarding en equipos Windows. Un investigador español, y amigo personal, Borja Merino (@BorjaMerino), desarrolló en su día un módulo de post-explotación en Metasploit para llevar a cabo esta técnica de manera sencilla en equipos Windows.

Figura 1: Destripando PortProxy en Windows y en Metasploit

Antes de destripar el módulo de Borja y comentarlo, vamos a explicar brevemente el concepto y cómo podemos hacerlo manualmente. Desde Windows XP, en adelante, existe una característica en el sistema que permite crear ports forwarding. Es cierto que en Windows XP pueden existir problemas a la hora de configurarlo, por ejemplo, si no existe una configuración IPv6.

El comando que se utiliza para poder crear una regla de port-forwarding en Windows es el comando netsh. La sintaxis del comando es sencilla:
netsh interface portproxy add [tipo de forwarding] listenaddress=[dirección local] listenport=[puerto local a la escucha] connectaddress=[dirección destino del forward] connectport=[puerto destino del forward]
Ahora, vamos a explica, brevemente, que es cada parámetro de la sintaxis anterior:
• Listenaddress. Aquí indicaremos la dirección IP local dónde recibiremos la conexión. Generalmente, se podrá utilizar la dirección 0.0.0.0 para indicar que nos es indiferente la interfaz de red de la máquina por la que llegue la conexión.

• Listenport. Puerto local a la escucha.

• Connectaddress. Es una dirección IP o un nombre DNS al cual se realizará el forward desde esta máquina Windows.

• Connectport. Puerto TCP al que se realizará la conexión tras hacer el forward.
Ejemplificando el port-forwarding manual en Windows

Teniendo privilegios de administrador y utilizando la sintaxis comentada anteriormente, se puede configurar el port-forwarding en la máquina Windows. Como se puede ver en la imagen, se configura en el puerto 3333 de la máquina local una regla para hacer forwarding al puerto 3389 de la máquina con dirección IP 10.0.0.4. Antes de seguir vamos a exponer el escenario de la siguiente prueba:
• Máquina Kali Linux desde la que llevamos a cabo un posible ataque. La máquina Kali Linux solo tiene direccionamiento 192.168.0.X. 
• Máquina Windows 7 que será la máquina dónde se configure el PortProxy. La dirección IP de la máquina Windows 7 tiene direccionamiento 192.168.0.X y 10.0.0.X.

• Máquina Windows con direccionamiento 10.0.0.X. En este caso la dirección IP es 10.0.0.4.
Como se puede ver en la imagen se añade una regla v4tov4, es decir, el tráfico IP es v4 y el reenvío de tráfico sigue siendo v4. Además, se configura como listenaddress la 0.0.0.0, indicando que es indiferente la interfaz de red que reciba el tráfico en la máquina Windows 7, que se hará caso a lo que llegue al puerto configurado en listenport. Por último, indicar que connectaddress es la dirección IP de la máquina Windows con 10.0.0.4 y el connectport es 3389.

Figura 2: Configuración comando netsh

Resumiendo, cuando desde la máquina Windows 7 se haga una conexión a la dirección IP, por ejemplo, 127.0.0.1, aunque también valdría, por ejemplo, la 10.0.0.2 o cualquier interfaz de red configurada en dicha máquina, y al puerto 3333 se hará el forward a la máquina 10.0.0.4 al puerto 3389, tal y como se puede ver en la imagen siguiente.

Figura 3: Redirección al puerto RDP de la máquina

Lógicamente, hay que tener en cuenta las reglas del firewall, ya que alguna puede entorpecernos el trabajo. Para ello, se puede trabajar con netsh advfirewall y la posibilidad de crear reglas que permitan el paso del forwarding. Si queremos mostrar el listado de reglas de forwarding que tenemos en Windows tenemos la posibilidad de ejecutar netsh interface portproxy show all, tal y como se puede ver en la imagen.

Figura 4: Reglas de forwarding

Si queremos eliminar una regla podemos utilizar la siguiente sintaxis:
netsh interface portproxy delete v4tov4 listenport=[puerto que hayamos configurado] listenaddress=[dirección IP configurada]
Por otro lado, si se quiere eliminar todas las reglas de forwarding configuradas podemos ejecutar:
netsh interface portproxy reset
Jugando con el módulo PortProxy de Metasploit

El investigador en seguridad Borja Merino desarrolló el módulo post/windows/manage/PortProxy. Este módulo permite simplificar el proceso manual y cuyo código se encuentra dentro del framework de Metasploit.

El módulo presenta diferentes opciones, como se pueden ver en la imagen siguiente. Utilizando register_options se amplían los atributos básicos de un módulo, en este caso se introducen las opciones LOCAL_ADDRESS, CONNECT_ADDRESS, CONNECT_PORT, LOCAL_PORT, hasta aquí todo claro y, además, se añadir las opciones IPV6_XP y TYPE.

Figura 5: Opciones del módulo de portProxy

El método run, el cual implementa la llamada run o exploit dentro del módulo, tiene un cuerpo sencillo en el que destaca lo comentado anteriormente, si no se tienen privilegios en la máquina comprometida no se podrá ejecutar el módulo. Para ello está la función “is_admin?”, la cual nos propone intentar un getsystem en caso de no poder lanzar el módulo por no tener suficientes privilegios.

Una vez revisados los privilegios, se comprueba el sistema operativo en el que se está ejecutando el módulo. En caso de ser un sistema Windows XP hay que chequear si IPV6 está habilitado, ya que en caso contrario no se podrá hacer port-forwarding. En el caso de ser otro sistema Windows posterior a XP no habrá problemas y el módulo continúa su ejecución. Por último, se llama al método enable_portproxy y, posteriormente, si éste ha ido bien, se llama a fw_enable_ports.

Figura 6: Método run de portProxy

El método enable_portproxy prepara en la función netsh_args la regla comentada anteriormente, con los parámetros que el usuario haya ido colocando y que son leídos a través de datastore[‘LOCAL_PORT’], datastore[‘LOCAL_ADDRESS’], etcétera. Como se puede ver en el código se utiliza el mixin cmd_exec para ejecutar la instrucción compuesta de netsh y se almacena la salida en la variable output.

Figura 7: Configurando netsh dentro de enable_portProxy

Si el tamaño de la salida es mayor de 2 significa que la creación de la regla en la máquina no ha ido correctamente, mientras que si no es mayor de 2 significa que PortProxy fue añadido.

Figura 8: función enable_ports

La función fw_enable_ports ejecuta las reglas, a través de la creación de la sentencia netsh y el uso del mixin cmd_exec, necesarias para que el forwarding sea válido. Esto queda automatizado y se puede entender fácilmente viendo el código que se expone a continuación.

Probando el módulo PortProxy

Una vez se dispone de una sesión en una máquina comprometida, se puede utilizar este módulo. Hay que recordar que necesitaremos tener privilegios en el sistema. Además, como se puede ver en la imagen, tenemos el atributo SESSION, el cual deberemos configurar para indicar a Metasploit por cual sesión disponible deberemos lanzar el módulo.

Figura 9: Máquina Kali Linux con Metasploit configurando PortProxy

La configuración del módulo es sencilla. Simplemente hay que ir rellenando los atributos CONNECT_ADDRESS, CONNECT_PORT, LOCAL_ADDRESS y LOCAL_PORT. No se nos puede olvidar el identificador de sesión por el que se lanzará el módulo PortProxy. Al ejecutar el método run se creará la regla en la máquina comprometida, en este caso una máquina Windows 7.

Figura 10: Ejecución de PortProxy

El forward configurado hará que cuando se haga una petición al puerto 3333, éste redirija a la máquina 10.0.0.4 y al puerto 3389, por lo que si ahora, nos situamos en la máquina con Kali Linux y ejecutamos rdesktop 192.168.0.14:3333, recordando que esa es la dirección IP de la máquina Windows 7, ésta nos hará el forward y realmente estaremos conectando con la máquina Windows XP.

Figura 11: Conexión RDP re-enviada

Para que podáis ver todo el proceso en menos de un minuto, os he preparado este pequeño vídeo que recoge cómo funciona el portforwarding con netsh en Windows que reproduzco en este artículo.

Figura 12: PoC de uso de portforwarding con netsh

Sin duda, una técnica necesaria y que también se puede aplicar de manera sencilla sobre equipos Microsoft Windows. Aunque con el comando portfwd de Meterpreter se podía hacer de manera sencilla, esta forma también ayuda por su simplicidad y capacidades aportadas. A parte de esta prueba, os dejo unas lecturas sobre este tema que tal vez os interesen:
- Tunelizar conexiones con Proxychains 
- Cómo utilizar Metasploit portForwarding 
- Cómo pivotar con túneles ssh
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root", “Pentesting con Powershell” y Hacking Windows, Microsoft MVP en Seguridad y Security Researcher en ElevenPaths

lunes, diciembre 11, 2017

¿Un Backdoor en los routers con ZeroShell?

El pasado mes de octubre, se publicada en este blog el artículo que llevaba por título “Ejecución de Código Remoto en dispositivos GNU/Linux con Zeroshell” donde se explicaba cómo ejecutar código remoto aprovechando la vulnerabilidad CVE 2009-0545 que pone de manifiesto la falta de validación de ciertos parámetros enviados por GET/POST a la aplicación del estándar criptográfico X.590 que soportan.

Figura 1: ¿Un Backdoor en los routers con ZeroShell?

Parece que una buena medida de seguridad sobre este tipo de dispositivos sería detener o no levantar los servicios HTTP y HTTPS para evitar una posible inyección de código de forma remota. Es por anterior que este artículo se mostrará cómo abrir una shell en el dispositivo con privilegios de root.

Explorando la línea de comandos de ZeroShell

En muchos dispositivos destinados a la administración de redes y defensa perimetral, como pueden ser los sistemas ZeroShell, una buena opción para reducir la superficie de exposición es permitir la administración del dispositivo únicamente bajo una interfaz de línea de comandos, a veces de manera remota bajo servicios como SSH, y otras de manera local.

Figura 2: Opciones de la línea de comandos de los dispositivos ZeroShell

Como parece, la superficie de exposición se reduce de manera considerable, pero el sistema sigue quedando expuesto mientras se pueda interactuar con él, aunque sea bajo una interfaz de línea de comandos.

Una primera aproximación es seleccionar la opción <s> Shell Prompt para ver si es posible disponer de una shell sin estar autenticado en sistema. Como es lógico, el sistema solicita la contraseña del usuario que corre en el sistema. Además, como máximo permite tres intentos sobre el password. Si son infructuosos, el sistema regresa a las opciones mostradas en la Figura 2.

Figura 3: Intentos de autenticación fallidos

Ejecución de comandos bajo root

Dado que no conocemos la contraseña de acceso al sistema, se prueban todas posibilidades que ofrece el menú de línea de comandos.

Figura 4: Opciones del router ZeroShell

Ocurre algo curioso si seleccionamos la opción Show Firewall Rules para ver cuáles son las reglas que incorpora en su iptables.


Figura 5: Reglas iptables en el firewall del router ZeroShell

Pulsando la tecla ‘H’ mientras el sistema muestra las cadenas que tiene en iptables, el sistema ofrece diferentes opciones. Una de ellas parece que permite la ejecución de comandos en una subshell. Lo único que hay que hacer es escribir el carácter “!”(ALT+1) seguido del comando que se quiera ejecutar en el sistema.

Figura 6: Opción para abrir una shell "sin privilegios administrativos"
Ejecutando el comando “uname –a”, se observa que la versión de ZeroShell que corre en el sistema es la 3.4.19.

Figura 7: Información del sistema operativo que se está utilizando

Se comprueba que el entorno donde se ejecutan los procesos generados por los comandos que recibe el sistema es el del usuario root y, por lo tanto, es muy posible visualizar archivos críticos del sistema como pueden ser /etc/passwd o /etc/shadow.

Figura 8: El usuario root no utilizado en la ejecución de comandos

Figura 9: Información de los usuarios del sistema en /etc/passwd

Entrando por la puerta de atrás

Dado que el entorno donde se ejecutan los comandos es el del usuario root, probaremos a ejecutar “/bin/sh” o “/bin/bash” para intentar obtener la shell del usuario root, cualquiera de las dos es buena.

Figura 10: Obtención de una shell /bin/bash con privilegios de root

Como se observa, es posible obtener una shell dentro del sistema con privilegios de “root” sin la necesidad de estar autenticado en él.

Consideraciones finales
• Las pruebas realizadas para obtener los resultados expuestos en el artículo, han sido realizadas bajo un entorno virtual con la versión 3.4.19 de Zeroshell, concretamente sobre la máquina virtual proporcionada en uno de los retos de las Cyberolimpiadas organizadas para Centros Educativos en el marco del Cybercamp de este año.

• No se han realizado pruebas exhaustivas en entornos de producción real donde corren este tipo de sistemas, por lo que no se puede determinar que exista realmente un backdoor en la versión
3.14.9 de ZeroShell, en versiones inferiores o posteriores, pero habría que probarlo.
Autores: Amador Aparicio de la Fuente (@amadapa) y Álvaro Gutiérrez Rebollo (@alvgut98), alumno de 1º de Administración de Sistemas Informáticos en Red.

domingo, diciembre 10, 2017

Eventos de Datos, Big Data y Privacidad esta semana: Barcelona, Valencia y Online @luca_d3 @elevenpaths

Esta es la última semana que yo voy a estar activo antes de las vacaciones de invierno - a partir de este miércoles o jueves, El lado del mal pasará a modo "out-of-office"  -, y aunque os pasé la lista de los eventos online que vamos a tener durante el mes de Diciembre, esta semana que comienza mañana lunes tiene un foco especial en Datos, Big Data, Machine Learning y Privacidad, con eventos presenciales en Valencia y Barcelona, más tres sesiones Online.

Figura 1: Eventos de Datos, Big Data y Privacidad esta semana: Barcelona, Valencia y Online

El primero de los eventos es el Data Tansparency Lab 2017 en Barcelona, que tiene una agenda de dos días para ver proyectos de investigación y reflexiones sobre la privacidad de los datos en el mundo de hoy en día. Los días 11 y 12 de Diciembre en Barcelona, así que estás aún a tiempo de reservar tu ticket.
El martes día 12 tiene lugar la primera de las sesiones online que tienen que ver con el mundo de los datos. En este caso una LUCA Talk que explica cómo utilizar la Analítica de Datos en el mundo de la educación. En concreto, con un caso propio que hemos realizado con ProFuturo. Si estás en el mundo formativo, escuelas, universidades, centros profesionales, etcétera, merece la pena que veas cómo hemos usado las técnicas de BigData para este caso.

Figura 3: LUCA Talk sobre Educación & Analítica de datos

El miércoles 13 de Diciembre, el segundo de los eventos online. Ahora de parte del equipo de ElevenPaths, donde se mostrará en un webinar cómo estamos utilizando técnicas de Machine Learning para detectar anomalías en tráfico de red, lo que permite utilizar Analítica Prescriptiva para tomar determinadas acciones ante situaciones anómalas. Una sesión que muestra código en una CodeTalk for Devs.

Figura 4: Code Talk for Devs sobre Machine Learning en tráfico de red

Ya llegados al jueves 14, tendremos la última sesión Online, en esta ocasión una edición de una ElevenPaths Talk centrada en la nueva normativa de privacidad de datos europea: El ya archi-famoso GDPR que entra en vigor el próximo Mayo de 2018.

Figura 5: La normativa GDPR

Por último, en este caso de forma presencial, nuestros compañeros de LUCA estarán en Valencia con un evento centrado en cómo transformar el negocio de las empresas por medio de Big Data. El evento será en ADEIT, en la Fundación Universidad Empresa, y en esta URL tienes la información para poder registrarte.
La agenda del evento, como podéis ver, tiene muchos ejemplos reales de proyectos que transforman negocios con las tecnologías Big Data. Referencias, para saber cómo utilizarlas en otros negocios.

Figura 7: Agenda del evento

Y esto es todo para esa semana. Bueno, todo al menos que tenga que ver con Datos, Big Data, Machine Learning y Privacidad, porque el viernes 15 da comienzo el Curso Online de Hacking con Python. Espero que hayáis tenido un buen puente de Diciembre y que vengáis con fuerza para estas dos últimas semanas a tope, antes de que las cosas empiecen a ponerse intensas con las fiestas navideñas.

Saludos Malignos!

Entrada destacada

Nuevo libro "Máxima Seguridad en Windows: Secretos Técnicos 4ª Edición" de @0xWord

Desde 0xWord se ha acelerado para tener a tiempo antes del verano la 4ª Edición del libro "Máxima Seguridad en Windows: Secretos Técn...

Entradas populares