Por supuesto, es un terminal iPhone preparado para ser utilizado como herramienta de espionaje, o hacking, en un Red Team, o en algo más serio. Y para ello el terminal tiene que estar con Jailbreak. También es un buen truco para espiar a una persona después de haberle instalado un malware que haga un jailbreak el terminal, y vigile, grabe, y espíe todas las acciones que haga éste cerca de su móvil. Un posible escenario en APTs que podría llegar a darse.
De hecho, con un terminal grabando el audio y subiendo las pulsaciones a un C&C, se podría llegar a saber hasta lo que teclee en los ordenadores cercanos, ya que las técnicas de Audio Snooping están a un nivel altísimo, y hemos visto que usando Machine Learning sobre espectrogramas de los audios de las pulsaciones (como hicimos en el artículo de "Are you takin' ta me?" en nuestro análisis de voces nosotros) llegan a conseguir ratios de acierto superiores al 90%, como hemos podido ver en el último artículo académico "A Practical Deep Learning-Based Acoustic Side Channel Attack on Keyboards" publicado el pasado 2 de Agosto de este año, hablando sobre este tema.
El truco que utilizan los investigadores, que puedes leer en detalle en su blog, no es nada más que asegurarse de que las funciones siguen estando disponibles, pero manipular el aspecto del interfaz que tiene el terminal. Y como he dicho, para poder hacer esto, se necesita tener el terminal iPhone con Jailbreak, ya sea porque el dueño quiere usarlo como herramienta espía, o porque un malware ha conseguido hacer el jailbreak y transforma el aspecto del iPhone.
Y esto me ha recordado a una historia de hace mucho tiempo, con Windows XP y los años de los Cibercafés, donde aprovechábamos los servicios no protegidos de Windows XP para conseguir acceso como System a un equipo Windows, y luego matábamos los antivirus, las herramientas de seguridad, y las reemplazábamos con un programa de cosecha propia con los iconos en la barra de tareas. De esta forma cualquiera que pasar por detrás de la pantalla mirando a ver si el equipo de control de seguridad del cibercafé estaba protegido, vería los iconos de su antivirus y su programa de control remoto del equipo.
Un truco del pasado con Windows XP y los cibercafés
Este truco era tan sencillo en aquellos momentos como abrir el administrador de tareas, ver los procesos que corrían como System, buscar la ruta en el sistema de ficheros del binario que había ejecutado, irse allí, y renombrarlo. Luego se copiaba una shell de comandos con el nombre del binario que iba a buscar e sistema en el inicio, y reiniciar el sistema operativo.
En el siguiente arranque, en lugar de encontrarse el binario que esperaba en esa ruta, se iba a encontrar con nuestra shell, que iba a ser ejecutada como System. Tan sencillo como eso. Y una vez que tenías control del equipo, ponías los iconos que querías en la barra de tareas. Nada funcionaba, pero el aspecto visual era que seguía estando el Antivirus y las herramientas de seguridad.
Figura 5: Microsoft Office 2013 era vulnerable a este bug de rutas sin entrecomillar
El artículo de hoy lo escribo por algunas razones, las cuales comentaré en breve. El punto para reflexionar es: ¿Qué es un bypass deUAC? Para muchos una técnica desprestigiada en un Ethical Hacking, para otros una vía a tener en cuenta en la obtención de privilegios o la obtención de una shell en un nivel de integridad alto de Windows. Puedo equivocarme en lo que comente en este artículo o puede que tengas otra visión, pero vamos a ir viendo y matizando ciertos aspectos que cubren a esta técnica.
Figura 1: Cuando un Bypass de UAC en Windows es un "Bug" o una "Feature"
Por supuesto, si lo que quieres es aplicar Máxima Seguridad a tu Windows, esto es algo que se aplica en primer paso. Es decir, quitar la configuración por defecto y aplicar la que exige a todos los binarios la confirmación UAC, y no permite el autoelevado. Vamos un poco más allá para entenderlo. ¿Cómo nos protegemos de los bypasses de UAC? Vamos primero a ver la GPO, para lo que buscamos:
Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options -> User Account Control: Behaviour of the elevation prompt for administrators in Admin Approval Mode
Ahí encontraremos uno de los motivos por los que los bypasses de UAC funcionan. Como se puede ver en la imagen, se pedirá consentimiento, por parte del UAC, solo a los procesos que no sean binarios de Windows. Realmente, hay un mayor detalle en esto que comentaré a continuación.
Figura 3: Política para UAC para los binarios que no son de Windows
Aparte de ser un “binario de Windows”, que esto no es más que se encuentre firmado por Microsoft, éste debe ser además un binario con una directiva en el Manifest con “Auto-Elevate” con valor "True". Es decir, le están diciendo al sistema que el binario, aparte de estar firmado por Microsoft, éste tiene una especie de “carnet especial” o “pase especial” y que no debe rendir cuentas al UAC.
Por último, otra de las comprobaciones que hace el sistema es que el binario se esté ejecutando en una ruta “privilegiada”, por ejemplo, System32. Si recordamos el bypass de UAC de Mocking Directory Trusted, gracias a un fallo de interpretación de una de las APIs internas del sistema se podía “saltar” esta protección.
Desde el punto de vista del pentesting tenemos que tener en cuenta algunas cosas también. Lo que parece más lógico, pero que a veces la gente puede no entender bien es que, para pasar a un nivel de integridad alto, debes de estar en otro nivel de integridad, inferior se entiende.
En el caso de un bypass de UAC debes partir desde un nivel de integridad medio. Por esta razón, el módulo de Metasploit, cuando se hace cualquier bypass de UAC de forma automática, nos muestra los diferentes chequeos, entre ellos el nivel de integridad actual.
Como se puede observar, una de las cosas que se chequean es el nivel de integridad. Si estuviéramos en un nivel de integridad alto y no nos hubiéramos dado cuenta, sería una cosa muy extraña, porque demostraríamos no tener el control de lo que hacemos, pues ya estaríamos “elevados”, por lo que no tendría sentido realizar esta operación. Puede que nuestro proceso no se encuentre en un nivel de integridad medio y estemos más abajo, tendremos problemas también. Debemos entender por qué estamos y debemos estar en este nivel de integridad.
Esto va relacionado con el tipo de usuario que debemos ser. Solo podemos ser un usuario que forme parte del grupo administradores, pero que no esté ejecutando el proceso como administrador. Esto es importante. Es otra cosa que a veces no queda clara.
Necesitamos que un usuario que tiene privilegios para realizar acciones como administrador, haya ejecutado un proceso y que no haya hecho uso de dichos privilegios para, una vez comprometido su proceso, podamos aprovechar este hecho y hacer el bypass de UAC. Puede ser lioso, pero es lógico. Si el usuario hubiera lanzado el proceso como administrador, el nivel de integridad ya sería alto, no medio.
Como se veía en la imagen anterior, el módulo de Metasploit comprueba si el usuario al que pertenece el proceso comprometido es o no es del grupo administradores. Si no es del grupo administradores, ¿Qué ocurre? Es sencillo, la política de comportamiento del UAC asociada es diferente. Tal y como se puede ver en la imagen, la acción por defecto para un usuario que no pertenece al grupo administradores es que el UAC pida credenciales.
Figura 7: Selección de opción de pedir credenciales
Figura 8: Configuraciones de los Modos UAC en Windows 7
¿Era más seguro? A priori, y basándonos en este artículo, sí. Pero las quejas llegaron. Los usuarios no estaban preparados para ello y se rebajaron algunas configuraciones. Esto fue en Windows 7, si no recuerdo mal, que puedo recordarlo mal.
Y un bypass de UAC entonces, ¿dónde tiene sentido?
Yo siempre digo en las clases o en los cursos/talleres que un bypass de UAC se enseña en local, pero su aplicación tiene sentido en remoto. Es decir, por motivos de divulgación y educación se puede enseñar en local todo el proceso de lo que ocurre, no solo quedaros con se lanza un módulo de Metasploit y listo, eso es la automatización y está bien, una vez que se conoce qué ocurre por detrás.
Miramos con ProcMon y Proccess Explorer lo que ocurre, se estudian diferentes técnicas: Environment Injection, DLL Hijacking, Fileless… O jugamos con nuestro querido UAC-A-Mola y vemos qué cosas se pueden hacer.
Figura 9: UAC-a-Mola: Bypassing UAC using Fileless techniques
Pero a la hora de poner en práctica o de utilizar en un Ethical Hacking solo tiene sentido en remoto, porque si tienes un usuario que cumple los requisitos del bypass de UAC y tienes acceso físico te vale ejecutar:
“botón derecho -> Ejecutar como administrador”
Bien, pero ¿cómo hacemos eso en remoto? Es complejo. Vamos a tener una shell remota con la que podemos ver fácilmente si tenemos la posibilidad de utilizar técnicas de bypass de UAC y si estamos en ese caso, ¿cómo se aplican? ¿Ejecutas botón derecho -> admin? No. No puedes. Aquí es dónde tiene todo el sentido del mundo las técnicas de bypass de UAC.
Desde una shell invocarás a un binario que cumple las tres necesidades comentadas anteriormente, previamente habrás preparado el camino para que la ejecución de dicho binario desemboque en que el nuevo proceso haga uso de tu código, y como ese proceso se estará ejecutando en un nivel de integridad alto, tu código también se ejecutará en el mismo nivel de integridad.
Ahí tenemos el bypass, porque gracias a las características del binario, el UAC dejará ejecutarlo. Y en esto se resume. Hemos hablado mucho en este blog sobre diferentes bypasses de UAC, cómo han ido evolucionando las técnicas, cómo a veces se simplificaban y ahí están los artículos
Para mí: ¿Qué no es un bypass de UAC?
Si desde la GUI de cualquier binario se puede ejecutar código, pero no se puede hacer a través de una consola, para mí no es un bypass de UAC efectivo. Puede que, técnicamente se haga un bypass de UAC, porque evitemos que se ejecute el UAC y se ejecute un código nuestro. ¿Nos aporta algo más que darle al botón derecho -> "ejecutar como administrador"? Eso es lo que nos tenemos que preguntar, es decir, ¿podremos utilizarlo?
Aquí tenemos una bifurcación: bypass de UAC efectivo para el pentesting o bypass de UAC que prueba un concepto, pero no es efectivo para el pentesting. Como ejemplo podemos utilizar algunos ejemplos con interfaces gráficas.
Técnicamente, lo que veremos ahora consigue hacer que un CMD se ejecute y no salte el UAC. Sabemos que cuando se intenta ejecutar una CMD con privilegio, el UAC saltará para confirmación del usuario o petición de credenciales en el caso de un usuario que no sea del grupo administradores. Tenemos que pensar, ¿se puede usar en un pentest? Eso es más complejo. Lo primero es utilizar un binario de los que sabemos que ejecutan en un nivel de integridad alto sin que el UAC salte, por ejemplo, el eventvwr.exe en Windows 10.
Figura 10: EventViewer tiene Auto-Elevate True
Desde aquí, todo lo que sea código que se ejecute heredará el nivel de integridad alto, por lo que podemos ir al menú “Help”. La opción “Help Topics” nos muestra la ayuda del visor de eventos. Pinchando con el botón derecho en la parte donde se muestra el texto se puede ver una opción que es “View Source”.
Figura 11: View Source
Al ejecutar “View Source” se ve un bloc de notas con un texto. Claro, si analizamos el bloc de notas con Proccess Explorer podremos ver que el notepad.exe se ejecuta en un nivel de integridad alto. Aquí ya tenemos lo que buscamos, si abrimos un cuadro de diálogo tenemos la posibilidad de ejecutar lo que se quiera.
Figura 12: notepad.exe con nivel de integridad alto
Abrimos el cuadro de diálogo y buscamos en System32 el binario del CMD. En vez de abrirlo sobre el notepad.exe, botón derecho y abrir el cmd.exe. Ahí lo tenemos. ¿Podríamos haberlo hecho a través de una shell? Si encontramos la forma de hacer que todo esto se pueda hacer desde una línea de comandos, tendríamos, desde mi opinión, un bypass de UCA efectivo, si no, simplemente hemos demostrado o enseñado que hay código que puede ser ejecutado sin que el UAC salte, pero no termina de ser efectivo en un pentesting o en un Ethical Hacking.
Figura 13: CMD.exe elevado sin UAC
En la siguiente imagen de Process Explorer se puede ver el nivel de integridad y cómo desde el mmc.exe (abierto con eventvwr.exe directamente) sin que el UAC salte, porque es un binario que cumple las condiciones comentadas anteriormente, se van abriendo diferentes procesos hasta llegar a una cmd.exe.
Figura 14: Nivel de Integridad "High"
Vale, pero, ¿es efectivo? Cuando se lee bypass de UAC, una de las cosas que debemos valorar es efectivo o no. Generalmente, cuando hablamos de bypass de UAC entendemos que es una vía por la que se obtiene privilegios saltándonos el UAC y nunca a través de algo gráfico, porque no habría diferencia con “botón derecho -> ejecutar como admin”. El debate está servido. Tú decides.
No sé si habré conseguido mantenerte en tensión con la narración de la primera parte de esta historia, pero si la has leído podrás sentir el nivel de energía a la que estaba sometido en esos momentos el que te escribe estas letras. Son de esos momentos que se te graban en el ADN de la vida para siempre. Como muchos otros momentos en tu vida personal. ¿Has ido a algún concierto con alguien muy especial y que nunca se te va a olvidar? ¿Has hecho un viaje a una ciudad único y disfrutado de grandes momentos paseando por ella que nunca se te van a olvidar? Pues lo mismo. Solo que en este momento no existía futuro para mí.
Figura 1: Hel10 Windows 10 o Cómo sobrevivir a otro lanzamiento de Windows (Parte II)
Volved a poneos en situación. El auditorio lleno, los focos en la cara, mi demo que no funcionaba, inexperiencia, sudor en las manos, sudor en los pies - sin calcetines - y 600 personas en frente mía que venían a ver con recelo la presentación del nuevo sistema operativo de Microsoft. Llegó la hora de hacerlo. ¡Acción!
ShowTime: Un BSOD para comenzar
El evento empezó con unos minutos de cortesía de retraso, lo suficiente para que todo el mundo se hubiera podido acomodar tras recibir la información que habíamos preparado. Comenzó la keynoteCarlos García hablando de las novedades principales de Microsoft Windows XP. Habló del nuevo interfaz gráfico, del foco en multimedia, de la parte de ocio, juegos, el reproductor por software de DVDs, etc... Todo muy bien, pero rápidamente vimos que esto no iba a ser así.
En un determinado instante, el equipo que estaba en el atril y que estaba dando soporte a la presentación de Carlos García, el equipo con Microsoft Windows XP RC 2 Service Pack 0 que estaba allí, decidió complacer a toda la audiencia allí concurrida con el ya esperado pantallazo azul. Un BSOD (Blue Screen Of Death) en toda regla y....
... todo el auditorio comenzó a descojonarse de la risa. No sé si fue por algo que pasó durante la demostración, o simplemente porque la energía de todas las personas allí congregadas había estado deseando que pasara ese momento. Desde que Bill Gates sufriera el BSOD en la presentación de Windows 98, parece que todo el mundo que asiste a una presentación de Windows espera que suceda.
Figura 2: Pantallazo azul en el lanzamiento de Windows 98
Figura 3: BSOD en Windows Vista que provoqué en el lanzamiento de Windows Vista, capturado desde una pantalla de fuera del auditorio. No sabían que estaba planeado.
Volviendo al lanzamiento de Windows XP, cuando el BSOD estaba en pantalla. Yo miraba aturdido a todo el público y mi cuerpo había bajado como 5 grados de temperatura por dentro durante la explosión de risas. Ese ruido de carcajadas al unísono solo lo he vivido viendo a Les Luthiers años después, cuando la gente reía a mandíbula batiente por algo muy divertido de esos geniales cómicos.
Pero nosotros no éramos cómicos y yo menos me sentía suelto como para hacer chistes en aquel entonces. Era la presentación de Microsoft Windows XP en Barcelona, uno de mis primeros eventos con Microsoft, no llevaba calcetines, no llevaba cinturón y en mi demo el servidor de correo que tenía que utilizar no funcionaba. Para colmo, todo el mundo estaba disfrutando del fallo de la demo. Estaba literalmente muerto de miedo y tenía la sensación de que el público quería sangre. Eso era lo que mis nervios estaban poniendo en mi cabeza una y otra vez a cámara rápida.
Se reinició el equipo, Carlos Garcia capeó con maestría y experiencia el momento y continuó la keynote hasta el final. Ya estaba, se había acabado la primera parte y nos dieron paso a nosotros. Era nuestro gran momento... o el momento de ser entregado al público en El Circo de la Roma Imperial. Allá iba Andrés con su demo.
Hot Plug: No desinstales el driver antes de la demo
Andrés se levantó, sonrió al público y comenzó a contar las ventajas del Hot-Plug. Habló de su arquitectura y esas cosas que se suelen poner en las presentaciones para llegar a la demostración técnica. Hasta aquí todo bien. Bueno, con los nervios de estar delante de 600 personas en ese auditorio después de que el público ya tuviera la sonrisa de haber visto la primera parte de una peli divertida. Pero salió bien parado de la parte de diapositivas, ahora iba la parte de tocar tecla. En ese momento anunció a bombo y platillo:
"Ahora conectaré este reproductor DVD y Windows lo reconocerá automáticamente. Entonces podremos poner el DVD de Gladiator y ver la película sin necesidad de reiniciar tan siquiera".
Con determinación levantó el reproductor DVD al público con el cable suelto. Al más puro estilo de los magos que enseñan las espadas en sus trucos de atravesar espadas a través de los cuerpos de personas que se meten en cajones amañados. Y procedió a conectar el reproductor DVD al equipo portail. Rápido y directo. Rápido y mortal. Tras conectar el reproductor de DVD, el sistema Windows XP RC 2 Service Pack 0 detectó el nuevo hardware, y comenzó a buscar las firmas del hardware y el driver asociado en la base de datos con la que venía de serie el sistema.
Buscó y buscó... y siguió buscando. Siguió buscando y buscando pero el driver - como ya sabrás si has prestado atención a la primera parte de la historia - ya lo habíamos borrado nosotros antes. Bueno, si hemos de ser justos, lo había borrado Andrés, yo solo le pedí que probara la demo. Debería haber leído con cuidado los mensajes antes de decir YES. Así que, tras buscar y buscar, al final, el equipo con Windows XP RC 2 Service Pack 0 que se estaba utilizando para hacer una demo, mostró un bonito mensaje de "Please insert driver disk". FAIL.
Figura 4: Asistente de "Nuevo hardware encontrado"
No sé si deberíamos considerarlo como un fallo, ya que el auditorio se volvió a caer con las risas de los asistentes que ya estaban pensando que ese iba a ser el mejor evento de su vida. Os juro que se descojonaban sin disimulo y con fruición. Señalaban y se reían con cara de estar satisfechos de haber invertido su tiempo en venir a este espectáculo.
Andrés me miró buscando ayuda en mí. Su cara era un poema. Me interrogaba con su expresión sin decir nada con la boca. Estaba más sorprendido que asustado. "¿Qué ha pasado?", debía pensar para sí mismo. Casi me pedía que les contara que antes había funcionado. Yo le miré, puse cara de circunstancias, abrí los brazos por lo bajo para decirle algo como "a mí no me mires" y para dejarle claro todo lo que yo le podía ayudar di un paso a un lado para separarme un poco más de él. Era su momento de demo y yo ya bastante tenía con lo mío. Le abandoné como hace el desodorante de mala calidad. Andrés, lo siento. No estaba en condiciones de ayudarte y bastante ya tenía yo con lo mío.
Negación de la realidad y BSOD
Andrés no sabía que hacer, y su sentido de supervivencia le llevo al pobre a buscar en nuestras mochilas, todas ellas amontonadas debajo de la mesa que había en el escenario a ver si por arte de magia esa broma del destino hacía aparecer un CD-ROM o un disquete con el driver del reproductor de DVD que acaba de conectar. ¡Y ya sabíamos nosotros que no estaba! Andrés rebuscó por debajo de la mesa, durante unos largos 20 segundos de carcajadas.
Entonces, decidió aplicar un concepto que los informáticos que se dedican al mundo del soporte han aplicado alguna vez en su vida. El concepto de "Negación de la realidad". Cuando se aplica ese concepto, lo que sucede es que se niega que haya sucedido eso. El sistema Windows XP RC2 Service Pack 0 no había pedido ningún driver. No había pasado. Solo es que no se había conectado correctamente el reproductor de DVD, así que Andrés, sin decir YES, ni decir NO, ni decir CANCEL, ni insertar ningún disco con ningún driver, desconecto el reproductor de DVD y lo volvió a conectar y....
Figura 5: El archifamoso BSOD que no quieres ver en una presentación
Sí, sucedió lo que todos os estáis imaginando. El segundo BSOD apareció en el evento de presentación en Barcelona. El Auditorio se caía. Los técnicos de audiovisuales ya tampoco se podían contener. Había diversión en el ambiente. Era como la era de Aquarius pero con la risa de toda la audiencia. Dos ponentes, dos BSOD. El día prometía.
Carlos intentó intervenir para reconducir el evento, la gente se seguía descojonando de la risa y yo estaba ahí, a pie quieto aguantando como un campeón. Cuando Andrés se dio por vencido, no le quedó más solución que reiniciar el equipo, sentarse en frente del portátil y esconderse detrás de la pantalla del equipo para estar lo más protegido posible frente a las risas, coñas y sarcasmos del publico.
El reinicio fue lento. Muy lento. Más lento que hacer una carrera universitaria. Más lento que un lunes entero. Más lento que varios lunes enteros en Mercurio. Todos estos lunes los aguantó Andrés detrás la pantalla del equipo que formaba un ángulo perfecto de 90 º para cubrir el máximo posible de su persona. Yo, a pie quieto a su izquierda - pero un par de pasos más separado -. Si hubiera existido Twitter en aquel entonces me hubiera ido para no salir en las fotos.
Pareció una eternidad, pero acabó arrancando el Windows XP RC 2 Service Pack 0 de Andrés y con toda la fe puesta en el cable, volvió a conectar el reproductor DVD esta vez sin decir nada. Solo lo conectó y esperó el resultado. Y...
... funcionó. En esta ocasión Windows XP RC 2 Service Pack 0 reconoció el reproductor DVD, instaló un driver que recuperó después del BSOD y lo dejó funcionando. Andrés se puso tan contento que parecía salirse de sí mismo. Le había funcionado la demo. Así que al poner la película de Gladiator la dejó reproducir durante 2 minutos. ¡2 minutos viendo la peli todos juntos en el auditorio! Os juro que me dio tiempo a coger el hilo argumental de la película, pero Andrés estaba tan contento y feliz que le hubiera funcionado hasta ver el final de la historia.
... y luego era mi turno....
Hora de saltar a la arena del circo
Me tocaba ya. Como os podéis imaginar había perdido ya un par de kilos en el escenario, con lo que los pantalones se me caían un poco más. Mi temperatura corporal era tan baja por dentro que si me hubiera analizado un biólogo podría haberme tomado por un reptil. Y en mi mente solo tenía claro una cosa: El servidor de correo no funciona y por tanto no puedo enviar el certificado en el momento de la demo desde la máquina del cliente a la máquina del técnico de soporte. Pero hemos venido a triunfar, así que vamos a ello.
Comencé acelerado la parte de las diapos. La mayoría de las personas que están comenzando a dar charlas suelen ir muy rápido, olvidándose de contar los detalles necesarios para ser didáctico. Van al grano dando por supuesto mucho del conocimiento que la audiencia no tiene que saber siempre. Yo hice eso. Fui al turrón, que se suele decir. Pim-Pam-Pum y ya te he contado todo lo que te tenía que contar de la asistencia remota. Al final solo era un cliente de RDP firmado digitalmente enviado por Messenger o e-mail. That´s all.
Hay una película de culto para mí llamada La Haine. Es una película francesa en blanco y negro protagonizada por uno de mis actores favoritos, Vincent Cassel. En esta película, que desde el principio se ve que no puede terminar bien, comienzan la narración con una pantalla en negro que en la que cuentan una historia.
"Un tipo está cayendo desde una azotea y piensa: - Por ahora todo va bien... por ahora todo va bien...- Pero tarde o temprano alcanzará el suelo, y eso es lo peor"
Así me sentía yo cuando pasaba la última diapositiva. "Por ahora va bien"... pero llegamos a la demo. Llegamos al suelo. Y comencé a hacer la demo. Expliqué el proceso, seguí el asistente, seleccioné enviar la petición de asistencia remota por e-mail y le di a enviar por correo electrónico. En ese momento salió el e-mail y, cual Jorge Blass (el ilusionista), con la mano izquierdo cambié el monitor que se veía por pantalla del equipo del cliente al equipo del técnico.
En ese momento, en esa misma décima de segundo, pude ver cómo llegaba al buzón de correo del equipo del cliente el mensaje de error de que no se había podido enviar el correo electrónico, pero nadie más lo vio. Solo Andrés, que estaba a mi lado y me miraba sorprendido. Algo no le cuadraba, pero... seguí adelante con mi demo. No iba a parar a contarle mi vida en ese momento.
La cosa aún requería habilidad, pues el certificado caducaba y se se veía que el correo que había en la bandeja del técnico había entrado hacía ya casi 20 minutos, la cosa podría no salir bien, así que rápidamente hice doble clic sobre él y me conecté al equipo del cliente para darle soporte. Funcionó. Y ni yo me lo podía creer. Tan agobiado había estado y tan liberado me encontraba en ese momento que, para terminar, dije.
"Y esta es la demostración de cómo funciona la asistencia remota en Windows XP y, como han podido ver todos, funciona perfectamente".
No me di cuenta, pero el tono que elegí para decir esto fue muy duro. Casi retador. Era mi forma de liberar tensión, pero la reacción del público que conseguí fue espontánea. Comenzaron a aplaudir todos. Había pasado de escuchar risas y carcajadas a escuchar aplausos, así que cerré la pantalla y salí a sentarme entre el público. Y no recuerdo mucho más de ese día.
Hoy en día
Todo este flash-back que he vuelto a vivir mientras lo escribía ha conseguido que mi corazón se acelere a ratos al mismo ritmo al que estuvo hace ya 14 años. Es curioso como cambia la perspectiva. Si con la experiencia de hoy me pasara otra vez lo de aquel entonces, lo más seguro que es que solo hubiera explicado que el servidor fallaba y listo. Hubiera copiado el fichero delante del público y andando. Pero en aquel entonces estaba comenzando y no podía fallarme la demo. No sabía qué iba a ser de mí en el futuro y quería seguir haciendo ese trabajo. Me gustaba exponer, aunque me hiciera sentir pánico.
Lo cierto es que hice la demo de esa forma, y seguí dando charlas. Creo que en el fondo hice algo como el famoso Golden Path de Steve Jobs en el lanzamiento del iPhone, donde nada funcionaba bien y tenían que ir cambiando los iPhone según se les iban bloqueando, pero sin que el público se enterara. Tal vez si mi demo hubiera fallado mi carrera como ponente hubiera terminado, o tal vez no, quién sabe. Así fue cómo sucedió, y así me ha ido después. Juzga tú.
Figura 6: Si te falla la demo en el lanzamiento de Windows 10... ¡dedícamela!
Los que vais a estar en el próximo lanzamiento de Windows 10 probablemente tengáis problema con alguna demo. A mí me han fallado muchas veces. Es normal. Si eso pasa, acuérdate de mí en el lanzamiento de Windows XP y dedícamela. Dile al público que ha sido el "Efecto Chema Alonso", que yo te la he gafado. Pero lo más importante, disfruta del momento. Disfruta de estar allí por ti y por mí, que salvo que me conecte por vídeo conferencia a la charla de algún compañero, creo que me lo voy a perder.
El próximo 22 de Octubre en España, Microsoft dará la bienvenida oficialmente a Windows 10, su nuevo sistema operativo. En un evento con una agenda muy completa para los tipos duros de IT y para los desarrolladores se presentará en sociedad. No, no he pretendido hacer ningún tipo de juego de palabras en esta primera frase, solo me he dejado llevar por los viejos tiempos en los que tratando de explicar la diferencia entre Technet y MSDN usábamos ese adjetivo para IT. Este año a mí me pillará muy lejos de Madrid en esa fecha, en concreto en Chile participando en la 8dot8, y salvo sorpresa de última hora no voy a poder participar como ponente ni como asistente, pero me ha traído buenos recuerdos este evento.
Figura 1: Hel10 Windows 10 o Cómo sobrevivir a otro lanzamiento de Windows (Parte I)
Dicen que recordar es volver a vivir, y últimamente intento recordar muchos pequeños momentos de mi vida para que no se me olviden las buenas sensaciones tenidas. El ver la agenda de este Windows 10 Hel10 World! me ha traído algunos de esos momentos a mi corazón, y os voy a contar uno de esos días únicos.
Figura 2: Lanzamiento de Windows 10 en el evento Hel10 Windows 10
Yo he tenido la suerte de vivir desde el escenario lanzamientos similares en otros "Octubres" de años anteriores en España. Estuve dentro de los planes de lanzamiento de Windows XP presentando unas características, fui parte del lanzamiento de Windows XP SP2 muy orientado a seguridad, también estuve en el lanzamiento de Windows Vista en el primer evento en el que usé un gorro en mi vida - esa es otra historia que ya os contaré - y por supuesto estuve en los lanzamientos de Windows 7 y Windows 8, como muchos ya sabéis.
Aprovechando esa nostalgia aguda que se ha apoderado de mi corazón por no poder este día 22 de Octubre en el lanzamiento de Windows 10 os quiero contar la historia de mi primer lanzamiento en el escenario, el de Microsoft Windows XP, donde os juro que la sensación que tenía era que la audiencia me quería matar. Os lo juro.
Figura 3: Durante el Lanzamiento de Windows 7
Esta historia que voy a intentar plasmar de la forma más detallada que pueda, la estuve contando como si fuera un monólogo durante la Gira Technet que hicimos por toda España en el año que lanzamos Windows 7. La utilizaba para explicar a la gente lo duro que era ponerse en frente de una audiencia y decir: "Hola, Microsoft tiene un nuevo Windows", porque siempre era malo. Luego, la he seguido contando a quién me ha querido escuchar en cenas, bares y saraos varios entre amigos, así que permitidme que, antes de que se me borren los recuerdos para siempre, os la cuente con todo el lujo de detalles que aún conservo en mi castigado cerebro de lo que sucedió aquel día. Siéntate, que es larga.
Cómo acabé trabajando con Microsoft y hablando de Windows XP
La primera de las cosas que os quiero contar es algo que muchos me han preguntado. Cómo acabé colaborando con Microsoft. De hecho algunos me lo preguntan con cierta malicia, como si de algún oscuro secreto hubiera en mi relación con Microsoft, o como si hubiera tenido algún enchufe, contacto, o acceso prioritario a la compañía de Seattle. Pues bien, la historia es tan sencilla como carente de emoción y misterio.
Como ya os conté en el artículo de "Más allá de los límites de tu realidad", los viernes era el día en que Igor y yo hacíamos las llamadas a puerta fría para buscar empresas que necesitaran servicios profesionales de informáticos con muchas ganas de comerse el mundo. En una de ellas, conseguimos una reunión con un centro de formación oficial de Microsoft llamado Professional Training. Esta empresa se dedicaba a dar el catálogo de cursos de Microsoft para certificarse, pero también trabajaban con otros fabricantes como Oracle, Cisco, SCO Unix, Sun Microsystem, etcétera.
Conseguimos una reunión y allí nos plantamos a ofrecernos para cursos o servicios varios. Y comencé a trabajar dando algunos cursos de Oracle, Redes y Seguridad Informática. En una de esas, Microsoft le pidió a Professional Training un ponente para dar una conferencia de Microsoft Tahoe, algo de lo que yo no tenía ni idea de lo que era. Al final era el nombre en código que tenía lo que a la postre fue Microsoft SharePoint Portal Server 2001 y es de lo que hablé en mi primera conferencia en Valencia: Microsoft SharePoint Portal Server 2001 junto con Microsoft Office XP.
Figura 4: Dando un curso en las oficinas de Microsoft en La Finca siendo ya MVP (2004)
A Microsoft le gustó cómo lo hice, así que me pidieron para ir a más eventos en Sevilla, Madrid y a la presentación de Windows XP en Barcelona. El resto es conocido. Comencé a dar conferencias con Microsoft, me hicieron MVP en Enterprise Security... y hasta hoy. Ya os contaré alguna historia de esos años con más detalle.
Mi primer viaje a Barcelona para la presentación de Windows XP
Como ya os he dicho, Microsoft suele presentar sus sistemas operativos durante el mes de Octubre, y Windows XP fue presentado al público en Octubre de 2001. Durante aquel año, antes incluso de su lanzamiento oficial en Madrid, se hizo un evento de presentación en Barcelona en el antiguo Auditorio de L'illa, que luego rebautizado como Auditorio Winterthur y más tarde aún con el nombre de Auditorio Axa. Ha llovido desde aquel evento muchos años, y la vida ha ido erosionando el mundo de aquel entonces, cambiando lugares, nombres y detalles. Si no conoces el auditorio, creedme si os digo que impresiona, especialmente si es de tus primeros eventos, y yo llevaba muy pocos en la espalda como os he contado.
Figura 5: Esta es la visión del ponente. La foto fue tomada 6 años después durante el Security Day de Barcelona 2007 en el mismo auditorio en el que os cuento esta historia.
Con espacio para más de 600 personas en dos alturas, dejando el escenario abajo, hablar desde allí cegado por las luces de los focos es duro si no te sientes cómodo hablando en público. Yo casi me estaba estrenando como ponente y como a todos, tuve que aprender a hablar en público. Si alguien piensa que a mí no me daba miedo hablar en público está muy equivocado, ya os he contado muchas veces que a mí me daba pánico hablar en público, así que os podéis imaginar mis nervios.
Yo había viajado muy poco en mi vida y aún vestía con traje y corbata - además de llevar el pelo corto con flequillo - al estilo de la foto que tenéis en el artículo donde os dejé ver cómo había sido mi evolución en paralelo con la de Windows - . Ahora que has visto el auditorio, y has visto cómo era yo en el año 2001, intenta juntar ambas fotos para ponerte en situación.
Figura 6: Chema Alonso en el año 2001
Hice la maleta con inexperiencia y hormigueo en las venas de los brazos para ir a Barcelona, que también era mi primera vez visitando la ciudad, y con la emoción de echar una cámara de fotos para poder hacer de turista por los rincones de esa bella ciudad y llevarme todos los recuerdos posibles, me olvidé de echar calcetines y de poner en la maleta el cinturón del traje. Solo tenía un traje en mi armario y me quedaba un poco grande, así que necesitaba ese cinturón porque si no se me caían los pantalones. Pero no me lo llevé. Se mascaba la tragedia pero yo no he sido de arrugarme, así que... lo solucionaría o viviría con ello.
Preparando las demos del evento el día antes
En aquellos entonces íbamos el día antes a los eventos para probar las máquinas y las demos en el lugar del evento, algo que con el tiempo redujimos a llegar unos minutos antes que los asistentes y, como sucedió en el lanzamiento de Windows Vista, sin hacer las demos ni las presentaciones siquiera - pero esa es otra historia para más adelante -. Cuando entras en el auditorio, cargado con tus maletas y subes las escaleras para llegar a la primera planta empiezas a ponerte nervioso. Después hay que bajar por la escalinata entre los asientos del público hasta que subes al escenario donde te esperan los técnicos de audiovisuales con los micrófonos, los cables de VGA y los switches de monitores y teclados. El miedo escénico ya se había apoderado de mí y tragar saliva rascaba.
Cuando estaba - aún el día antes - probando las demos sobre la mesa del escenario ya estaba preocupado. Eran mis primeras charlas y los ponentes más veteranos querían estar seguros de que lo iba a hacer bien así que Paco Serrano, uno de los mejores ponentes de Microsoft por aquellos tiempos pasó un rato repasándome la lección a ver si lo tenía bien entendido. Paco, aunque se lo he dicho alguna vez más tarde, fue mucho más importante en mi vida de lo que se puede pensar. Lejos de gustarle los focos y los medios de comunicación es un ponente excepcional y me hizo un finetunning en solo tres o cuatro charlas que me ayudaron a fijarme en lo importante de una presentación técnica y ser cuidadoso con ella. A él le debo mucho de mi forma de hacer las presentaciones.
Mi demo en la presentación se basaba en enseñar cómo con Windows XP se podía hacer una solicitud de soporte a un técnico generando un fichero de configuración de cliente de RDP firmado digitalmente que se enviaba por correo electrónico o por Messenger a la persona de soporte técnico. El destinatario del mensaje solo tenía que hacer doble clic sobre el fichero y se abría una sesión remota en la máquina del cliente con un escenario de supervisión por parte del usuario. Es decir, el cliente que recibía soporte podía ver e interactuar con el técnico. Era una demostración bastante chula y que a día de hoy seguiría siendo útil. Se llamaba Remote Assistance.
Como ya os habréis podido imaginar, en aquel entonces empezábamos a utilizar equipos portátiles pero aún quedaban lejos cosas como el Cloud Computing o la Virtualización así que para hacer las demos había que montarse los sistemas operativos en el equipo físico. En mi demo tenía dos equipos, uno de ellos hacía de cliente - enviaba el correo electrónico de soporte - y otro hacía de técnico - recibía el correo electrónico y abría la sesión de escritorio remoto en la máquina del cliente -. De por medio, en una de las máquinas había un servidor de correo electrónico con dos cuentas para cada uno de los personajes del entorno. Además, había que llevar un hub con un par de cables que se conectaban vía tarjetas PCMCIA, para completar el entorno - así eran los portátiles que yo tenía -. Y al probar las demos el día antes, todo funcionó... ¿pero funcionarían al día siguiente?
Figura 7: Tarjetas PCMCIA
En mi charla tenía un compañero. Andrés. Al igual que yo venía de otra empresa y el tenía que contar las novedades de Windows XP en el entorno multimedia de usuario. En concreto tenía que contar el sistema de Hot-Plug, o lo que es lo mismo, pincha un nuevo hardware y Windows XP lo configura con la base de datos de drivers que lleva ya de serie. Su demo era bastante sencilla a priori, después de contar toda la parte técnica solo tenía que pinchar un reproductor DVD externo, Windows XP lo reconocía y sin reiniciar el sistema ponía la película. No se me olvidará nunca qué película era: Gladiator, que acababa de salir en DVD en el mercado español. Todo parecía sencillo el día antes... ¿sería igual el día del evento?
El día D de la presentación de Windows XP en Barcelona
Llegó el día de presentación de Windows XP, y no, no teníamos la Golden Build. Teníamos una RC2 de Windows XP Service Pack 0 ya que habíamos tenido que montar las demos en físico una semana antes. Aquellos tiempos no eran como los de hoy en día. Por la mañana ya me di cuenta que aquello no iba a ser tranquilo. Al ponerme el traje me percaté de que me faltaban los calcetines y el cinturón. **Shit**.
No me agobié y pensé en positivo. Al final, al no tener cinturón el pantalón se me caía y disimulaba la ausencia de calcetines - que el que no se anima es porque no quiere -, y tiré más recto que una tabla directo al auditorio cargado con mi maleta y mis equipos portátiles. En ella, como ya os he contado, dos equipos portátiles, dos tarjetas PCMCIA, dos cables de red, un hub, y los cargadores correspondientes. Por supuesto, aún no eran muy populares los pendrives USB, así que llevaba disquetes por si había que copiar algún fichero.
Prácticamente no había dormido por los nervios y la emoción, y cuando llegué al auditorio y empecé a ver al público, el miedo escénico ya se apoderó de mí. Miedo era la palabra exacta. Ahora mismo, mientras escribo estas líneas sentado en un sofá acabo de sentir un déjà vu con la sensación que tenía aquel día y me ha dado hasta un escalofrío. Si has dado alguna charlas en tu vida, recordarás esa sensación en el estómago que se tiene al principio. No se olvida nunca. Según se iba llenado de gente, el auditorio se hacía aún más grande y más impresionante. En ese momento, una persona cerca de mí casi podía contar los latidos de mi corazón escuchando el ruido que generaban las palpitaciones desde medio metro de distancia. Y tal vez diréis... ¿por qué tanto?
Si has vivido la historia de la informática durante los últimos años, recordaréis que Microsoft era la empresa más "odiada" en aquellos años. Apple estaba de capa caída empezando a recomponerse y compañías como Google aún no eran nada similar a lo que son hoy en día. En aquel entonces, la presentación de Windows XP había generado mucha polémica porque salía solo un año después del lanzamiento de Windows 2000 y todo el mundo decía cosas como:
"No traéis nada nuevo, solo es para hacer caja y volver a cobrar licencias".
"¿Quién quiere todas esas chorradas multimedia en un equipo que se use en una empresa donde lo imporante es trabajar?"
"Con Windows NT 4 ya teníamos suficiente, Windows 2000 tiene más de lo que usamos y no necesitamos nada más por ahora, Windows XP es un Windows 95 raro".
Eso, y de todo lo que os podáis imaginar. Además, ya se acrecentaban los rumores de ampliación de la denuncia en la Unión Europea contra Microsoft por el asunto de Windows Media Player que antes había comenzado. Microsoft era visto casi como el demonio, y todos los que teníamos algo que ver éramos informáticos en el lado del mal - Sí, ya expliqué que ese es el origen del nombre de este blog hace tiempo -.
5 minutos para ShowTime: Siempre falla algo
Nosotros hablábamos los segundos, justo después de la keynote. En aquel entonces el responsable de presentar Windows XP era mi actual compañero en Telefónica - por entonces en Microsoft - Carlos García. Después íbamos mi compañero y yo con nuestras demos de Hot Plug y Soporte Técnico Remoto Seguro.
Montamos las demos rápidamente y cuando ya tenía la red, los equipos arrancados y todo listo probé a enviar un correo desde mi Windows XP RC 2 Service Pack 0 ... y se me jodió el servidor de correo electrónico. ***Shit happens ***. ¡Nooooooooooooo! Si os digo que en ese momento empezaron a nacerme las primeras canas, creedme. No sabía que iba a hacer. El cuerpo me bajo como 10 grados de temperatura por dentro, pero por fuera comencé a sudar como un pollo en un asador. ¿Cómo solucionarlo? Intenté reiniciar el servicio un par de veces. Reinicié la máquina. Nada. ¿Qué podría ser? No iba a poder averiguarlo. ¿Cómo lo podía solucionar?
"Piensa Chema, joder, piensa!"
Como os podéis imaginar, ni tenía tiempo de saber qué pasaba, ni conocimientos, ni concentración suficiente. Se había jodido. El servicio de correo electrónico no levantaba y cuando enviabas el correo electrónico daba un error pero... podía solucionarlo. Y se me ocurrió cómo: Usando el disquete y un poco de magia.
Figura 8: En las opciones de Remote Assistance solo se permitía e-mail y Windows Messenger
Al final lo único que fallaba era que el servidor no enviaba el correo electrónico, así que fallaba el medio, pero todo lo demás tiraba, así que hice un trick. Me vino como un flash. Será que el instinto de tener que solucionar problemas en mis trabajos en las obras había generado en mi una capacidad de reacción ante las situaciones adversas que yo no sabía que tenía. Pero me vino la inspiración.
Un minuto antes de mi charla - cuando aún nadie veía mis pantallas por los proyectores - hice la demo completa, hasta el momento de enviar el correo electrónico. Cuando el correo fallo en el equipo del cliente que solicita soporte guardé el archivo en el disquete y borre el correo electrónico con el fallo recibido. Después, copie el fichero RDP firmado al equipo del técnico de soporte y me envié a mi mismo un correo adjuntando el fichero que había copiado en el disquete. Solo debía hacer un poco de spoofing de dirección de correo. Falló, pero el mensaje de envío lo deje en la bandeja de entrada y listo. Y crucé los dedos de las manos y los dedos de los pies - sudados y sin calcetines -. Tensión++
Cuando el Maligno no tiene nada que hacer...
Ya había "preparado" mi demo, así que a mi compañero Andrés - le dije: "Tío, ¿has probado tu demo? Pruébala bien no vaya a ser que te falle". Esto último se lo decía por experiencia propia, como ya os he contado, y como él también era muy nuevo se sobresaltó. Él se asustó ante mi preocupación, y decidió hacer una prueba rápida más por satisfacerme a mí que por quedarse él tranquilo que ya no lo iba a conseguir en ese día. Pinchó el hardware del reproductor DVD, el sistema Hot Plug de Windows XP lo reconoció, configuró el driver que tenía en su base de datos et voilá. Todo listo. Puso el DVD de Gladiator y vimos como Cómodo se batía en la arena del circo.
Él me miró con los brazos abiertos y con la mirada y su gesto me dijo algo sin hablar como: "¿OK? Ves como todo está controlado". "Genial", le dije yo. El se quedó tranquilo y desconectó el reproductor de DVD y Window XP RC2 Service Pack 0 sacó un mensaje por pantalla que decía algo como: "Se ha desconectado este hardware, el driver ya no es necesario, ¿Desea desinstalar el driver?" Pero lo puso en inglés... y con los nervios solo se podía leer algo como YES o NO. ¿Qué era eso de desmontar de forma segura? ¿Quién lo sabía entonces?
Figura 9: Safely Remove Hardware en Windows XP
Las prisas no son buenas, y no saber inglés mucho peor. Andrés siempre ha sido un tipo alegre y positivo. Y siempre positivo, mi compañero Andrés le dio a YES y Windows XP RC 2 Service Pack 0... desinstaló el driver. FAIL. ¿Quién le mandaría a Windows XP sacar ese mensaje en inglés? ¿Quién le mandaría a Andrés hacer caso al Maligno? Y con las dos demos cojas, los dos nos pusimos rectos como tablas a esperar nuestro turno mientras veíamos el auditorio cada vez más lleno de asistentes. Tenía las manos sudadas, la frente perlada en sudor por el calor de los focos y el corazón a ritmo de batería de Nicko McBrain. Y el evento iba a comenzar.... Continúa en la Parte II