BotenaGo, escrito en el lenguaje de programación Golang de Google, puede explotar más de 30 vulnerabilidades diferentes.
Un nuevo malware difícil de detectar y escrito en el lenguaje de programación de código abierto de Google tiene el potencial de explotar millones de routers y dispositivos IoT, según han descubierto los investigadores.
Descubierto por investigadores de AT&T AlienLabs, BotenaGo puede aprovechar más de 30 vulnerabilidades diferentes para atacar a un objetivo, escribió Ofer Caspi, investigador de seguridad de Alien Labs, en una entrada de blog publicada el jueves.
El malware, que está escrito en Golang -un lenguaje que Google publicó por primera vez en 2007- funciona creando una puerta trasera en el dispositivo. A continuación, espera recibir un objetivo para atacar desde un operador remoto a través del puerto 19412 o desde otro módulo relacionado que se ejecuta en la misma máquina, escribió.
Golang, también conocido como Go, tiene como objetivo simplificar la construcción de software al facilitar a los desarrolladores la compilación del mismo código para diferentes sistemas. Esta característica puede ser la razón por la que se ha puesto de moda entre los desarrolladores de malware en los últimos años, ya que también facilita a los atacantes la propagación de malware en múltiples sistemas operativos, escribió Caspi.
De hecho, la investigación de Intezer, que ofrece una plataforma para analizar el malware, sugiere que ha habido un aumento del 2.000% en el código de malware escrito en Go que se encuentra en la naturaleza, escribió.
Los investigadores dijeron que en este momento no saben qué actor o actores de amenazas desarrollaron BotenaGo, ni la escala completa de dispositivos que son vulnerables al malware. Hasta ahora, las protecciones antivirus tampoco parecen reconocer el malware, y a veces lo identifican erróneamente como una variante del malware Mirai, escribió Caspi.
Preparar el ataque
BotenaGo comienza su trabajo con algunos movimientos exploratorios para ver si un dispositivo es vulnerable al ataque, escribió Caspi. Comienza por inicializar los contadores de infección globales que se imprimirán en la pantalla, informando al atacante sobre el total de infecciones exitosas. A continuación, el malware busca la carpeta ‘dlrs’ en la que cargar los archivos de scripts de shell. Si falta esta carpeta, BotenaGo detiene el proceso de infección.
En su último paso antes de comprometerse por completo, BotenaGo llama a la función ‘scannerInitExploits’, «que inicia la superficie de ataque del malware mediante el mapeo de todas las funciones ofensivas con su cadena relevante que representan el sistema objetivo», escribió Caspi.
Una vez que establece que un dispositivo es vulnerable al ataque, BotenaGo procede a la entrega del exploit consultando primero el objetivo con una simple solicitud «GET». A continuación, busca los datos devueltos por la solicitud «GET» con cada una de las firmas del sistema que fueron asignadas a las funciones de ataque.
Los investigadores detallan varios ataques posibles que pueden llevarse a cabo utilizando esta consulta. En uno de ellos, el malware mapea la cadena «Server: Boa/0.93.15» a la función «main_infectFunctionGponFiber», que intenta explotar un objetivo vulnerable, escribió Caspi.
Esto permite al atacante ejecutar un comando del sistema operativo a través de una petición web específica utilizando una vulnerabilidad rastreada como CVE-2020-8958. En una búsqueda en SHODAN se encontraron casi dos millones de dispositivos vulnerables a este tipo de ataque, escribió.
«En total, el malware inicia 33 funciones de explotación que están listas para infectar a las víctimas potenciales», escribió Caspi. En el post se incluye una lista completa de las vulnerabilidades que BotenaGo puede explotar.
Dispositivos de backdooring para ejecutar comandos
Los investigadores descubrieron que hay dos formas diferentes en las que el malware puede recibir comandos para dirigirse a las víctimas. Una es la creación de puertos de puerta trasera -31421 y 19412- que se utilizan en un escenario de ataque, escribió Caspi.
«En el puerto 19412 escuchará para recibir la IP de la víctima», escribió. «Una vez que se reciba una conexión con información a ese puerto, hará un bucle a través de las funciones de explotación mapeadas y las ejecutará con la IP dada».
La segunda forma en que BotenaGo puede recibir un comando de destino es estableciendo una escucha a la entrada de usuario del sistema IO (terminal), obteniendo el comando para el dispositivo de esa manera, explicó Caspi.
«Por ejemplo, si el malware se ejecuta localmente en una máquina virtual, se puede enviar un comando a través de telnet», escribió.
Peligros para la red corporativa
Dada su capacidad para explotar dispositivos conectados a través de puertos de Internet, BotenaGo puede ser potencialmente peligroso para las redes corporativas al obtener acceso a través de dispositivos vulnerables, dijo un profesional de la seguridad.
«A los malos actores, como los que actúan en este caso, les encanta explotar estos dispositivos para acceder a las redes internas que hay detrás de ellos, o simplemente para utilizarlos como plataforma desde la que lanzar otros ataques», observó Erich Kron, defensor de la concienciación en materia de seguridad de la empresa KnowBe4, en un correo electrónico enviado a Threatpost.
Entre los ataques que pueden lanzarse una vez que un hacker se hace con el control de un dispositivo y se aprovecha de la red que utiliza, se encuentran los ataques DDoS, que pueden llevar a la extorsión de dinero de las víctimas, dijo. Los atacantes también pueden alojar y difundir programas maliciosos utilizando la conexión a Internet de la víctima, observó Kron.
Dado el número de vulnerabilidades de las que puede aprovecharse, BotenaGo también muestra la importancia de mantener el IoT y los routers actualizados con el último firmware y parches para evitar dejarlos disponibles para su explotación, añadió.