Solución Final al Forensic CyberSecurity Challenge.

Ya ha pasado casi un mes de la celebración de ForoCiber en la ciudad de Badajoz, como ya os conté en el artículo: “Solución al Forensic CyberSecurity Challenge. Parte 1”, fui uno de los retadores del CTF (Capture the Flag), de la cátedra ViewNext-UEx sobre “Seguridad y Auditoría en Sistemas de Software” que se llevó a cabo en ForoCiber, mas concretamente me encargué del diseño del reto forense.

Como ya sabéis, GLIDER.es, simplemente es un sitio web dónde cuando me apetece y tengo el suficiente tiempo, escribo unas cuentas lineas sobre temas relacionados con la informática forense, hacking o cualquier otro tipo de aventura. La finalidad de esta web, ni es obtener dinero, ni llegar a situar a GLIDER.es como referente en webs de este tipo. Los que me conocéis, sabéis que esto es simplemente un hobbie que terminará cuando ya no me motive escribir este tipo artículos, eso sí: ¡Espero que todavía quede mucho para que llegue ese día!. Os estaréis preguntando para que os cuento todo esto ahora, el motivo es sencillo, últimamente no dispongo de todo el tiempo que me gustaría para escribir artículos en GLIDER.es, y tengo claro que escribir aquí nunca se convertirá en una obligación, como ya dije, es un simple entretenimiento.

Durante este mes habéis sido muchos los que me escribisteis para preguntar cuando publicaría la segunda parte del artículo: “Solución al Forensic CyberSecurity Challenge”. Os agradezco enormemente vuestro interés por los temas que aquí público, y sobre todo por los ánimos que me dais para continuar, pero tenéis que entender que escribir un artículo técnico con las características de los aquí publicados requiere mucho tiempo, tiempo del que no siempre se dispone. Pero como mas vale tarde que nunca, y lo prometido es deuda, hoy por fin tengo un rato para sentarme tranquilamente delante del ordenador, desconectar de otros quehaceres (que a veces también es necesario), y escribir un artículo mientras disfruto de un sabroso café con leche. Así que os voy a contar la forma de resolver el: Forensic CyberSecurity Challenge.

En primer lugar quiero pedir disculpas a los que habéis leído la Parte 1 de este artículo, en ella os explicaba un método un tanto bizarro (extravagante) para unir las 157.288 partes del fichero de la imagen forense. Ya os comenté que esa no era la forma mas “cómoda” para realizar el concatenado de ficheros, pero en ese momento (la competición estaba abierta) no podía dar una pista que favoreciera a los competidores que visitaran GLIDER.es respecto de los que no, por eso di una pista para que los que estaban atascados pudieran continuar en cierto modo, pero a cambio, tendrían que invertir mucho tiempo en ejecutar todos los comandos que en ese artículo detallé, y no eran precisamente pocos 😉

Seguir leyendo

Solución al Forensic CyberSecurity Challenge. Parte 1

Como seguro que sabéis, hace ya unos meses que Andrés Caro, profesor de la Universidad de Extremadura y director de la Cátedra de patrocinio ViewNext-UEx sobre “Seguridad y Auditoría de Sistemas Software” y Tote Sancho, Ingeniero en Informática y también investigador de la Cátedra ViewNext-UEx, me propusieron desarrollar un #CiberRETO forense, de dificultad alta, para que todo aquel que quisiera participar en la competición individual y demostrar sus competencias en el ámbito de la ciberseguridad, lo pudiera hacer a través de esta fantástica iniciativa, cuya finalidad es detectar y premiar a las nuevas promesas de la ciberseguridad del ámbito nacional. Además, al ganador de la competición, entre otros premios, se le regalará un ordenador portátil de última generación.

 

Fig. 1 Flyer CyberSecurity Challenge

 

La competición se basa en el sistema CTF (Capture the Flag), por lo que a cada participante, se le entregaran una serie de ficheros o accesos a sistemas informáticos, para que a través de distintas técnicas de: Ingeniería inversa, Exploiting, Análisis Forense, Hacking web, Criptografía y Esteganografía, puedan ir descubriendo cuales son los flags de cada una de las pruebas, y así, ir obteniendo puntos en la clasificación final. El que mas puntos obtenga, ganará la competición.

 

