El comando Linux de 300€

La historia continúa…  Jueves 25 de mayo de 2017, 18:00 horas, hora de la merienda, 32 grados de temperatura a la sombra, la cocina de mi casa. Me dispongo a preparar un rico café con leche y hielo (Sí, ¡es posible!, no pasa nada por mezclar leche con hielo, no se corta, no explota, no ocurre ninguna desgracia, y además está bueno). Suena el timbre de mi casa, fuera estaba mi vecino. Sí, el mismo vecino que os contaba en el artículo: “Mi Análisis de WannaCry“, que le habían robado dentro de su coche: un sobre con 300 euros para el cumpleaños de su hijo, un pendrive y unas gafas de sol, mientras él estaba en la piscina. Él me comenta que le acaban de llamar de comisaría para decirle que gracias a que había denunciado lo que le había sucedido, una patrulla localizó en las inmediaciones del lugar del robo a un hombre con un sobre de 300 euros y un pendrive del mismo color que el que le habían robado, el agente le dice que sería conveniente que aportara el número de serie del pendrive para confirmar que es el suyo, ya que al parecer cuando lo encontraron solo tenía unos ficheros de vídeo en su interior.

Fig. 1 Pendrive robado

Mi vecino, no muy ducho con las nuevas tecnologías, me había pedido hace un tiempo que le comprara ese pendrive por internet, ya que le salía muy bien de precio, pero él no se atrevía a meter su tarjeta bancaria en una página web. Al final se lo acabé comprando, pero claro, ahora me dice que si puedo contactar con la tienda online para que me proporcione el número de serie del pendrive que le habían vendido. Por desgracia la tienda no dispone de ese tipo de información, así que todo su gozo en un pozo.

Como siempre, a grandes males, grandes remedios. Utilizando un poco de “pensamiento lateral“, se me ocurrió que aunque la tienda no dispusiese del número de serie del pendrive. Mi vecino a lo mejor si lo tenía apuntando, aunque él no lo supiese. ¿Y dónde lo podía tener apuntado?, la respuesta es fácil, en su ordenador. En los sistemas operativos Windows, cada vez que se conecta una unidad USB al ordenador, insertan una clave en el registro del sistema con una serie de parámetros sobre el dispositivo conectado. Entre estos parámetros, se encuentra: el nombre comercial del dispositivo, fecha de instalación, número de serie, unidad asignada… así como otra serie de parámetros técnicos no menos importantes, pero que para el tema que nos ocupan no vienen al caso.

Le pregunté a mi vecino si había conectado ese pendrive a su portátil, me dijo que no lo recordaba, ya que solo lo utilizaba para guardar sus podcast preferidos e irlos escuchando mientras conducía. Por si acaso, le dije que me trajera el portátil y le echábamos un vistazo rápido.

Se trataba de un Windows 7, de 64 bits, por lo que solo tuve que abrir el Registro de Windows e ir a la clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR. En esta clave quedan registrados todos los dispositivos de almacenamiento USB conectados al ordenador. Un pendrive, es un dispositivo de almacenamiento USB, así que si había conectado el pendrive a ese PC, tuvo que quedar registrado. Me comentó que era un pendrive marca SanDisk modelo Cruzer, rápidamente localicé entre todas las claves de registro una que se llamaba: “Disk&Ven_SanDisk&Prod_Cruzer_Blade&Rev_2.01“.

Fig. 2 Registro de Windows

¡Lo logré! blanco y en botella, ahí estaba el registro del pendrive , además en la clave también constaba el número de serie: “4C530103341021117100“, así que el trabajo ya estaba hecho y en tiempo record, mi vecino estaba con los ojos como platos. Me vine arriba, y le dije que también podía sacar la fecha de la primera instalación del pendrive en el ordenador, para esto tan solo es necesario exportar la clave de registro correspondiente a un formato tipo .txt, como se aprecia en la siguiente imagen: la primera vez que se conectó ese pendrive al portátil, fue a las 22:41 horas del día 27 de mayo de 2016, esto es, hace poco menos de un año.
Seguir leyendo

Mi análisis de WannaCry

