Un año después de publicarse el post técnico en el que se analizaba la botnet Mumblehard, compuesta por servidores Linux, esta ha dejado de estar activa. ESET, en colaboración con la unidad de delitos tecnológicos de la Policía de Ucrania y la empresa CyS Centrum, ha conseguido desmantelar esta botnet, interrumpiendo, el 29 de febrero, el envío constante de spam que se producía desde esa red de ordenadores zombis.
ESET se ha encargado de gestionar un sinkhole para notificar, de forma conjunta con el CERT-Bund, a todos los usuarios afectadas a través de diversos CERT ubicados en varias partes del mundo.
Secuelas tras la publicación
Los investigadores de ESET observaron una reacción de los encargados de gestionar esta botnet un mes después de publicar su investigación. En el informe se mencionó haber registrado un dominio que actuaba como servidor de mando y control para el componente de puerta trasera, y que tenía como finalidad calcular el tamaño y distribución de la botnet. El autor del malware decidió entonces eliminar las IP y dominios innecesarios de la lista y mantener solo aquellos que funcionasen y estuviesen bajo el control del atacante.
ESET observó por primera vez esta versión actualizada el 24 de mayo de 2015, apareciendo la primera muestra en Virustotal al día siguiente. Los bots, sin embargo, no se actualizaron inmediatamente. Nuestro sinkhole detectó a un primer grupo de 500 bots actualizándose el 25 de mayo, mientras que el resto recibió la actualización un mes más tarde, el 26 de junio.
Con solo una dirección IP funcionando como servidor de mando y control para el backdoor de Mumblehard y sin mecanismos de restauración, tomar el control de esa dirección IP suponía parar las actividades maliciosas de esta botnet. Por eso ESET decidió pasar a la acción y contactar a las autoridades competentes para que estas tomaran cartas en el asunto.
En busca del centro de mando y control
Con la ayuda de la unidad especializada en delitos tecnológicos de la Policía de Ucrania y la empresa CyS Centrum LLC, fuimos capaces de obtener información del centro de mando y control en otoño de 2015. El análisis forense reveló que la mayoría de nuestras presunciones sobre el tamaño y propósito de la botnet estaban en lo cierto. El envío masivo era su funcionalidad principal y también encontramos un elevado número de paneles de control que facilitaban la gestión de la botnet.
Tal y como hacían los componentes maliciosos de Mumblehard, estos paneles de control usaban Perl como lenguaje de programación.
En el informe inicial, a los investigadores de ESET les faltaba conocer cuál había sido el vector de infección usado por Mumblehard. Supimos que algunas de las víctimas habían sido infectadas al acceder a webs comprometidas que usaban versiones obsoletas de CMS populares, como WordPress o Joomla o alguno de sus complementos.
Al revisar la información del centro de mando y control se descubrió que la infección inicial no parecía haber sido realizada desde un servidor en concreto. Los scripts que se encontraron estaban preparados para ser ejecutados desde shells PHP ya instaladas, lo que hizo pensar a los investigadores que, tal vez, los estuvieran comprando a otra banda de delincuentes.
Otra cosa interesante sobre esta operación es la solicitud de exclusión de aquellas IP que estuvieran siendo detectadas por el sistema Spamhaus Composite Blocking List (CBL). Existía un script que revisaba automáticamente las direcciones IP de todos los sistemas infectados, y si se encontraba uno dentro de una lista negra se solicitaba su exclusión. Este tipo de solicitudes suelen estar protegidas por mecanismos del tipo CAPTCHA para evitar su automatización, pero los delincuentes que estaban detrás de Mumblehard usaban OCR o servicios externos para romper esta protección.
Todas las acciones que requerían contactar con un servidor externo, como ejecutar comandos en shells PHP, exclusión de listados CBL, etc., se hacían mediante los servidores infectados. La característica open proxy del demonio encargado del envío de spam en Mumblehard, que escuchaba en el puerto 39331 TCP, fue utilizada para camuflar la fuente original de la consulta. El panel que comprobaba la disponibilidad de todos los proxies mostraba víctimas en 63 países diferentes.
Últimas estadísticas del sinkhole
Hemos estado recopilando datos de este sinkhole durante el mes de marzo y mostraba que alrededor de 4000 sistemas Linux fueron comprometidos a finales de febrero, pero esta cantidad está decreciendo lentamente.
El CERT-Bund ha empezado a notificar recientemente a todos los afectados y esperamos ver cómo el número de sistemas infectandos va disminuyendo en los próximos días.
Soluciones
Si usted recibiera una notificación de que su servidor se encuentra infectado, puede dirigirse a nuestro repositorio en Github de indicadores de compromiso, donde podrá obtener más detalles sobre cómo encontrar y eliminar Mumblehard de su sistema.
Para evitar futuras infecciones es crucial que las aplicaciones web alojadas en un servidor estén actualizadas (incluyendo los plugins) y que las cuentas con permisos de administrador tengan contraseñas robustas.
Conclusión
Hubo mucho esfuerzo por parte de todos los que hicieron posible desmantelar esta botnet. La colaboración con fuerzas y cuerpos de seguridad resultó crucial para conseguir que esta operación fuese un éxito. A ESET le gustaría agradecer a la unidad de delitos tecnológicos de la Policía de Ucrania, a la empresa CyS Centrum y al CERT-Bund por los esfuerzos realizados para hacer de Internet un lugar más seguro, algo de lo que estamos orgullosos.
Puede que esta no fuera la botnet más prevalente, peligrosa o sofisticada que existiese, pero su desmantelamiento supone un paso en la dirección correcta y muestra que los investigadores de seguridad pueden tener un impacto notable para disminuir las actividades criminales en Internet si colaboran con otras entidades.