Fig. 2 Alzando la bandera en Iwo Jima

 

En el caso del reto forense, se entregará a cada participante un fichero tipo TAR.GZ, nombrado como: “IMAGEN_DIFU_ForoCIBER_m4nu_GLIDER_Forense_MD5_e1b316594ff7bf55c8f8488f5aff4a7b.tar.gz”, con un peso total de 3,4 MB (3.362.087 bytes para ser mas exactos). A partir de este fichero, cada uno de los competidores tendrá que desarrollar sus capacidades técnicas, lógicas e intuitivas para poder realizar un tratamiento adecuado de esta evidencia digital y lograr localizar el tan preciado flag.

Cuando Andrés y Tote me pidieron este reto, al momento sabía lo que tenía que hacer, y esto no es otra cosa que crear un reto realista. En algunas competiciones CTF en las que he participado como competidor, el apartado de análisis forense se basaba en retos totalmente inverosímiles, es decir, que en la vida real nunca se le van a dar esos casos a ningún analista. Por eso yo buscaba huir de ese tipo de pruebas “teóricas”, así que he diseñado una prueba basada completamente en mis experiencias personales y reales a la hora de realizar análisis forenses de distintas evidencias digitales. Una vez explicado esto, y a falta de poco mas de 24 horas para que termine el plazo de presentar las soluciones a los retos, les dejaré en este artículo una pequeña pista a todos aquellos competidores que están un poco estancados con la prueba forense. Ahí va:

En este caso, y en cualquiera que se nos pueda dar, lo primero que deberemos hacer con el fichero TAR.GZ que nos ha proporcionado la organización es fijarnos en el nombre del mismo, quizás a través del nombre podamos obtener la primera pista del reto, o quizás no, pero la única forma de averiguarlo es comprobándolo. En este caso, podemos ver que el nombre del fichero termina en: “MD5_e1b316594ff7bf55c8f8488f5aff4a7b”.

 

Fig. 3 Fichero para analizar

 

Teniendo en cuenta que se trata de 32 caracteres hexadecimales precedidos de la palabra MD5, podemos suponer que sea un HASH tipo MD5 de algo. – ¿Y de que podrá ser?. – Pues por poder puede ser de muchas cosas, pero lo mas probable es que sea: o el hash de una contraseña “cifrada” o el hash del fichero en si. Para comprobar si se trata de una contraseña cifrada, existen muchas formas, pero la mas sencilla es que Google trabaje por nosotros, tan fácil como buscar la cadena en cuestión en el buscador, si nos arroja algún resultado, será un indicador de que se puede tratar de una contraseña:

 

Fig. 4 crack the hash by Google

 

En este caso es negativo, pero si por ejemplo, si el string fuera: “210cf7aa5e2682c9c9d4511f88fe2789” Podríamos pensar que tiene alguna relación con la palabra “admin”, a la cual le corresponde ese hash. Como no se trata de nada de eso, nos olvidamos de esta teoría y pasamos a la siguiente. – ¿Que otra cosa puede ser?. – Lo mas probable es que sea el hash del mismo fichero, así que vamos a comprobarlo:

 

Fig. 5 Hash del fichero evidencia.

 

Como se puede ver en la imagen superior, efectivamente se trata del hash MD5 del propio fichero. Si estas pensando como es posible insertar en el nombre de un fichero el hash de propio fichero y si esto no es un poco como la película de “Inception”, la realidad es que no, como ya expliqué en el artículo: “Prueba Nula, el hash no coincide”  al calcular el hash de un fichero no influye el nombre del propio fichero, así que tranquilamente podremos calcular el hash de cualquier fichero, luego renombrar el fichero por un nombre que incluya la suma MD5 calculada sin miedo a modificar el hash calculado previamente, y no, no es brujería, es simplemente comprender como opera una funciona hash. Todo muy bonito. – ¿Pero para que ha valido todo esto?. – Realmente para nada. Que el nombre del fichero incluya un hash, en este caso solo sirve para comprobar la integridad del fichero que hemos descargado y que no está corrupto o que no nos ha fallado la descarga. Lo siento, el forense es así, no vas a obtener un resultado de interés con cada comando que ejecutes.

