Publicado: 2025-09-20 16:20:00 / Seguridad / JIVSoft
Criptojacking: tu CPU podría estar trabajando para un criminal sin que lo sepas
Criptojacking: cuando tus CPUs están trabajando para minar criptomonedas para un tercero sin que lo sepas. No siempre hay pantallas rojas ni ransomware: a veces el atacante roba ciclos de CPU, eleva tu factura eléctrica y degrada tus servicios mientras se esconde silenciosamente.
El criptojacking: trata de un fontanero fantasma que roba agua gota a gota; incluso puede pasar como un inquilino invisible que enciende tus luces por la noche. En ambos casos, el daño es lento, silencioso y difícil de detectar al principio. El criptojacking son malware o scripts que aprovechan CPU/GPU/recursos de red de servidores, desktops o contenedores para minar criptomonedas o realizar cálculos para terceros.
No causa pérdida inmediata de datos ni pantalla de rescate, por eso muchas veces pasa meses sin ser detectado —pero sus efectos se notan en facturas, capacidad reducida y mayor riesgo operativo.
¿Cómo se manifiesta (alto nivel, defensivo)?
-
En hosts comprometidos: procesos desconocidos usando mucho CPU/GPU, cargas de trabajo lentas, colas de trabajos demoradas.
-
En entornos web: scripts JavaScript que minan en el navegador de los usuarios (browser miners) incrustados en páginas comprometidas o inyectados por CDN/JS libs comprometidas.
-
En contenedores / K8s: pods que escalan solos o containers con procesos mineros, o imágenes maliciosas subidas a registries.
-
En servidores con acceso público: uso de vulnerabilidades, keys robadas o paneles no parchados para desplegar miners.
¿Por qué es un problema real? (impacto)
-
Costo operativo: mayor uso de CPU/GPU aumenta facturas eléctricas, reduce vida útil de hardware.
-
Rendimiento: aplicaciones lentas, timeouts, peor experiencia de usuario.
-
Superposición con otras intrusiones: criptojackers frecuentemente coexisten con accesos comprados o usados por otros atacantes —puede ser un “canario” de problemas mayores.
-
Dificultad de detectar: usan binarios legítimos, procesos ofuscados o cron jobs, y a menudo limpian traces superficiales.
Señales de compromiso (IoC) — ¿Qué vigilar ahora mismo?
-
Picos inexplicables y sostenidos de CPU/GPU en servidores que no coinciden con la carga normal.
-
Aumento en el consumo eléctrico o de facturación de la nube sin correlación con crecimiento de carga legítima.
-
Procesos con nombres inusuales o procesos legítimos (ej.
php-fpm,node,python) con hijos que consumen CPU intensamente. -
Conexiones salientes frecuentes hacia hosts/dominios no habituales (posible pool de minería o C2).
-
Archivos binarios nuevos en
/tmp,/var/tmp,/dev/shmoC:\Windows\Temp. -
Crontabs nuevos o tareas programadas con comandos
curl|wget|bash|shen fechas/hora extrañas. -
Descargas de ejecutables desde servicios cloud o repositorios externos en hosts productivos.
-
Logs de contenedores / images desconocidas en registry; pods con re-escalado automático sin despliegue controlado.
-
Browser alerts/usuarios que reportan CPU alta en sus máquinas al visitar páginas específicas (browser-mining JS).
Mapeo a MITRE ATT&CK
-
T1496 — Resource Hijacking (técnica principal).
-
T1105 — Ingress Tool Transfer (descarga de payloads/miners).
-
T1059 — Command and Scripting Interpreter (scripts de arranque o cron).
-
T1078 — Valid Accounts (uso de cuentas válidas para desplegar miners).
Usar este mapeo ayuda a priorizar detecciones y construir playbooks vinculados a técnicas concretas.
Detecciones prácticas (comandos y queries defensivas — solo para observación)
Nota: comandos de inspección readonly y queries para SIEM. No incluyen técnicas de ataque.
Inspección rápida en Linux (comando readonly para triage):
Detección SIEM (pseudokql) — p.ej. buscar hosts con CPU anómala
Query Sumo/Elastic para crontabs modificados (ejemplo):
Nota: adapta umbrales (60% es ejemplo) a la tasa normal de tus sistemas.
¿Cómo buscan entrar los criptojackers? (vectores comunes)
-
Exploits en servicios expuestos (RCE en aplicaciones web o paneles) y posterior descarga de miner.
-
Uso de credenciales robadas o claves privadas en servidores mal protegidos.
-
Compromiso de pipelines CI/CD o registries (subida de imágenes con miners).
-
Inyección de JavaScript en sitios web (XSS, CDN comprometido, librerías JS comprometidas) para minado en navegador.
-
Plugins CMS infectados o paquetes npm/python con código malicioso.
Controles preventivos y endurecimiento (servidores, contenedores y Laravel)
Controles para servidores Linux/Windows
-
Monitoreo continuo de métricas (CPU, GPU, I/O); alertas por anomalía con baselines históricos.
-
EDR/antivirus con firmas y detección de comportamiento (process injection, persistencia).
-
Restricción y hardening de servicios expuestos: parchear, eliminar paneles sin uso, cerrar puertos innecesarios.
-
Revisión de crontabs y tasks programados periódica (detecta persistencia).
-
FIM (File Integrity Monitoring): alertas si binarios nuevos aparecen en paths temporales.
-
Egress control: whitelisting de destinos salientes para servidores críticos, detectar conexiones a pools desconocidos.
-
Rotación y vetting de claves: no usar claves privadas en hosts sin protección; usar vault.
Controles para contenedores / Kubernetes
-
Limits en recursos: definir
cpuymemoryrequests/limits en pods para evitar abuso. -
SecurityContext:
runAsNonRoot,readOnlyRootFilesystem,allowPrivilegeEscalation=false. -
Admission controllers / imagePolicyWebhook: bloquear imágenes no firmadas o de registries no permitidos.
-
Scan de imágenes: vulnerabilidades + búsqueda de backdoors en imágenes con herramientas de SCA/Container Scanning.
-
NetworkPolicy para limitar egress y comunicación intra-cluster.
-
Evitar ejecución de contenedores privilegiados y desactivar mounts innecesarios como
docker.sock.
Controles para aplicaciones web / Laravel
-
Deshabilitar funciones peligrosas en
php.inisi no se necesitan:disable_functions = exec,passthru,shell_exec,system,proc_open,popen(si aplicable). -
Validación y saneamiento de uploads: rechaza archivos ejecutables, valida MIME y guarda fuera de docroot; usa virus scanning en uploads.
-
Evitar exec desde PHP: si se necesita, usar procesos controlados y roles mínimos. Registrar y auditar cualquier llamada a procesos.
-
Dependencias seguras:
composer audit,composer.lockcontrolado y revisión de paquetes; no usar paquetes de origen dudoso. -
Protección contra XSS / inyección: evita que inputs controlados por usuarios inyecten scripts que puedan servir miners a otros visitantes.
-
WAF / ModSecurity: reglas para filtrar payloads de minado y scripts inyectados.
-
Rate limits y timeouts para endpoints que podrían ser utilizados para ejecutar jobs (evitar que un job desencadene la descarga/ejecución de binarios).
-
Segregar infra: evita que el servidor web tenga acceso SSH o a claves de despliegue; usa bastion host.