Ataque contra PostgreSQL para minería con Monero

Este es otro caso más de uso de esteganografía para introducir malware en una víctima. La estegranografía es un método que permite ocultar mensajes u objetos dentro de otros. No es una técnica novedosa, aunque las nuevas herramientas introducen nuevos vectores de aplicación pues probablemente este tipo de técnicas se usan desde la época de las narraciones de Heródoto, donde contaba, entre otras historias, como un personaje rasuraba con navaja la cabeza de su esclavo de mayor confianza para tatuarle un mensaje en el cuero cabelludo, esperó después que le creciera nuevamente el cabello y lo mandara al receptor del mensaje con instrucciones de que le rasurara la cabeza.

En este caso la empresa de seguridad Imperva usando su honeypot StickyDB que simula bases de datos susceptibles de ser atacadas, ha descubierto un ataque que coloca malware de minería Monero en sistemas gestores de bases de datos PostgreSQL usando como vector de ataque una imagen de la actríz Scarlett Johansson.

Y claro… uno se preguntará: ¿y cuántos servidores están ahí afuera para ser atacados por cualquiera? Shodan nos dice que más de los que uno podría esperar: 710.000 servidores listos para ser hackeados, lo que lo hace muy fácil, especialmente en Amazon Web Service (AWS) que permite configurarlos sin seguridad.

Los ataques con malware para minado de criptomonedas se han vuelto muy comunes sencillamente porque son muy rentables. Si bien existen malwares que usan exploits sofisticados como EternalBlue, aquí se ha usado esteganografía para ocultar un payload en la imagen de Scarlett Johansson.

Una vez que la víctima se descargó la imagen, esta inicia un ataque de fuerza bruta contra el sistema gestor de base de datos (DBMS). Dado que una instancia de PostgreSQL no debería estar simplemente en Internet en primer lugar, es muy probable que tampoco se haya asegurado de otra manera. El sistema comprometido luego usa PostgreSQL para ejecutar comandos de shell Linux o Unix para instalar un minero de criptomonedas Monero.

Además de intentar extenderse a otros objetivos y ocultarse, el programa comienza a buscar para ver si el servidor tiene acceso a una GPU. A esta altura, ya sea que el malware haya encontrado o no una GPU, la primera cosa que notarás es cuando tu factura del servicio cloud sea mucho mayor que lo esperado. De acuerdo a Imperva, la mayoría de los antivirus falla en detectar este tipo de ataque.

Las recomendaciones de Imperva son:

  • Tener cuidado con las llamadas directas de PostgreSQL a lo_export o llamadas indirectas a través de entradas en pg_proc.
  • Tener cuidado con las funciones de PostgreSQL que invocan binarios en lenguaje C.
  • Configurar un firewall para bloquear el tráfico de red saliente desde el servidor de bases de datos hacia Internet.
  • Asegurarse que la base de dato no tenga asignada una IP pública. En este caso, restringir el acceso solo a los hosts que interactúan con ella (servidor de aplicaciones o clientes de los administradores de base de datos).

Además de las precauciones antes señaladas, si vas a comerte con los ojos a Scarlett, asegurate de mirar imágenes seguras.