Visto lo visto, vamos a descomprimir el fichero para ver lo que tiene dentro, y tratar de continuar con el reto:

 

Fig. 6 Descompresión de la imagen.  

 

Si al tiempo que estás leyendo este artículo vas ejecutando los pasos que te voy contando por aquí, no te asustes por lo que te acaba de ocurrir al tratar de descomprimir el fichero, no estás viendo Matrix en tu consola, esto como ya os dije: es la vida real, no es un reto que alguien se ha inventado en su casa, y si, acabáis de descomprimir ni mas ni menos que: 157.288 ficheros de un TAR.GZ de menos de 4MB!!!.

 

Fig. 7 un maravilloso ls | wc -l

 

– ¿Pero que son todos esos ficheros que parecen secuenciales y tienen nombres como: “IMAGEN_ForoCIBER_m4nu_GLIDER_Forense0000aa”, “IMAGEN_ForoCIBER_m4nu_GLIDER_Forense0000ab”, “IMAGEN_ForoCIBER_m4nu_GLIDER_Forense0000ac”?. – Vamos a tratar de averiguarlo. Si abrimos el primero de los ficheros (teniendo en cuenta el orden del abecedario) con un editor hexadecimal podemos comprobar que el fichero comienza con los valores hexadecimales:4E 54 46 53, o lo que es lo mismo: el valor con el comienzan todas las particiones de discos duro en formato NTFS.

 

Fig. 8 cabecera NTFS en hexadecimal

 

Lo que significa que muy probablemente, teniendo en cuenta el propio nombre del fichero, se trate de una imagen forense de algún tipo de dispositivo de almacenamiento, y si, como seguro que os estáis imaginando, la imagen está troceada en mas de 150 mil partes. – ¿Por qué?. – Eso mismo me pregunté yo el día que me entregaron una imagen forense de un disco duro de 1Tb troceado en partes de 1024 bytes. Aprovecho la ocasión para agradecer a la persona que tuvo a bien trocear en mas de un millón de partes una imagen forense y luego renombrar esos trozos de forma aleatoria para facilitarme la tarea de tratarla. En serio: gracias, gracias a ti hoy tenemos este reto 😉

Ahora comienza lo divertido, si estás pensando en ir a tu Windows, abrir tu herramienta forense favorita y tratar de cargar la imagen “a pelo”, quizás te encuentres con que no vas a poder abrir una imagen troceada en tantas partes. – ¿Y ahora que hacemos?. – Pues si está troceada, vamos a unirla. – ¿Como?. – Con “cat”. Si sois usuarios de sistemas Linux, habréis utilizado alguna vez el comando “cat” para “abrir” un fichero de texto y poder leer su contenido, pero igual lo que no sabéis (o quizás si) es que “cat” realmente no es un visor de texto (aunque se utilice para ello), “cat” lo que hace realmente es concatenar el fichero que le pases con el siguiente, lógicamente si solamente le pasas un fichero y no diriges la salida a ningún sitio, nos mostrará por consola el contenido del fichero. Pero como “cat” realmente lo que hace es concatenar el contenido de los ficheros que le pases, es decir, “unir los ficheros”, podremos concatenar (unir) todos y cada uno de los ficheros en los que se ha partido la imagen y lograremos tener una imagen válida para trabajar, pero… ¡Oh, wait!

 

Fig. 9 cat fake

 

Al igual que el resto de software forense, la lista de argumentos es demasiado larga para concatenarla de una sola atacada, así que tendremos que ir por partes, o mejor dicho, por trozos. Os voy a contar la forma mas extravagante que se me ha ocurrido para unir todas estas partes en una sola, no digo que no existan mas métodos, pero seguro que ninguno es tan chulo como el que os voy a enseñar:

