Hack de VestaCP y correcciones

Escrito el , visto 4837 veces Ver usuariopor



Esta semana comenzamos con un pequeño gran problema muchos de los que tenemos servidores propios: surgió un hack 0day, es decir, fresquito y sin aviso, que atacaba a VestaCP, el sistema de administración de hosting que muchos utilizamos.

Esto impactó fuerte en proveedores como Digital Ocean que sencillamente dieron de baja cientos de "droplets" de servidores enteros dejando "en bolas" a muchos. En un día ya estaba el fix de seguridad de VestaCP pero obviamente afectó a muchos.

Tuve la suerte de que me avisaron muy rápido, gracias Alberto!, y que rápidamente muchos proveedores cerraron el puerto TCP 8083 que utiliza habitualmente VestaCP. A continuación les dejo los pasos para, primero saber si te infectaron, luego para actualizar desde terminal el VestaCP y tercero para cambiar el puerto a otro que no sea tan fácil de encontrar ya que el ataque masivo se realizó en típico modo "bobo" de pasearse por rangos de IP con un script y no mucho más.



Primero que nada si todavía tienen un VestaCP en la versión vieja APAGUENLO! maten el servicio ya mismo:

service vesta stop
o
systemctl stop vesta


Esto no detendrá el Apache ni el NGinX que maneja los sitios, éstos no deberían verse afectados directamente.

Si pueden bloquear todo acceso al puerto 8083 es lo ideal, pueden corroborar si el servidor fue afectado porque el ataque agrega en el cron una línea medio extraña para un servicio con un nombre desconocido, lo ven en

/etc/cron.hourly/gcc.sh


o cualquier cosa nueva que uds. no tengan como normal.

Si utilizan ClamAV como antivirus éste seguramente dertectará algo en

/lib/libudev.so: Unix.Trojan.DDoS_XOR-1 FOUND


Si no lo sacan del cron vuelve a instalarse a sí mismo.

El ataque apuntó a usar los droplets de Digital Ocean para procesar criptomonedas y por eso saltó rápidamente a la luz ya que, obviamente, los CPUs se fueron al tope.

Para actualizar VestaCP vamos a:

cd /usr/local/vesta/bin/

sudo ./v-update-sys-vesta-all


Esto debería actualizarlo a 0.9.8-20 que es la versión que ya tiene el parche, si quieren pueden iniciar el servicio:

sudo service vesta start


Ahora bien, supongamos que quieren cambiar el puerto para que, por las dudas, no vuelva a suceder, esto está en la configuración del NGinX:

/usr/local/vesta/nginx/conf/nginx.conf


Cambian el puerto aquí:

# Vhost
server {
listen 8083;
...
}


Siendo 8083 el default manden cualquiera y está igual, obviamente si tienen el firewall activo tienen que agregar una regla para aceptar conexiones en el nuevo puerto

ACCEPT TCP/ VESTA XXXX 0.0.0.0/0


Siendo XXXX el puerto nuevo

Aquí tienen un comando en una sóla línea (pensado para Ubuntu) que lo cambia al puerto 5600

sed -i 's/8083;/5600;/' /usr/local/vesta/nginx/conf/nginx.conf && v-add-firewall-rule ACCEPT 0.0.0.0/0 5600 TCP && service vesta restart


Comentarios

  1. Genial todavía no me había enterado de este hack

    Citar »
  2. Un placer, Fabio Martín

    Citar »
  3. gracias por compartir, tienes mis +10

    Citar »

Deje su comentario:

(comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador sin previo aviso)

Security Image

Negrita Cursiva Imagen Enlace

Guardar los datos: Si / No