Cryptojacking: cuando una máquina mina para otra persona
Cómo entra el malware de minería, por qué el dueño de un rig es la persona a quien más cuesta ocultárselo y la más fácil de engañar, y cómo revisar y limpiar un equipo como es debido.
Qué es
El cryptojacking es alguien ejecutando un programa de minería en un hardware que no es suyo y que no paga. No es algo raro: es lo más común que hace un malware con una máquina una vez que la controla, porque el pago no necesita engañar a la víctima en nada más después. La víctima es la factura de la luz, y llega en silencio.
Casi siempre es Monero. La moneda se puede minar con beneficio en procesadores corrientes, así que unos pocos miles de ordenadores de oficina valen la pena, y su privacidad hace que el dinero no se pueda rastrear. El programa suele ser XMRig, un programa de minería corriente de código abierto, con el nombre y la configuración cambiados.
Una máquina que mina para otra persona no se comporta como infectada de la forma que la gente espera. No se cifra nada, no falta ningún archivo, no aparece ningún rescate. Solo se calienta, reduce su rendimiento, desgasta los ventiladores y cuesta dinero.
Por qué es diferente cuando ya minas
Todos los artículos genéricos dicen lo mismo: busca un uso alto del procesador, busca calor, busca ventiladores. En un rig, las tres cosas son el estado normal, así que el consejo habitual no detecta nada. Ser minero te convierte en la persona mejor equipada para encontrarlo y en la más fácil de engañar.
La ventaja es que tienes algo que casi nadie más tiene: un segundo registro, independiente, de lo que produjo tu hardware. El panel de tu pool se mide en el servidor de otra persona, a partir del trabajo que realmente llegó. Si el rig muestra un hashrate y el panel queda claramente por debajo, una vez descontados los shares obsoletos, algo se está comiendo la diferencia.
Cómo entra
Las vías han cambiado poco, y ninguna requiere un atacante sofisticado.
- Software crackeado y pirata. Sigue siendo la mayor fuente individual. Un keygen o un instalador modificado de una aplicación de pago es un programa que aceptaste ejecutar con tus propios permisos, y el programa de minería viaja dentro del paquete.
- Cualquier cosa expuesta a internet sin parchear. Los fallos antiguos y muy conocidos del software de servidor se buscan sin parar, y un programa de minería es la carga preferida porque saca dinero de una máquina que no guarda nada que valga la pena robar.
- USB. Las campañas recientes se copian en unidades extraíbles y se esconden tras un acceso directo que parece el icono de la unidad, y así es como una red sin exposición a internet acaba igualmente infectada.
- Imágenes de contenedor y de compilación. Una imagen base descargada de un registro público puede traer uno, y entonces mina dentro de cada entorno construido a partir de ella.
- Una pestaña del navegador, aunque mucho menos que antes. Los scripts que minan mientras una página está abierta fueron una industria hasta que el mayor proveedor cerró en 2019; todavía existen en sitios de streaming y de descargas, pero se detienen cuando se cierra la pestaña.
Las señales en una máquina que debería estar inactiva
- Nunca está inactiva de verdad. Los ventiladores siguen acelerados y la caja sigue caliente sin nada abierto.
- Un proceso que no sabes explicar, a menudo con un nombre parecido al de un proceso real del sistema. Un solo carácter distinto en un nombre conocido es un truco habitual.
- Un uso que baja en cuanto abres el administrador de tareas y vuelve cuando lo cierras. Ese comportamiento es deliberado y, por sí solo, ya es casi una prueba.
- Una tarea programada, un servicio o una entrada de inicio que nadie creó.
- Conexiones salientes a un host que no reconoces, repetidas a un ritmo fijo.
Las señales en un rig que debería estar minando
Aquí la pregunta no es si algo está minando, sino si todo lo que está minando es tuyo.
- El panel queda por debajo de lo que informa el rig, de forma constante, más allá de lo que explican los shares obsoletos.
- Dos procesos de minería donde tú iniciaste uno. En un rig con varias GPU, vale la pena contarlos.
- Tu script de inicio o tu flight sheet tiene una dirección de billetera o un host que no escribiste tú. Léelo con atención, no le eches solo un vistazo: una dirección alterada por el medio parece idéntica a primera vista.
- Una tarjeta se calienta y no produce nada en tu pool, que es justo el aspecto de un segundo programa de minería fijado a un solo dispositivo.
- Mina cuando ya lo detuviste. Si parar tu propio programa de minería no calma la máquina, hay otra cosa ejecutándose.
El cambio de billetera, que cuesta más que la electricidad
Otra familia de malware hace algo peor y más sencillo. Vigila el portapapeles y, cuando copias algo con forma de dirección de billetera, lo sustituye por la del atacante, eligiendo una que empieza y termina con los mismos caracteres para que una comprobación rápida pase. Hay gente que ha perdido grandes sumas así sin ninguna minería de por medio, y los dos suelen instalarse juntos.
Para un minero existe una segunda versión de la misma idea: la dirección dentro de un script de inicio o de un flight sheet se reescribe una vez, y todos los pagos a partir de ahí van a otro sitio. Nada se rompe. El rig mina perfectamente. El dinero simplemente llega a otra billetera, y lo habitual es descubrirlo al preguntarse por qué un pago nunca llegó.
La defensa es aburrida y funciona. Después de pegar una dirección en cualquier sitio que importe, comprueba la dirección entera y no solo los extremos, y confirma que la dirección de tu panel es la que querías. Si tus pagos se detienen pero tu hashrate no, revisa la dirección antes que cualquier otra cosa.
Cómo comprobarlo, en orden
- Compara los dos hashrates. El que informa el rig frente al del panel del pool, a lo largo de un día y no de un minuto.
- Lee tu propia configuración. Cada dirección de billetera y cada host, carácter por carácter, en cada rig.
- Detén tu programa de minería y observa. Una máquina que sigue ocupada después tiene otra cosa ejecutándose.
- Haz una lista de lo que se inicia solo. Tareas programadas y servicios en Windows, timers y cron en Linux, además de todo lo que se ejecuta al iniciar sesión.
- Mira las conexiones salientes con tu programa de minería detenido. Cualquier cosa que siga comunicándose a un ritmo fijo merece que la identifiques.
- Analiza con algo de confianza, pero no te quedes en un resultado limpio. Los programas de minería se modifican de forma rutinaria hasta que los antivirus dejan de reconocerlos, y por eso este paso es el último y no el primero.
Eliminarlo no es borrar el archivo
Están hechos para volver. Borrar el programa mientras sobrevive lo que lo inicia solo te da unos minutos. Elimina la tarea programada, el servicio, la entrada de inicio, la línea de cron y la clave del registro, después el archivo, después reinicia y comprueba que nada ha vuelto.
En una máquina importante, y sobre todo en cualquiera que haya guardado una billetera o una clave privada, considera reinstalarla como la opción honesta. El mismo acceso que instaló un programa de minería podría instalar cualquier otra cosa, y una campaña moderna habrá recogido credenciales por el camino. Cambia las contraseñas que esa máquina haya visto, desde otro dispositivo.
Cómo mantenerte limpio
Las reglas que de verdad lo evitan son aburridas, y son precisamente las que la gente se salta porque minar implica descargar software sin firmar de desconocidos.
- Los programas de minería se descargan de la página de versiones del propio proyecto, y compruebas el checksum publicado. Un programa de minería sacado de un enlace de un foro, de la descripción de un vídeo o de un archivo reempaquetado es la forma más probable de que se infecte una máquina de minería, precisamente porque esperabas un aviso y lo ignoraste.
- Nunca ejecutes software pirata en una máquina que mina o guarda una billetera. Nunca. Los dos hábitos no se mezclan.
- Actualiza todo lo que esté expuesto a internet. La mayoría de las infecciones son automáticas y eligen las máquinas por su número de versión.
- Mantén la billetera en la que cobras separada de la máquina que mina. Un rig solo necesita una dirección, nunca claves.
- Revisa tu dirección de pago después de cualquier cambio en un rig, y otra vez después de cualquier cosa inesperada que le ocurra.