Lo primero será mediante cat, ir concatenando un número limitado de partes, al estar nombrada cada parte en un orden alfabético, podemos ir ejecutando el comando: “cat NOMBRE_DEL_FICHERO_a* > salida1” para en vez de concatenar todos los trozos de una sola vez, ir haciéndolo por tramos y que de ese modo, cat no se sature. Es decir, primero con la A, luego la B, la C, la D… Y así todo el abecedario. ¡OJO! No nos olvidaremos de cambiar el nombre del fichero de salida para que no se sobre escriba con el siguiente, y a poder ser estableceremos nombres que nos permitan conocer el orden de creación: salida1, salida2, salida3

 

Fig. 10 concatenar, concatenar y concatenar…

 

De momento todo va bien, el problema es al hacer: “cat NOMBRE_DEL_FICHERO_z* > salida27”, resulta que en la Z, comienza la siguiente serie de números, por lo que de nuevo nos hemos pasado con el número de argumentos que cat es capaz de procesar.

 

Fig. 11 Quien mucho abarca, poco aprieta.

 

Así que a volver a realizar otro segundo nivel de tramo, en este caso sería algo tal que así: “cat NOMBRE_DEL_FICHERO_za* > salida27”…

 

Fig. 12 cat…

 

Si a estas alturas ya estáis pensando que esto es un rollo, siento deciros que ni tan siquiera habéis comenzando, aún os quedan otros cuatro niveles mas de “abecedario” para poder pasarle un argumento completo a cat sin que se sature. ¿Quien dijo que fuera fácil?… Venga, a seguir: AZA, AZB, AZC, AZD,…, ZZHA, ZZHB, ZZHB,… ZZHYSA, ZZHYSB, ZZHYSC… No seré yo quien diga que no existen métodos mas sencillos para unir estas ciento cincuenta mil partes de una imagen, pero nadie me podrá decir que este no es un método válido, aunque si un poco estrafalario. Aquí es dónde cada cual deberá sacar su ingenio a trabajar para encontrar un método mas “elegante” y sobre todo, eficiente para realizar esta tarea lo mas rápido posible, ya que solo os quedan 24 horas para terminar el reto.

Una vez hayáis acabado de “arrejuntar” todos esos ficheritos, solo os quedará concatenar lo ficheros ya concatenados, valga la redundancia:

 

Fig. 13 concatenando lo concatenado

 

Ahora si, ya sea con este método, programando un script que os automatice la tarea, a hachazos 😉 o con lo que quiera que se os haya ocurrido, habréis logrado obtener un fichero de unos 15728640 bytes, o lo que es lo mismo 15,7MB (si os falta un solo byte, es que algo habéis hecho mal). Si os habéis fijado, entre los tropecientos mil trozos de imagen seccionada, había un fichero llamado: “IMAGEN_ForoCIBER_m4nu_GLIDER_Forense.info”, si lo abrimos con cat (jeje) veremos que reza lo siguiente:

 

Fig. 14 Hash SHA1 de la imagen.

 

En efecto, es el log de creación de la imagen forense, y entre sus lineas nos encontramos con una que nos dice cual es la firma digital, ahora si, en SHA1, de la imagen forense, en este caso, el HASH: 0e991fc1b321fabce495099a783c4146fe074e9f. Si todo ha ido bien, y no nos hemos confundido en el orden a la hora de unir todos los trozos de la imagen y sobre todo, si no nos hemos dejado ningún trozo atrás, al comprobar el HASH SHA1 de nuestro imagen, nos debería dar este mismo resultado, veamoslo:

 

Fig. 15 comprobación del hash

 

En efecto, el hash coincide y ya podremos comenzar el análisis de la evidencia., ¡Por fin!, pero esto ya lo dejamos para otro día, que el reto todavía continua abierto.

Continuará….

Minando que es gerundio. Parte 3 y Final

