PG MEM
PG_MEM es un malware sofisticado que se infiltra en las bases de datos PostgreSQL mediante ataques de fuerza bruta y aprovecha vulnerabilidades en el sistema para llevar a cabo actividades maliciosas, como la minería de criptomonedas. Los investigadores de Aqua Nautilus han descubierto que, una vez que el actor de amenazas logra acceso a la base de datos, crea un superusuario con privilegios elevados y utiliza comandos SQL para ejecutar scripts maliciosos. Estos scripts permiten la descarga y ejecución de dos payloads principales: pg_core y pg_mem. Pg_core se utiliza para eliminar la competencia y garantizar la persistencia del malware, mientras que pg_mem actúa como un dropper que instala un criptominero XMRIG. Además, el malware emplea técnicas avanzadas para evadir la detección, como la eliminación de registros y la ocultación de sus procesos en la memoria del sistema. Este ataque demuestra un alto nivel de sofisticación y resalta la importancia de proteger las bases de datos PostgreSQL contra intentos de fuerza bruta y otras formas de explotación.
Funcionamiento
PG_MEM es un malware sofisticado diseñado específicamente para infectar y operar dentro de entornos PostgreSQL, explotando vulnerabilidades de seguridad y aprovechando técnicas avanzadas para mantenerse oculto, persistente y operativo en sistemas comprometidos. A continuación, se detalla el funcionamiento técnico de PG_MEM, cubriendo las fases clave del ataque, desde el acceso inicial hasta el impacto final.
Acceso Inicial y Ataque de Fuerza Bruta
El ataque comienza con un intento de fuerza bruta dirigido a las bases de datos PostgreSQL expuestas a la red. Los atacantes utilizan herramientas automatizadas para intentar repetidamente adivinar el nombre de usuario y la contraseña hasta que logran acceso. Este proceso aprovecha las credenciales débiles o mal configuradas, un problema común en muchas instalaciones de bases de datos. Una vez que los atacantes obtienen acceso a la base de datos, pueden ejecutar comandos SQL arbitrarios gracias a la capacidad que ofrece PostgreSQL a través del comando COPY ... FROM PROGRAM
. Este comando es esencialmente una puerta de entrada que permite ejecutar comandos de shell en el sistema host desde la base de datos, otorgando al atacante un control considerable sobre el servidor.
Ganancia de Persistencia y Escalada de Privilegios
Una vez que el atacante obtiene acceso, lo primero que hace es asegurarse de mantener el control sobre el sistema. Para lograr esto, el malware crea un nuevo rol de usuario con privilegios de superusuario. Este nuevo rol se utiliza como puerta trasera, permitiendo al atacante reingresar al sistema incluso si las credenciales comprometidas se cambian posteriormente. Además, se manipulan los roles y privilegios de los usuarios existentes, como el usuario postgres
, para eliminar sus derechos de superusuario, limitando el acceso a otros actores que puedan intentar explotar la misma vulnerabilidad.
Exploración del Sistema y Recolección de Información
Después de asegurar la persistencia, el malware procede a recolectar información crítica sobre el sistema comprometido. Para ello, ejecuta una serie de comandos utilizando la función PROGRAM
de PostgreSQL. Entre los comandos ejecutados, destacan uname
y whoami
, que proporcionan detalles sobre el sistema operativo y el usuario actual. Esta información es vital para que el atacante pueda evaluar el entorno, identificar medidas de seguridad presentes y ajustar las tácticas de ataque en consecuencia. Los resultados de estos comandos se almacenan temporalmente en tablas dentro de la base de datos, lo que facilita su acceso y manipulación posterior.
Entrega y Ejecución de Cargas Útiles
La fase siguiente implica la entrega de múltiples cargas útiles, comenzando con la descarga de un archivo denominado pg_core
desde un servidor remoto controlado por el atacante. Este archivo se almacena en el sistema y se prepara para su ejecución modificando sus permisos mediante chmod
y verificando su integridad con un cálculo MD5. pg_core
es un componente crucial del ataque, ya que actúa como un ejecutable malicioso diseñado para llevar a cabo tareas específicas de minería de criptomonedas. El archivo se ejecuta con argumentos específicos, los cuales se codifican en base64 para ocultar su propósito real, aunque al decodificarlos se revela un mensaje relacionado con la minería, confirmando su objetivo principal.
Mantenimiento de la Persistencia y Eliminación de Competencia
Además de la entrega inicial, el malware descarga un segundo archivo llamado pg_mem
, que es otro ejecutable ELF diseñado como un "dropper" para implementar un criptominero adicional, memory
, basado en la herramienta XMRIG. Esta etapa del ataque está orientada a optimizar la operación de minería en el sistema comprometido. PG_MEM también realiza acciones para asegurar su exclusividad en el sistema, eliminando cualquier competencia potencial, incluidos otros malwares que puedan estar presentes. Utilizando comandos de shell, PG_MEM mata procesos sospechosos como kdevtmpfsi
, kinsing
, y otros malwares competidores, asegurándose de que los recursos del sistema se dediquen exclusivamente a sus propias operaciones de minería.
Manipulación del Sistema y Creación de Trabajos Cron
Para garantizar la persistencia a largo plazo, PG_MEM implementa trabajos cron maliciosos. Estos trabajos cron están diseñados para ejecutar pg_mem
automáticamente, incluso si el sistema se reinicia, lo que permite al malware mantenerse activo indefinidamente. También se asegura de que no haya otros trabajos cron legítimos que puedan interferir con sus operaciones. Esta técnica es una forma común de escalada de privilegios y evasión de detección, ya que los trabajos cron pueden ejecutarse con altos niveles de privilegio, asegurando que el malware continúe operando sin interrupciones.
Evasión de Defensa y Eliminación de Evidencia
Uno de los aspectos más preocupantes de PG_MEM es su capacidad para evadir la detección. Después de la ejecución de sus componentes principales, el malware se dedica a eliminar cualquier rastro de su presencia, incluyendo archivos binarios como pg_core
, registros del malware y otros indicadores en el sistema. La eliminación de estos archivos es crucial para evitar que las herramientas de seguridad detecten su actividad. Además, el malware emplea técnicas de enmascaramiento para hacer que sus componentes parezcan archivos legítimos, lo que complica aún más la identificación del malware.
Impacto y Secuestro de Recursos
El impacto final de PG_MEM se centra en el secuestro de recursos del sistema para la minería de criptomonedas. Utilizando el minero XMRIG, el malware consume una cantidad significativa de CPU y otros recursos, lo que puede llevar a una degradación notable del rendimiento del sistema. Este impacto no solo afecta la disponibilidad del servidor para sus usuarios legítimos, sino que también puede aumentar los costos operativos debido al consumo excesivo de energía.
Impacto y consecuencias
PG_MEM es un malware que tiene un impacto significativo en los sistemas que compromete, especialmente en aquellos que operan con bases de datos PostgreSQL. Este impacto se manifiesta en múltiples niveles, afectando no solo el rendimiento y la seguridad del sistema, sino también la integridad de los datos, la disponibilidad de los recursos, y la capacidad de recuperación del sistema. A continuación, se detalla de manera técnica y extensa las consecuencias y el impacto que PG_MEM puede causar en un entorno comprometido.
1. Degradación del Rendimiento del Sistema
El impacto más inmediato y perceptible de PG_MEM es la degradación significativa del rendimiento del sistema. Una vez que el malware ha comprometido un servidor, su objetivo principal es utilizar los recursos del sistema para minar criptomonedas, específicamente Monero (XMR) utilizando el minero XMRIG. Esta operación consume una cantidad considerable de recursos de CPU, lo que resulta en un alto uso de procesamiento y, potencialmente, un consumo elevado de memoria RAM.
- Uso Extremo de CPU: El minero se ejecuta continuamente en segundo plano, lo que lleva a una sobrecarga del procesador. Esto no solo afecta el rendimiento de la base de datos PostgreSQL, sino que también impacta cualquier otra aplicación o servicio que se esté ejecutando en el mismo servidor.
- Disminución del Rendimiento de la Base de Datos: Dado que PostgreSQL es un sistema de gestión de bases de datos relacional (RDBMS), depende en gran medida del rendimiento de la CPU y la memoria. La utilización intensiva de la CPU por parte del malware puede causar lentitud en las consultas de la base de datos, aumentar el tiempo de respuesta y, en casos extremos, provocar la caída de la base de datos debido a la falta de recursos.
2. Aumento en los Costos Operativos
El secuestro de recursos computacionales para la minería de criptomonedas no solo afecta el rendimiento, sino que también puede tener un impacto financiero directo en la organización:
- Costos Energéticos: El uso intensivo de la CPU incrementa el consumo de energía del servidor. En entornos donde la energía es un recurso costoso, esto puede llevar a un aumento considerable en los costos operativos.
- Desgaste del Hardware: El uso constante y elevado de la CPU puede acelerar el desgaste de los componentes de hardware, como el procesador y los ventiladores, lo que eventualmente podría llevar a fallas en el hardware y costos adicionales de mantenimiento o reemplazo.
3. Compromiso de la Seguridad y la Integridad de los Datos
PG_MEM compromete gravemente la seguridad del sistema al crear nuevos usuarios con privilegios de superusuario y al modificar los roles de los usuarios existentes. Estas acciones tienen varias consecuencias de seguridad:
- Acceso No Autorizado: La creación de usuarios con privilegios de superusuario permite a los atacantes mantener el control total del sistema incluso después de que se descubra y se intente remediar la intrusión inicial.
- Modificación y Exfiltración de Datos: Con acceso de superusuario, los atacantes pueden modificar o exfiltrar datos confidenciales almacenados en la base de datos PostgreSQL. Esto no solo compromete la integridad de los datos, sino que también puede llevar a violaciones de datos que afecten a la privacidad de los usuarios y a la reputación de la organización.
- Manipulación de Registros y Logs: PG_MEM tiene la capacidad de eliminar o alterar registros de actividades y archivos de log. Esto complica la capacidad de los administradores de sistemas para detectar el ataque y rastrear la actividad maliciosa, dificultando la respuesta a incidentes y las investigaciones forenses.
4. Disminución de la Disponibilidad del Sistema
El malware también tiene un impacto negativo en la disponibilidad del sistema. Los recursos sobrecargados y los posibles conflictos con otros procesos críticos pueden llevar a una disminución en la disponibilidad de servicios clave:
- Interrupción del Servicio: La sobrecarga de recursos puede causar que los servicios de la base de datos se vuelvan inestables o se bloqueen, interrumpiendo el acceso a aplicaciones críticas que dependen de la base de datos.
- Tiempos de Inactividad: En casos extremos, el uso excesivo de recursos puede forzar a los administradores a reiniciar o incluso a apagar el servidor para recuperar su funcionamiento normal, lo que lleva a tiempos de inactividad no planificados.
5. Eliminación de Competencia y Otros Malwares
PG_MEM es agresivo en su enfoque para asegurar que sea el único malware activo en el sistema comprometido. Elimina procesos de otros malwares que podrían estar utilizando los mismos recursos, lo que tiene varias implicaciones:
- Efecto en la Estabilidad del Sistema: La terminación de procesos de otros malwares puede llevar a inestabilidades del sistema, especialmente si esos procesos estaban involucrados en la operación normal del servidor o si el malware competidor ya había comprometido otros aspectos del sistema.
- Aislamiento del Sistema: Al eliminar otros malwares, PG_MEM asegura que todos los recursos estén dedicados exclusivamente a sus operaciones, lo que maximiza el impacto negativo en el sistema comprometido.
6. Persistencia y Dificultad de Remediación
Uno de los aspectos más peligrosos de PG_MEM es su capacidad para asegurar su persistencia en el sistema:
- Tareas Cron Maliciosas: El malware configura trabajos cron que se ejecutan automáticamente, asegurando que
pg_mem
se reinicie incluso después de reinicios del sistema. Esto dificulta significativamente la eliminación del malware y permite que continúe operando durante largos periodos sin detección. - Eliminación de Evidencia: Después de ejecutar sus cargas útiles, PG_MEM elimina archivos y registros relacionados con su instalación y operación, dificultando la detección del ataque y la respuesta por parte del equipo de seguridad.
7. Impacto en la Reputación y Cumplimiento Normativo
Las organizaciones afectadas por PG_MEM pueden enfrentar consecuencias más allá de los daños técnicos y financieros:
- Daño a la Reputación: La detección de una intrusión como la causada por PG_MEM puede dañar gravemente la reputación de una organización, especialmente si la violación de seguridad resulta en la exfiltración de datos sensibles o la interrupción prolongada de servicios.
- Implicaciones Legales y Regulatorias: En muchos sectores, la exposición de datos sensibles debido a una violación de seguridad puede resultar en sanciones legales y regulatorias. Las organizaciones afectadas pueden enfrentarse a multas y a la necesidad de cumplir con requisitos de remediación estrictos.
Origen y motivación
PG_MEM es un malware que se originó con el propósito de explotar servidores PostgreSQL mal protegidos para minar criptomonedas, específicamente Monero (XMR), utilizando el minero XMRIG. La motivación principal detrás de PG_MEM es financiera, aprovechando recursos de procesamiento de servidores comprometidos para generar ganancias ilícitas a través de la minería de criptomonedas. Este tipo de ataque se dirige a sistemas mal configurados o con vulnerabilidades conocidas, donde los atacantes pueden obtener acceso privilegiado y asegurar la persistencia del malware para maximizar el tiempo de explotación y las ganancias obtenidas.