Forense a un café con hielo

Si lo recordáis, hace unos días escribía un artículo sobre un comando Linux de 300€, en este artículo os contaba toda la información que se puede recopilar de una unidad de USB y el uso que se le puede dar a esta. Pero sorprendentemente lo que más llamó la atención a los lectores del artículo no fue toda la información que almacenan los pendrives, si no el hecho de que yo me calentaba la leche del café para luego echarle azúcar e hielo. Este es el famoso extracto del articulo donde contaba mi receta para hacer un Café con Leche y Hielo:

Fig 1. Recorte articulo “Comando Linux de 300€”

Fueron muchos los lectores  los que a través de redes sociales comentaron que no era necesario calentar la leche para disolver el café soluble o el azúcar, ya que tanto el azúcar como el café se disuelven en un liquido sin importar la temperatura de este. La verdad que estos comentarios me dejaron desconcertado, a lo mejor llevo años perdiendo el tiempo calentando la leche para luego echarle hielo sin que realmente sea necesario. Es la típica verdad que asumes desde pequeño, pero que nunca llegas a comprobar fehacientemente. Pero… un momento, como seguro que ya sabéis, yo soy gallego, y en Galicia hay una bebida espirituosa muy conocida que se llama “aguardente de herbas” (orujo para el resto de los mortales), y este aguardiente se hace en un alambique, a poder ser de cobre, en el que con fuego de roble lentamente se va cociendo el bagazo mezclado con una serie de hierbas secretas que reposan sobre una cama de vid y paja. El alambique genera un vapor que se condesa en un serpentín de cobre y gota a gota, va llenando un cuenco de liquido amarillo, pero este liquido todavía no se puede considerar aguardiente de hierbas, ya que todavía le falta añadir el azúcar, y este se añade de la forma mas tradicional que existe: verterlo directamente sobre la aguardiente. (Un secreto: un kilogramo de azúcar por cada Ola de aguardiente). ¿A qué viene que os cuente todo esto?, pues que si de pequeño no me hubiera pasado horas y horas ayudándole a mi abuelo a remover con un palo el azúcar que se tenía que disolver en el aguardiente que estaba a temperatura ambiente (frío), si me podría creer que el azúcar se disuelve con la misma eficacia tanto en un líquido caliente como frío.

Fig 2. Pote de aguardiente gallego

Pero la explicación que os he dado no es muy científica ¿no?. Bueno, para explicar el motivo por el cual el azúcar se disuelve más rápido en un líquido caliente que uno frío, me tengo que remontar a mis clases de química. Por cierto, si algún químico está leyendo este artículo y detecta que en algún dato “me he columpiado”, agradecería que me lo comentase, ya que algunas clases de química me las pase en el “laboratorio” haciendo experimentos con el café, la leche y el tute. Joven padawan que estás leyendo este artículo, por favor, deja de hacer experimentos en el “laboratorio” de tu Universidad o Instituto y no faltes a clase, en serio, a la larga no merece la pena.

La explicación científica de porqué el azúcar se disuelve mejor en un líquido caliente que en uno frío, la tenemos en la energía de las moléculas que forman el líquido, cuanto mayor sea la temperatura del líquido, sus moléculas tendrán más energía o lo que es lo mismo, se moverán más rápido y por lo tanto le resultará más sencillo romper los enlaces que mantienen al azúcar unido. Por eso, si además removemos el liquido, el soluto (azúcar) se disolverá de una forma más eficaz en el disolvente (leche).

Tanto hablar de enlaces moleculares, moléculas y demás cosas pequeñas, me ha recordado una curiosidad que siempre tuve y hasta no hace mucho no pude resolver, y esta no es otra que como se almacena la información en los discos duros magnéticos. No me refiero a la teoría, que si un bit puede ser cero o uno, que si se almacena en sectores o que una aguja lee y escribe esos bits sobre un disco. Mi curiosidad era a más bajo nivel, yo quería descubrir como se podían “almacenar” físicamente esos bits en una superficie como la de un plato metálico de un disco duro. Así que lo que haré es tratar de explicar de la forma más sencilla y comprensible posible como se almacena la información en los discos duros. Seguir leyendo

кофе с молоком

Este es un artículo programado automáticamente, así que si lo estáis leyendo, significará que es el día 1 de junio de 2017 y que no me he podido conectar a una red segura en Moscú (Rusia) para publicar la entrada que tenía pensado. Como seguro que ya sabéis, estos días me encuentro en la ciudad de Moscú, para dar una charla en el primer evento español de ciber-seguridad en Rusia: MoscowC0N. Este es un evento privado al que solamente se podrá asistir con invitación. El evento durará todo el fin de semana. El viernes comenzaremos visitando los lugares más característicos y emblemáticos de la ciudad moscovita, el sábado, durante toda la jornada se celebraran las distintas ponencias, comenzando por David Marugán, experto en seguridad y radiocomunicaciones, Javier Conde, detective y especialista en TSCM, Eduardo Arriols, investigador de seguridad y profesor universitario en U-tad y UCLM, Juan Antonio Frago Amada, Fiscal de delitos económicos, Pedro Sánchez, responsable del equipo de Incident Response de Deloitte, Mª José Montes, auditora de seguridad y cofundadora de QurtubaCON, Luis Jurado, abogado especializado en derecho penal y delitos telemáticos, y Gabriel Bergel, CSA de Eleven Paths. Mi ponencia versará desde un punto de vista eminentemente técnico sobre la evolución de las técnicas de distribución de señal de televisión, hasta llegar al “Card Sharing TakeDown!“.

Fig 1. Cartel MoscowCON Seguir leyendo

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