Si, llevo ya unos cuantos días sin publicar ningún nuevo artículo en GLIDER.es. Desde el último artículo que publiqué, en el que os contaba como implementar un minero de criptomonedas en una página web (y que no os pillen) no he vuelto a publicar nada mas. Las malas lenguas ya estaban diciendo que había obtenido miles de Euros con el minero web de Monero, y que me había retirado a las paradisíacas islas bañadas por las cálidas y cristalinas aguas del océano Atlántico, si, a las islas Cíes. Pero no, de momento lo obtenido con la minería web no me da para tanto. En este último artículo de la saga “Minando que es gerundio” os contaré los beneficios reales que he obtenido, para que podáis comprobar desde un punto de vista totalmente objetivo y riguroso cuan sencillo, o no, es obtener ingentes cantidades de dinero con esta nueva moda de la minería.

 

Fig.1 Paradisíacas islas Cíes

 

Hace poco mas de un mes, el 17 de diciembre de 2017, cree una cuenta en la plataforma CoinHive, para obtener mi primer minero web de criptomonedas, en este caso se trata de Monero, una moneda, que como ya expliqué, está especialmente diseñada para ser minada a través de CPU de ordenadores normales y no a través de chips tipo ASIC como es el caso de los BitCoin.

 


Fig.2 Plataforma CoinHive

 

Una vez cree mi cuenta en CoinHive, el siguiente paso fue obtener el minero, o lo que es lo mismo, el código JS (JavaScript) que me va a permitir “tomar el control” de los ordenadores que visiten una página web concreta, en este caso, de un apartado de GLIDER.es para que los visitantes minen para mi. Este código se puede decir que se divide en dos partes, o al menos, yo lo implementé así.

La primera parte, sería el código fuente del minero en si, en este caso el código lo proporciona directamente CoinHive, así que yo no me tengo que romper la cabeza en desarrollarlo, simplemente lo invoco desde un Script y listo. El código que actualmente está usando CoinHive para sus mineros lo podéis encontrar en este enlace: https://coinhive.com/lib/coinhive.min.js

 


Fig.3 Codigo JS CoinHive

 

Seguir leyendo

Minando que es gerundio. Bis

Este es el típico artículo, o mejor dicho, apartado de artículo, que hace cosa de media hora ni tenía pensado escribir, es mas, ni sabía que lo iba a escribir. Estaba tranquilamente en casa haciendo unas lentejas en la olla express para comer mañana, mientras se terminaban de cocinar, estaba enredando un poco con el portátil, haciendo pruebas para ver que páginas web que se anunciaban como detectores de sitios de minado online eran capaces de detectar el apartado de minería de GLIDER.es. Como ya os comenté en Este Artículo anterior: se me ocurrió una pequeña estratagema para engañar a estos sitios y que no reportaran al apartado de minería de GLIDER.es como un positivo.

 

Fig. 1 Who is Minning? y Not Mininng sin detectar el minero de GLIDER.es

 

 

La idea era sencilla, después de hacer un par de pruebas, me di cuenta que estas web “saneaban las URL” que el usuario insertaba cambiando todos los caracteres a minúsculas, el plan era sencillo: insertar el código de minería en una página cuya URL estuviera formada por letras mayúsculas, y luego crear otra página de “paja” con la misma URL pero en en minúsculas.

 

Fig 2. URL del minero real de GLIDER.es en mayúsculas

 

 

Fig 3. URL en minúsculas con la página de paja de GLIDER.es 

 

 

Así cuando el usuario, copiara la URL dónde yo había insertado el minero, en mayúsculas, y la pegara en la web de detección, esta sanearía la URL cambiando las mayúsculas por minúsculas de forma automática, y por lo tanto en vez de hacer la comprobación de código contra la web real que el usuario le había proporcionado, la haría contra la web “de paja” que no tenía ningún tipo de código de minado, por lo tanto, a los ojos del sistema de detección, el apartado de minería de GLIDER.es estaría siempre limpio de códigos de minado. Ya veis que el sistema utilizado para “engañar” a estas webs es muy básico, pero realmente efectivo, por eso que muchas veces nos empeñamos en buscar soluciones muy complejas a problemas que realmente son sencillos.

 

Fig. 4 Que los arboles no te impidan ver el bosque.

 

Seguir leyendo

Minando que es gerundio. Parte 2

