Hace unos meses, noté un comportamiento inusual en uno de mis servidores.
A pesar de que había eliminado una vulnerabilidad anterior, mi proveedor de alojamiento me informó que la carga de la CPU había estado consistentemente alta, incluso superando los 5-6 en promedio:
Lo cual es alarmante para una máquina de cuatro núcleos.
Después de investigar a fondo, no encontraba la causa.
La asistencia técnica tampoco pudo identificar el origen de esta carga, descartando inicialmente cualquier actividad maliciosa. Sin embargo, con el tiempo y tras algunos análisis, descubrí algo sospechoso: la carga aumentaba de forma astuta cada vez que accedía por SSH y, curiosamente, desaparecía durante ciertos periodos.
Hallazgo Inicial: Cron Job Sospechoso
Decidí realizar una búsqueda exhaustiva de archivos en el sistema y me encontré con esta tarea programada en cron
:
CRON 11 * * * * /root/.config/cron/percc - Watch VIRUSTOTAL
Bash¿Qué significa esto?
Este cron job ejecutaba un archivo malicioso (percc
) cada hora. Al verificar la actividad de este archivo, vi que estaba cargando procesos maliciosos en segundo plano.
Paso 1: Identificando Archivos Relacionados con el Ataque
Con el siguiente comando, busqué archivos modificados en fechas sospechosas:
find / -newermt "2023-09-14" ! -newermt "2023-09-16"
BashEsto reveló varios archivos y directorios ocultos que habían sido manipulados, como:
- /etc/profile: se añadió una línea maliciosa exportando un PATH modificado.
- /bin/.local/bin: un directorio creado específicamente para alojar binarios que imitaban herramientas del sistema (como
htop
ylsof
), pero infectadas.
Paso 2: Explorando el Malware en los Directorios
Dentro de /bin/.local/bin, encontré varias herramientas del sistema falsificadas. Al listar los archivos en este directorio, observé lo siguiente:
ls -la /usr/bin/.local/bin/
BashLos binarios dentro de esta carpeta estaban todos modificados y nombrados con adiciones como “VIRUSTOTAL” para hacerlos pasar desapercibidos. Esto significa que, cada vez que usaba uno de estos comandos (por ejemplo, htop
), el malware estaba actuando sin ser detectado.
Paso 3: Archivos de Sistema Alterados
En /etc/systemd/system/timers.target.wants, identifiqué un archivo de configuración:
[Unidad]
Descripción = Kernel module perf audit and reporting
ExecStart =/bin/perfcc
BashEste archivo ejecutaba otro binario malicioso (perfcc
) diseñado para cargar módulos de kernel con fines de espionaje o minería de criptomonedas.
Paso 4: Rastreo de Actividad Maliciosa
Realicé una búsqueda de otros archivos relacionados con esta actividad maliciosa en diferentes fechas, lo que me llevó a encontrar más archivos falsos y procesos ocultos. También descubrí que el servidor estaba realizando conexiones a trafmonetizer, lo que indicaba que alguien estaba utilizando mi máquina para generar ingresos.
Lección Aprendida y Próximos Pasos
Este análisis fue solo el comienzo. Me di cuenta de la importancia de monitorear regularmente los procesos y los archivos del sistema. Para aquellos en situaciones similares, les recomiendo:
- Ejecutar herramientas como
rkhunter
ychkrootkit
para buscar rootkits y malware en el sistema. - Revisar cron jobs y archivos en
/etc/systemd/system/
para encontrar cualquier ejecución sospechosa. - Mantener registros y respaldos regulares del sistema para comparar y detectar cambios inesperados.
Este incidente está en curso, así que mantente atento a futuras actualizaciones.
Compartiré más conforme descubra nuevos detalles.
S.I Stega Intelligence