Drupalgeddon 2: una lucha entre mineros

El pasado 28 de marzo el equipo de Drupal publicó la vulnerabilidad CVE-2018-7600, la cual permite la ejecución remota de código en las versiones 7.x 8.x y ha sido calificada como crítica.

Tal y como se hizo eco el portal https://isc.sans.edu/, dicho CVE está siendo utilizado para el minado de criptomoneda. Sin embargo, no solo hemos encontrado que hay más de un grupo utilizando la presente vulnerabilidad, sino que compiten entre ellos por el control de los mismos.
Así pues, en el siguiente post se va a llevar a cabo el análisis de los diferentes malware que hacen uso de la vulnerabilidad de Drupal, así como de la metodología utilizada tanto para la detección de servidores vulnerables como para la infección del mismo por parte de las diferentes muestras detectadas.

Según hemos podido encontrar, la detección de los servidores vulnerables se hace a través de lo que ha sido bautizado como Drupalgeddon 2:

Tal y como se puede observar, el user-agent corresponde a una automatización a través de Python, lenguaje utilizado en la mayoría de PoCs publicadas en Github.

El payload de la petición es “exec”, sin embargo también han sido detectados los siguientes payloads:

echo `whoami`
phpinfo()
echo 123
whoami
touch 1.html
echo "xiokv"
ping .mu6fea.ceye.io -c 1

La infección del dispositivo se lleva a cabo a través de la petición POST descrita anteriormente incorporando un payload de descarga y ejecución de un archivo.

Tal y como hemos podido detectar, el dominio u5evn7.if1j0ytgkypa[.]tk parece actuar también como C2, habiendo detectado un acceso a través de una pantalla de login.

El archivo i descargado a través de la ejecución remota de código es un script en bash la cual llevará a cabo la infección y persistencia en el equipo.

En el hilo principal podemos encontrar las funciones run, writecrontab y writerc.

run: lleva a cabo la descarga de la herramienta de minado xmrig según su arquitectura.

Dicha herramienta conectará contra el puerto 6666 del dominio u5evn7.if1j0ytgkypa[.]tk, la cual, actualmente resuelve a las direcciones IP 207.246.113.230, 144.202.37.130.

writecrontab: lleva a cabo la descarga de ese mismo fichero cada 30 minutos, en busca de posibles actualizaciones.

writerc: persistencia en el sistema a través del almacenamiento del script en rc.local, de cara a un arranque del proceso ante el reinicio de la máquina.

Sin embargo, la función que nos ha llamado más la atención es kd, la cual lleva a cabo la descarga de un script en bash cuya única función es matar procesos asociados a otros mineros.

Entre ellos, destacamos suppoie, el cual, curiosamente corresponde con otro minero que actualmente hace uso de la vulnerabilidad CVE-2018-7600.

Análisis de Suppoie

Utilizando la misma vulnerabilidad de ejecución remota de código, Suppoie descarga el fichero logo8.jpg a través del siguiente payload:

El archivo logo8.jpg corresponde, del mismo modo que el malware anterior, a un script en bash:

Tal y como podemos observar, el malware lleva a cabo la descarga y ejecución del archivo logo7.jpg, el cual es exactamente igual que el archivo logo8.jpg.

Por otra parte, almacena el fichero de configuración en el archivo 1.json., así como el minero xmrig (bajo el nombre suppoie).

Finalmente, ejecuta el archivo suppoie con la configuración almacenada anteriormente para iniciar así, el proceso de minado de criptomoneda.

Análisis de Suppoie 2

Muy curiosamente, hemos encontrado una segunda versión de Suppoie in the wild, la cual descarga el archivo logo4.jpg:

Al parecer, interesado en la funcionalidad de su competidor, el script ha incorporado la eliminación de procesos vinculados a malware relacionado con el minado:

Además, también incorpora el parado de contenedores que contengan las cadenas nginx78 o kube-apis.

Tal y como podemos observar, los grupos cibercriminales están muy atentos a la actualidad e incorporan con relativa frecuencia nuevas vulnerabilidades a su repertorio, sobretodo a aquellas cuya ejecución remota de código sea fácil de implementar. Por lo que debemos estar muy atentos a la aplicación de parches en nuestros CMS, aunque quizá sea más divertido esperar a que se borren entre ellos.

IoC

5c191bc8e6da21f05448c8cf355a3163570b06809535f67680e180c9e032108c
5594eaa0190357ddd03a33eac0feb7dc0e42b86c48340687736578ac6581791b
c1e9f5615856272b655267557c04125e400d6279b7eda31dd53b5afb002c9b06
64060c283c5e6a3d717202054e4bf46e380a2f4cb3fbef839ecc1185c39bce15
3d4fb17fe5ea326b9a2591c16693c6db7d609542ac2af7f82d78ff2ca5303cbb
eb508c2a4e1c7e109c5571b2fae879c8bd7a92b958aeaa8c6d2baf2b1b1585f6
e0b75f4537a244d285871b40f46d04bfc5f2ff52450ccba298d38345e44c8243
158.69.133.18
144.202.37.130
207.246.113.230
u5evn7.if1j0ytgkypa[.]tk
tc8zdw.if1j0ytgkypa[.]tk

Referencias