En el Primer Artículo post-navideño de GLIDER.es os contaba lo que significa minar criptodivisas, en ese caso os hablé de Bitcoins, pero ya os anticipé que aunque hoy en día los BTC es la criptomoneda mas reconocida y popular, no quiere decir que sea la única. También os puse en situación de lo que implica realmente minar criptomonedas, con todas las dificultades que esto nos puede suponer: desde tener que comprar dispositivos de minado muy caros, que en un corto espacio de tiempo se quedarán obsoletos, hasta el dinero que tendremos que destinar a pagar la electricidad que consumen nuestros mineros poder mantenerlo encendidos y en producción. Es decir, un doble gasto, por un lado los miles de euros que cuesta comprar los mineros y por otro la electricidad que tendremos que gastar para hacerlos funcionar, siempre y cuando no se nos ocurra utilizar la “electricidad del vecino” sin su permiso, pero ya vimos, que los que hacen eso, al final, acaban comiendo “macarrones”.

 

Fig 1. Unos cuantos mineros incautados.

 

Entonces… – ¿Qué otras opciones nos quedan para poder minar criptomonedas y no tener que hacer una inversión (al menos inicial) de miles de euros?. – Pues subirnos al carro del Minado Web.

Si, minado web, eso que está tan de moda ahora y que tantos titulares nos ha dado en las últimas semanas, dicho sea de paso, titulares todos ellos negativos, normalmente por utilizar la minería web de forma fraudulenta, es decir sin permiso del usuario, esto si lo haces en un web de un par de visitas al día no tendrá mucha repercusión, pero si lo haces en una web con miles de visitas (como todos sabemos que ocurrió) será portada de varios medios de comunicación. Pero antes de meternos en materia, voy a explicar un poco que es eso del minado web.

 

Fig 2. Coinhive, uno de los principales sistemas de minería web.

 

Si para minar BTC (Bitcoins) a través de mineros tradicionales, necesitábamos un minero por un lado y la energía eléctrica por otro, para la minería web tan solo necesitamos un código javascript y una web en la que inyectarlo, es decir, solo necesitamos copiar el código JS (javascript) en nuestra web, y cada visitante que acceda a la web ejecutará dicho código a través de su navegador web y este ordenará al CPU realizar una serie de operaciones matemáticas muy complejas, lo que ya os expliqué en el artículo anterior sobre calculo de hashses por segundo. Durante el tiempo que mantengamos el navegador abierto con esa web, nuestro ordenador permanecerá minando criptodivisas gracias a la potencia de computo del CPU (ni GPU, ni ASIC), lo que implicará que este se ponga al 100% de su capacidad, o lo que es lo mismo, como cuando vas a pasar la ITV de tu coche diésel, y para pasar la prueba de humo pones el motor del coche a las máximas revoluciones a las que pueda ir durante un rato, te gastará bastante combustible durante el proceso, pero quedará impoluto (o casi) para la prueba de gases.

 

Fig 3. Vehículo calamar-diésel alto de revoluciones.

 

Pero si es un portátil y lo pones al 100% de su capacidad, como mucho notarás que el sistema va un poco más lento y si tiene ventilador que este se encenderá, y si es un ordenador de sobremesa, a parte de la lentitud del sistema y los ventiladores, el consumo eléctrico se podrá disparar. Según el consumo de tus CPU, puedes pasar de que tu ordenador esté gastando unos cuantos mWh a varios  kWh. Ya hemos visto que el primer problema de la minería web, es que ralentiza el ordenador y que puede hacer que este consuma más electricidad, además de poder dañarlo por hacerlo trabajar a un rendimiento superior para el que no está preparado. Pero si yo soy el dueño de la página web que ha insertado el código de minado de manera subrepticia en una web, ya os digo que poco me importará el sobre coste de vuestra factura eléctrica o los daños que puedan sufrir vuestros ordenadores. Yo de lo único que me voy a preocupar es de exprimir al máximo vuestros equipos para sacarme unos Euros. Pero tranquilos, sabéis que yo no soy así 😉 Por eso no he insertado ningún tipo de código de este tipo en GLIDER.es, bueno, mejor dicho, no lo he insertado en ningún lugar al que alguien pueda acceder sin conocimiento de causa.

 