Viernes 12 de mayo de 2017, 11:32 horas de la mañana, Madrid. Comienza a sonar mi teléfono móvil, en la pantalla el nombre de un buen amigo, respondo la llamada, él con voz preocupada me dice que está siendo víctima de un ciber-ataque, ya ha reiniciado dos veces los servidores VPS (Virtual Private Server) de su empresa, ha tratado de recuperar los “snapshots” de sistema, pero todo sigue igual, una situación incontrolada que ha dejado sin servicio a su empresa. Llamo al ingeniero responsable de sistemas, me comenta que no sabe lo que ocurre, pero que todos sus servidores VPS están comprometidos, los cores del sistema están al 100% de rendimiento, cuando no tendrían que superar el 20%, la tasa de transferencia de red contratada ya hace horas que fue sobrepasada, la páginas web de la empresa están caídas, algunas de ellas simplemente no cargan, otras redireccionan automáticamente a webs que nada tienen que ver con la empresa. Después de una larga conversación con el responsable de sistemas, llegamos a la conclusión que el vector de entrada ha sido un plugin de un CMS que tenían instalado en todos los VPS, a través del cual se podía tomar el control de las máquinas, ahora les queda una larga tarea de análisis de código afectado y bastionado del sistema para que esto no les vuelva a ocurrir. Fin.

Fig 1. htop en Linux

Sábado 13 de mayo de 2017, 13:00 horas, mi casa. El IDS (Sistema de Detección de Intrusos) que tengo instalado, comienza a detectar tráfico malicioso en una de las VLAN de casa, más concretamente la VLAN correspondiente a la red WiFi, Dirección IP de origen: 172.30.2.25, o lo que es lo mismo, la dirección IP que el servidor DHCP le había asignado al portátil de un amigo que estaba en casa tomando un café. Con razón me decía que el portátil le iba lento y le duraba poco la batería, lo que me sorprende es que todavía le siguiera funcionando con lo que después vimos que tenía instalado. Fin.

Sábado 13 de mayo de 2017, 22:00 horas, un restaurante cualquiera. Un familiar me llama por qué su teléfono móvil comenzó a vibrar sin parar, al tiempo que le aparecía un mensaje por pantalla en el que le advertía que tenía que instalar un antivirus en su móvil, o si no un virus lo iba a infectar. Tan pronto pulsó el botón de “Instalar Antivirus”, el teléfono se apagó para no volver a encender nunca más. Fin. Seguir leyendo

Prueba Nula: El hash no coincide.

Como buen gallego que soy, quiero compartir con vosotros la receta para cocinar un buen hash a la Gallega.

Si nunca habéis saboreado un hash, solo os diré que su sabor es único, no hay dos iguales. Una vez cocinado, no hay forma de volver atrás para averiguar cuales eran sus ingredientes. Lo que viene a significar para los más técnicos: una función determinista de un solo sentido y resumen.

Para esta receta, lo primero que necesitaremos es una cucharada de bytes recién cosechados. Los podemos comprar en nuestro supermercado de confianza, en la sección de: documentos de texto, fotografías, palabras o incluso imágenes forenses. Esta será la base para nuestra receta de hoy.

Fig 1. Otra buena receta, el pulpo a la gallega.

A continuación, cogeremos nuestros documentos de texto, fotografías… y los cortaremos muy finitos, en trocitos de 1 bit.

Si nos hemos quedado cortos con la cantidad de bits, le podremos añadir un “padding” o relleno, hasta que lleguemos a un número que dividido por 512 nos dé un resto de 448. Si ya tenemos este número antes de empezar, le echaremos otros 512 bits más al recipiente. Los bits que le añadamos tienen que ser de denominación de origen, es decir, de los que empiezan por 1 y luego se van rellenando con 0 hasta que se cumpla la condición anterior.

Ahora cogeremos el bote de los bits little-endian, y le echaremos dos puñados de 32 bits, hasta que lleguemos a los 64 bits.

Le añadimos a la mezcla anterior otras 4 palabras de 32 bits (en hexadecimal) que harán de base. La primera palabra que le echaremos es: 01 23 45 67, la segunda: 89 ab cd ef, la tercera: fe dc ba 98 y finalmente la última: 76 54 32 10.

