Una sola consulta dio acceso a SYSTEM: convirtieron una base de datos Oracle en base para un ataque encubierto

Una sola consulta dio acceso a SYSTEM: convirtieron una base de datos Oracle en base para un ataque encubierto

Los delincuentes no tuvieron que infiltrarse en el servidor. La plataforma ejecutó los scripts "khunt" y entregó el control del sistema.

image

Las bases de datos suelen percibirse como un almacén de información, no como una herramienta para el hacking, pero los atacantes encontraron la forma de convertir Oracle Database en una plataforma de ataque. La empresa Huntress detectó un caso en el que los piratas informáticos instalaron el conjunto de herramientas de postexplotación khunt directamente dentro de la base de datos Oracle, que se utilizó para acceder a la red corporativa.

El incidente se registró el 27 de julio de este año, cuando la plataforma Huntress detectó el robo de credenciales en un servidor con Oracle. Los registros de Apache mostraron que el acceso se obtuvo a través de una función de búsqueda vulnerable de una aplicación Java pública en Apache Tomcat. La función de autocompletar en la búsqueda no validaba los datos introducidos, lo que permitió enviar comandos SQL directamente a la base. Las solicitudes maliciosas se rastrearon hasta la dirección IP 178.162.151[.]229.

Oracle incluye una máquina virtual Java integrada y el operador CREATE JAVA SOURCE, que permite almacenar y compilar código Java como objeto de base de datos. Tales objetos se pueden ejecutar con comandos SQL y, con ciertas configuraciones, permitir la ejecución de comandos del sistema operativo. Los atacantes aprovecharon esto y compilaron el conjunto khunt directamente dentro de la base, sin alojar archivos en el servidor. Según Huntress, esta técnica se registra con muy poca frecuencia.

El conjunto incluía varios componentes. KhuntCmd lanzaba cmd.exe y ejecutaba comandos del sistema operativo mediante consultas SQL. KhuntHash accedía a la tabla interna de usuarios de Oracle y escribía nombres de cuentas y contraseñas en un archivo. KhuntFS permitía explorar y buscar archivos, y KhuntT se usaba para comprobar la instalación exitosa de la herramienta.

Con KhuntCmd los atacantes ejecutaron el comando whoami y comprobaron que los comandos a través de Oracle se ejecutaban con privilegios SYSTEM en el servidor Windows. Luego, mediante PowerShell se copiaron las ramas del registro SAM, SECURITY y SYSTEM, de las cuales se pueden recuperar los hashes de las contraseñas de cuentas locales. También se ejecutó el comando tasklist /svc para recopilar la lista de servicios. Huntress señaló que probablemente pretendían llevarse las ramas del registro, sin embargo no se aporta confirmación de que los archivos se hubieran robado con éxito.

Para reducir el riesgo de este tipo de ataques, Huntress recomienda validar y depurar todos los datos que provengan de los usuarios, así como limitar los privilegios de las cuentas de base de datos usadas por aplicaciones públicas. A dichas cuentas no se les deben conceder permisos para crear objetos Java, ejecutar procedimientos almacenados innecesarios ni otras acciones administrativas.