Fig 4. CPU quemado.

 

Hace ya unas semanas que llevo haciendo pruebas con estos mineros Web para ver como funcionan, conocer su rendimiento real, los beneficios y perjuicios que pueden causar a los visitantes, así como los inconvenientes que puedan causar para la propia web, de eso es de lo que os voy a hablar en este artículo.

Antes de nada, si queréis ver por vuestros propios medios como funciona un minero web, os dejo Este Enlace al apartado de Minería Web de GLIDER.es, eso sí: tan pronto accedáis, si no tenéis ningún tipo de bloqueo para sistemas de minería online en vuestro ordenador o navegador, notareis todo lo que os conté anteriormente, ya que tan pronto accedáis, vuestro ordenador se pondrá a minar criptomonedas, más concretamente: Moneros (XMR), que es un tipo de criptomoneda, pero de eso ya os hablaré más adelante.

 

Fig 5. Enlace al apartado de MineríaWeb en GLIDER.es

 

Como soy legal, aunque en GLIDER.es el código de minado está oculto para los ojos del visitante (y sin encodear para que vuestros bloqueadores de ser el caso, funcionen correctamente) he insertado unos contadores visibles para que podáis ver por ejemplo cuantos hashes/segundo son capaces de generar vuestros dispositivos. Como curiosidad deciros que me he llevado una gran sorpresa con la capacidad de minado que tienen los nuevos iPhone 8, siendo capaces de obtener tasas de 50 hashes/segundo, lo que es una cifra que no esta para nada mal ¿Y vuestros dispositivos cuantos hashes/sg son capaces de generar?. En general, los smartphone de media-alta gama con los que he realizado las pruebas de rendimiento obtuvieron tasas de cálculo muy superiores a un ordenador domestico, por ejemplo a equipos con procesadores i5 (sin parchear para Meltdown y Spectre), lo que me hacen pensar, que montar granjas de minado con smartphones no es una idea para nada descabellada.

 

Fig 6. Granja de Smartphones.

 

Pero también puedo ser un cap*** e inyectar el mismo código de tal manera que no se vea nada extraño, tan solo la web normal, o incluso una web blanca, como es en Este Caso. Aunque simplemente veáis una web totalmente blanca, con un simple “restringido“, sabed que por debajo, vuestro dispositivo también estará minado Moneros para mi. Pero claro, insertar un minero en una web sin avisar a los usuarios nos es muy ético. Para combatir este tipo de páginas, existen bloqueadores de minería, ya sea a través del propio navegador que detecta el código JS y lo boquea o nos avisa, o incluso a través de los propios antivirus, como es el caso de Eset, que alerta y bloquea al usuario cuando va a acceder a una web en la que han insertado un código de minería.

 

Fig 7. Antivirus ESET bloqueando Coinhive

 

Otro opción para saber si una web está minando algún tipo de criptomoneda, es utilizar los servicios de: Who is mining? Una web que nos informa si en en enlace que le pasamos contiene algún código de minado. Aunque como todo, siempre se puede engañar al sistema para que no detecte el minado, aunque sea tan flagrante como es en el caso del apartado de Minería Web de Glider.es, se le puede engañar igual para que no lo detecte:

 

Fig 8. Who is minning? No detected.

 

Y no, no he encondeado el JS para que Who is mining? No lo detecte, si os fijáis en el apartado de Minería Web de GLIDER.es, el código fuente está perfectamente visible y se pueden leer sin ningún problema las instrucciones con las que opera el minero. ¿Cómo he conseguido engañar a “Who is minning” para que no detecte la minería en GLIDER.es?, Pues con la mayor tontería que os podáis imaginar, tan solo hay que fijarse como sanea las URL insertadas antes de realizar la comprobación 😉

 

Fig 9. Código Fuente del minero en GLIDER.es

 