Ahora volcamos el contenido del recipiente en la sartén y ya podemos comenzar a remover todo con los operadores XOR, OR, AND… mientras se va cocinando  a fuego lento. El truco para un hash consistente está en remover de forma adecuada todas las palabras hasta conseguir una mezcla homogénea de 32 caracteres hexadecimales, que será nuestro hash perfectamente cocinado.

Fig 2 Función hash

Si después de leer la receta del Hash a la gallega no sabes ni por dónde empezar, no te preocupes, por suerte para ti, al igual que para cocinar recetas de toda la vida han inventado la Thermomix, para calcular hashes de ficheros, también hace años que han inventado programas como HashCalc (para Windows) o md5sum / sha1sum… (para Linux) que te calculan los hashes de ficheros a golpe de clic en el ratón. Seguir leyendo

¡Yo no he enviado ese Whatsapp!

Una mañana cualquiera, de un día cualquiera, un amigo, un familiar, un ser querido, te llama pidiendo explicaciones de a ver por qué le has dicho a su esposa que la semana pasada él había estado con otra mujer, tú no entiendes lo que ocurre pero ya te imaginas que nada bueno puede ser. Después de la discusión inicial, de haberte insultado con insultos que ni tan siquiera conocías, llegas a la conclusión de que su mujer recibió un mensaje de Whatsapp tuyo diciéndole que  su marido había sido infiel con otra mujer, pero claro, tú ese mensaje no lo has enviado, ¿o quizás si?.

Fig 1. Logo Whatsapp

Así comienza esta historia: un ciudadano cualquiera que está viendo como en su propio teléfono móvil existe un mensaje de Whatsapp enviado a la esposa de un amigo, el cual no ha enviado pero que le acusan de haberlo hecho. Creo que ha llegado el momento de llamar a un forense, pero no de los que hacen autopsias, si no de los que recuperan fotos eliminadas de la tarjeta SD de la cámara de fotos de tus vacaciones realizan, a través de técnicas científicas, un análisis informático sobre cualquier tipo de dispositivo electrónico, utilizando un protocolo que garantice la integridad de los datos obtenidos y que estos sean válidos para el fin que se han obtenido.

Llegados a este punto, la única esperanza que le queda al protagonista de esta historia (al acusado, no al aventurero) es que alguien puede determinar lo que realmente ha ocurrido, o lo que es lo mismo, alguien cuyo objetivo sea la obtención de la verdad, y ese es un analista forense. Como comentaba al principio, esta historia versa sobre un mensaje de Whatsapp que nadie dice haber enviado, pero que en el teléfono del emisor si consta como enviado. Así que en primer lugar, lo primero que tiene que hacer un analista forense es analizar ese teléfono móvil con la finalidad de buscar una explicación de lo que ha ocurrido. Aunque se nos puedan dar varias hipótesis de trabajo, tenemos que tratar siempre de comenzar por la más probable (la explicación más sencilla es probablemente la correcta), y lógicamente la explicación más sencilla no es que el móvil tenga un malware de control remoto, o que alguien le hubiera cogido el teléfono sin que nuestro protagonista se hubiera enterado, la explicación más sencilla es que hubiera sido el propio usuario del teléfono quien hubiera enviado esos mensajes. Descartada esa opción, más que nada porque si no este articulo ya no tendría sentido, la segunda opción desde mi punto de vista es la del Whatsapp Web, es decir, que alguien se aprovechara de que nuestro protagonista dejó su Whatsapp Web abierto en un PC ajeno, lo que le permitiría a cualquier persona enviar mensajes a través del Whatsapp sin que este se diera cuenta.

Fig 2. Whatsapp Web

Whatsapp Web tiene una serie de características técnicas que pueden ser interesantes para el caso que nos ocupa. La primera de ellas es que realmente se puede utilizar desde cualquier parte del mundo, no es necesario ni que el PC con Whatsapp Web esté cerca del teléfono, ni que ambos estén conectados a la misma red WiFi. Otro dato importante es que Whatsapp Web no funciona si el teléfono no tiene cobertura de datos, aunque nuestro PC tenga Internet, si nuestro teléfono no tiene Internet, Whatsapp web dejará de funcionar y esta es una de las claves del funcionamiento de esta APP, ya que realmente Whatsapp Web no envía ningún tipo de mensaje al destinatario, si no que al enviar un mensaje desde Whatsapp Web, este lo envíe a nuestro teléfono y es nuestro teléfono quien ya lo envía al destinatario del mensaje. Esto quiere decir que Whatsapp Web es una especie de prolongación del Whatsapp que tenemos instalado en nuestro teléfono, ya que por sí solo, no puede funcionar. Seguir leyendo

