Linux/XOR.DDoS En sistemas Elastix

El pasado 12 de Diciembre tu ve la necesidad de reinstalar un Sistema basado en Elastix por que la versión 2.5 daba muchos problemas y no era posible mantener operando el servidor asi. Todo iba bien hasta que de pronto el servicio de Internet del sitio empezó a fallar. Despues de una serie de pruebas en la red, se determino que el origen del problema era el PBX, así que procedi a revisar si estaba corriendo el elxupdaterd, que es un proceso que por lo general consume demasiados recursos, pero este proceso no estaba corriendo, pero encontre muchos procesos que corrian y que saturaban la conexión de salida, por lo que procedí a generar reglas de IPTABLES para bloquear esas IP's.

Sin embargo eso no detuvo el proceso de intento de peticiones, y me di cuenta que a la larga esos procesos que corrian en el sistema, lograban cambiar de IP y entonces tenia la misma saturación pero a otras IP's.

Busque información en Internet pero no encontre nada que explicara eso que sucedia, hasta que llegue a esta pagina:  https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/

En ella se explica que el problema es causado por un ataque de Denegación de servicio llamado:

Linux/XOR.DDoS


Por lo que llegue a este sitio: http://blog.malwaremustdie.org/2014/09/mmd-0028-2014-fuzzy-reversing-new-china.html, que desde el 29 de Septiembre de 2014 habia indentificado el problema.

SOLUCION:

Quiza no se ha limpiado la infección en el sistema, pero fue una manera de detener el proceso en el que el server se la pasaba generando peticiones a diversas IP's.

1.- Como mi única opción era un acceso por ssh, y el sistema estaba tan saturado, prepare unas cadenas de iptables de las direcciones IP a las que intentaba acceder el equipo, algo como: /sbin/iptables -A OUTPUT -s 162.211.0.0/255.255.0.0 -j DROP, o la direccion a la que intete acceder, esto lo pueden ver con:   netstat -antop (ironicamente el script genera esa instrucción a cada momento)

2.- Según las instrucciones procedi a eliminar el archivo:   /etc/cron.hourly/cron.sh, luego del archivo /etc/crontab se debe quitar la linea:  */3 * * * * root /etc/cron.hourly/cron.sh

3.- Buscar en:  /etc/init.d todos los archivos que tengan menos de un dia de creados, o quiza mas facil, los scripts que se deben borrar tienen nombres de 10 letras sin ningun significado, cosas como:  izxgfjwter o si los editas vas a ver algo como esto:


Una vez que los elimines, deberas tambien quitar esos mismos nombres de la lista de servicios que se incian. 

4.- Reinicia el sistema y checa que los procesos ya no se encuentren operando.
5.- Es recomendable asegurar el password con el cual se entra al sistema, y verificar si es que nos estan haciendo ataques de fuerza bruta a ese puerto, una recomendación mejor sería cambiar el numero de puerto para el protocolo ssh.

Espero a alguien le sirva esta información.

Comentarios

Entradas populares de este blog

Limitar el tiempo de una llamada por extensión para troncal G0

Borrar archivos con cierta antigüedad en el sistema