Lógicamente la idea de este artículo no es mostrar técnicas de ocultación o evasión de AV para que no se detecten este tipo de contenidos web. Pero sí es importante tener en cuenta que no todas las herramientas son capaces de detectar este tipo de estratagemas que utilizan los webmaster para ocultar estos sistemas de minería en su web, por eso siempre es importante tener SENTIDO COMÚN, y prestar atención a los sitios a los que entramos, no por tener un bloqueador web, ya estaremos 100% seguros. Otro detalle importante, es la penalización que puede sufrir una página web con sistemas de minería ocultos, al menos, en cuanto a SEO se refiere. Si tengo una web con miles de visitas gracias a que está bien posicionada en los principales buscadores, y por aprovecharme de los visitantes inserto un minero web en la página, puede acabar pasando que los buscadores me penalicen, no aparezca entre los principales resultados de búsqueda y me quede sin minería y sin visitantes.

 

Fig 10. Facebook bloqueando un enlace saliente a GLIDER.es

 

Otra característica de este minado descentralizado, es que solamente necesitas un dispositivo conectado a internet con una navegador web instalado, y aquí es dónde comienza lo divertido. Normalmente si pensamos en dispositivos con internet y un navegador, lo primero que se nos viene a la cabeza son ordenadores y teléfonos móviles, lo que viene a ser, nuestros principales “dispositivos de minería”. Yo como administrador de un sitio web que utilice algún sistema de minería de este tipo me interesa que desde estos dispositivos se acceda a mi web, y cuanto más mejor, de eso no cabe la menor duda. Pero… – ¿Y soy yo mismo quien genera esas visitas?. Me imagino que alguna vez habréis ido a una gran superficie comercial en la que se venden ordenadores y teléfonos, normalmente existen muestras de estos que están expuestas al público. ¿Qué ocurriría si me tomo la molestia de abrir una pestaña al apartado de minado de GLIDER.es en el navegador de cada uno de esos dispositivos, la dejo abierta y me voy?. Puedo ir mas lejos, tan solo tengo que cruzar de pasillo y acércame a la zona de las televisión, dónde seguro que la mayor parte ya serán SmartTV, si, esas televisiones que tienen conexión a Internet y por supuesto, un navegador web, ¿qué ocurre si las dejo minando a través del WiFi del establecimiento comercial?. Pues la respuesta a esas dos preguntas es sencilla, estaría obteniendo unas beneficios económicos sin ningún tipo de inversión inicial, ya que serían otros los que están minando para mi, ya seas tú, ahora mismo desde tu casa mientras lees este articulo, o las cuarenta televisiones del centro comercial de tu ciudad que alguien las ha dejado minando un par de semanas sin que los vendedores se enteren.

 

Fig 11. Televisiones expuestas en un comercio.

 

Pero antes de que os pongáis a comprar mandos de televisión universales en Aliexpress, para poner a minar las cuarenta SmartTV de la tienda de electrodomésticos que tenéis debajo de casa, os siento desilusionar, pero normalmente las SmartTV no gozan de grandes prodigios de la computación en su interior, es decir, tanto en las neveras inteligentes, los kioskos interactivos, el espejo inteligente y demás tipo de “cacharrada Smart ”, los procesadores que suelen montar son más bien limitados en cuanto a su capacidad de cálculo, por lo que apenas tendrán capacidad de generar hashes, y si no hay hashes, no hay dinero. Lo que todavía no he podido probar es la minería web a través del navegador que algunas video consolas traen instalado, aunque a priorí la potencia de cálculo de hashes/segundo de estos dispositivos de entretenimiento debería ser muy superior a un ordenador más o menos moderno, el problema con el que me he encontrado, es que los navegadores web de las videoconsolas no “se llevan muy bien” con los códigos JS de minería y por lo tanto no funcionan correctamente.

 

Fig 12. SmarTV minando Moneros a una tasa de hashes muy baja.

 

De momento no os he explicado, cuantos hashes/segundo necesitaremos para poder decir que estamos ganado dinero a espuertas, o a cuanto se paga el Monero, estas y otras vicisitudes económicas, son las que trataré en la siguiente parte de este artículo, en el que pondré los números encima de la mesa, para que veáis el rendimiento y los beneficios que puede dar este tipo de sistemas de minería web.

Salu2.