Hemos escuchado mucho sobre los ataques de fuerza bruta entrantes de WordPress. Al verificar, podemos ver que las IP del ataque entrante pueden tener cpanel instalado y en realidad se están generando desde algún otro servidor que está infectado.
Dos días antes, recibimos un mensaje de un cliente nuestro que decía que el centro de datos les informó que el servidor está infectado y está generando ataques en otros servidores. Inicialmente, no puedo obtener ninguno de los detalles sobre el ataque, ya que no se está ejecutando ningún proceso malicioso ni el escaneo me dio ninguna pista válida sobre este ataque.
Estaba comprobando el resultado de tcpdump para ver qué datos se están transfiriendo desde el servidor.
user@host ~ # tcpdump -A -i eth0 -s 1500 port not 22
Mientras reviso los resultados, puedo ver que algo está sucediendo y muchas entradas de wp-login.php estaban sucediendo.
Ejemplo de salida de tcpdump (cambio de dominio y nombres de host)
v.G....pPOST /restaurants/wp-login.php HTTP/1.0^M Host: domain.com^M Content-Type: application/x-www-form-urlencoded^M Content-Length: 30^M ^M log=admin&pwd=minedoruksay2940 06:15:22.056294 IP host5.domain.com > host6.domain.com48202: Flags [P.], seq 2779525802:2779527849, ack 2761432155, win 3216, options [nop,nop,TS val 166530731 ecr 1994475337], length 2047
Intenté detener apache y mysql, psa, y todavía se ejecutaban algunos procesos como usuario de www-data y el proceso era algo como el siguiente.
www-data 1258 10.8 1.5 18327 1268 ? Ssl Dec10 129:10 /usr/bin/host
Tomé el resultado de lsof de este comando y obtuve el culpable (cuenta) responsable de este ataque 🙂 Gracias al comando lsof por darme la ubicación y los scripts correctos.
Salida relevante del comando lsof
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME host 20636 username cwd DIR 9,2 4096 60874901 /var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js host 20636 username rtd DIR 9,2 4096 2 / host 20636 username txt REG 9,2 120240 68160132 /usr/bin/host host 20636 username DEL REG 9,2 60817452 /var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/bruteforce.so host 20636 username mem REG 9,2 22928 23855190 /lib/libnss_dns-2.11.3.so host 20636 username mem REG 9,2 51728 23855282 /lib/libnss_files-2.11.3.so host 20636 username mem REG 9,2 12582912 60827148 /var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/.frsdfg host 20636 username DEL REG 9,2 60817412 /var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/libworker.so
cwd : /var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js
La entrada anterior de lsof significa que el ataque se está generando desde esta carpeta y las secuencias de comandos se encuentran en esta ubicación.
/var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/bruteforce.so
/var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/.frsdfg
/var/www/vhosts/domain.com/site1/wordpress/wp-content/plugins/subscribe2/extension/readygraph/assets/js/libworker.so
Los 3 archivos anteriores son los principales archivos pirateados en los que /bruteforce.so no estaba presente en el servidor en ese momento. Este script se eliminó poco después de que se iniciara el ataque.
Para solucionar esto, eliminé toda la carpeta "js" y luego eliminé todos estos procesos. También le pidió al cliente que elimine el complemento. Será bueno si podemos eliminar el archivo binario del host (/usr/bin/host). Si está allí, pueden volver con el ataque y pueden acabar con la reputación del servidor en pocas horas.