Glider, la idea

Fig 1. Logotipo GLIDER

En primer lugar, daros la bienvenida a todos los que estáis leyendo este primer artículo de Glider. Quizás algunos os estáis preguntando qué significa eso de “Glider”, si es que tiene algún significado. Empezaré presentándome:  me llamo Manuel Guerra, (@CiberPoliES en Twitter) los que ya me conocéis, pues poco tengo que decir. Para el resto, decir que soy un investigador especializado en cibercrimen (lo que vienen siendo delitos de toda la vida pero cometidos a través de las nuevas tecnologías) y sobre todo de aquellos delitos que requieren conocimientos técnicos avanzados para su persecución. Pero esta web no va a ser autobiográfica, ni mucho menos, la idea es otra. Iré publicando de una forma más o menos periódica artículos relacionados con el mundo del Hacking y la Informática Forense, además de cualquier otra aventura que me pueda parecer interesante compartir con todos vosotros.

Ahora vamos a la parte del nombre: Glider, ¿Qué es eso de Glider?, los más avispados quizás ya sepan por dónde van los tiros, o quizás no. Hay un símbolo que cada vez veo más, en camisetas, carteles, páginas web, fotografías de perfil en redes sociales… y este símbolo es el que pongo a continuación:

Fig 2Juego de la Vida

Para muchos un tres en raya, para otros unos círculos sin más y para otros el emblema de la cultura Hacker. – ¿Pero realmente significa algo este símbolo?. – ¡Pues vaya si significa algo!. Este símbolo que parece un tres en raya, es ni más ni menos que un planeador (Glider en inglés), y es un planeador que representa el Juego de la Vida que el matemático John Horton diseñó allá por 1970. Este emblema está íntimamente relacionado con la cultura Hacker por varios motivos: uno de ellos es que apareció al mismo tiempo que las primeras CPU, por lo que este juego se podía convertir en un autentico desafío para programadores de aquella época, ya que al hacer uso de puertas lógicas (AND, OR y NOT), se podían pasar jugando horas y así lograr crear una “célula” que creciera hasta el infinito, ya que en cada ciclo de CPU estás células evolucionarían o morirían en función de unas reglas que explicaré más adelante. Por decirlo así, esto era el “Tamagochi”  de la época, era un autómata que se podía crear o destruir en función de la destreza que se tuviera en la programación del entorno.

Como todo juego, también tiene sus propias reglas que son las siguientes:

1.)  Se necesita un tablero de cuadricula, el cual será el entorno dónde se desarrollara el juego.

2.) Las células sólo tienen dos estados, vivas o muertas.

3.) Si 1 célula muerta, tiene a su alrededor 3 vivas, esta célula nace (En el siguiente ciclo de CPU estaría viva).

4.) Si 1 célula viva tiene 2 o 3 células a su alrededor, sigue viva al siguiente ciclo. En caso contrario esta célula morirá.

A priori, puede parecer un poco complejo, pero realmente se trata de un potente algoritmo que permite crear o destruir vida (artificial) en función de una serie de parámetros preestablecidos y si elegimos un patrón correcto de inicio, lograremos crear vida de forma infinita. Si queréis probar vosotros mismos, en Esta Web, podréis configurar vuestras células para ver cómo van naciendo, muriendo o sobreviviendo. Un truco: si dibujáis el emblema Hacker, lograreis obtener unas células que sobrevivan de forma infinita.

Así que ahora, cada vez que veáis un “Glider” o símbolo Hacker, sabréis cual es su origen y lo que significa, por lo que espero que os encontréis como en casa en este nuevo sitio web que iré alimentado con artículos para poder mantener vivo este Juego, ¡el Juego de la Vida!. Muchas gracias a todos, y bienvenidos a GLIDER.es

¡Ah! y por si todavía queda algún despistado, un Hacker no es un pirata informático, un Hacker es un apasionado, un entusiasta, un experto de las nuevas tecnologías, una persona que trata de romper los limites de la tecnología para crear algo superior.