Mientras la gente en todo el mundo permanece alerta y se pregunta cuándo volverán a atacar los famosos grupos de cibercriminales como Lazarus o Telebots con algún otro ransomware destructivo al estilo de WannaCryptor o Petya, hay una gran variedad de operaciones activas que son menos agresivas, mucho más furtivas y, con frecuencia, muy lucrativas.
Una de estas operaciones está activa al menos desde mayo de 2017. Los atacantes infectan servidores web Windows que no tienen los parches necesarios e instalan un software malicioso para extraer una moneda virtual. Su objetivo es utilizar la potencia informática de los servidores infectados para hacer minería de Monero (XMR), una de las nuevas criptomonedas alternativas al Bitcoin.
Los atacantes modificaron un software legítimo de código abierto para extraer Monero y aprovecharon una vulnerabilidad conocida en Microsoft IIS 6.0 para instalarlo furtivamente en servidores sin el parche correspondiente. En el transcurso de tres meses, los delincuentes responsables de esta campaña crearon una botnet de por lo menos cientos de máquinas infectadas y una ganancia en Monero equivalente a más de 63.000 dólares.
Los clientes de ESET están protegidos contra cualquier intento de aprovechar esta vulnerabilidad en particular, incluso aunque sus máquinas no tengan instalado el parche, como con el caso de EternalBlue, el exploit utilizado para propagar WannaCryptor.
Aunque está muy por detrás de Bitcoin en la capitalización bursátil, Monero tiene varias características que lo convierten en una criptomoneda muy atractiva para extraer con malware: sus transacciones no se pueden rastrear y su algoritmo de prueba de trabajo llamado CryptoNight permite usar la CPU o GPU de computadoras y servidores comunes, a diferencia del hardware de minería especializado que se necesita para extraer bitcoins.
Podemos observar que el tipo de cambio salta de 40 USD/XMR a 150 USD/XMR en el último mes, y luego disminuye a 100 USD/XMR.
¿Por qué eligieron minar Monero y no Bitcoin?
Aunque está muy por detrás de Bitcoin en la capitalización bursátil, Monero tiene varias características que lo convierten en una criptomoneda muy atractiva para extraer con malware: sus transacciones no se pueden rastrear y su algoritmo de prueba de trabajo llamado CryptoNight permite usar la CPU o GPU de computadoras y servidores comunes, a diferencia del hardware de minería especializado que se necesita para extraer bitcoins.
Podemos observar que el tipo de cambio salta de 40 USD/XMR a 150 USD/XMR en el último mes, y luego disminuye a 100 USD/XMR.
El miner para extraer la moneda virtual
Visto por primera vez in-the-wild el 26 de mayo de 2017, este software malicioso se extrajo de un programa de minería legítimo de código abierto para minar Monero desde la CPU, que se llama xmrig, versión 0.8.2 (lanzado en mayo de 2017).
Al crear el software malicioso de minería, los delincuentes no hicieron ningún cambio en el código original; solo agregaron argumentos de línea de comandos codificados en forma rígida con la dirección de monedero del atacante y la URL del grupo de minería (pool), además de algunos comandos para finalizar todas las instancias previamente en ejecución de modo que no compitieran con la nueva instancia. Hacer esta modificación les puede haber llevado a los ciberdelincuentes unos pocos minutos.
Las siguientes imágenes muestran el código modificado del atacante y su correspondencia con el código fuente.
Búsqueda y explotación de vulnerabilidades
La distribución del malware de minería a los equipos de las víctimas es la parte más difícil de esta operación, pero incluso aquí los atacantes eligieron la alternativa más fácil. Hay dos direcciones IP que identificamos como la fuente de las exploraciones de fuerza bruta para la vulnerabilidad CVE-2017-7269, y ambas apuntan a Amazon Web Services.
La naturaleza indiscriminada de las exploraciones se hizo evidente por la cantidad de accesos a direcciones IP de las mismas subredes y porque las víctimas eran de distintos países (principalmente de Oriente Medio, el Sudeste Asiático y África del Norte).
Zhiniang Peng y Chen Wu descubrieron la vulnerabilidad aprovechada por los atacantes en marzo de 2017. Se trata de una vulnerabilidad en el servicio WebDAV, que forma parte de Microsoft IIS versión 6.0, el servidor web de Windows Server 2003 R2. Cuando el servidor vulnerable procesa una solicitud HTTP maliciosa, se activa un peligroso desbordamiento de búfer en la función ScStoragePathFromUrl.
En particular, una petición PROPFIND específicamente creada con este objetivo ocasiona un desbordamiento de búfer debido a una reasignación de búfer de tamaño doble al proporcionar erróneamente el recuento de caracteres Unicode en lugar del recuento de bytes. Aquí se puede leer el análisis de Javier M. Mellid, donde detalla el mecanismo.
Esta vulnerabilidad es especialmente susceptible a los ataques porque se encuentra en un servicio de servidor web, que en la mayoría de los casos están destinados a ser visibles desde Internet y, por lo tanto, cualquiera puede acceder fácilmente a ella y aprovecharla.
El payload tiene formato de cadena alfanumérica. Los atacantes reemplazaron la cadena que ejecuta la calculadora de Windows por otra que descarga y ejecuta su payload malicioso. Sin embargo, esto no requiere mucha sofisticación, ya que existen herramientas online (como alpha3) que ayudan a convertir cualquier shellcode en la cadena deseada.
El shellcode es la acción esperada de descarga y ejecución (descarga dasHost.exe desde hxxt://postgre[.]tk/ a la carpeta %TEMP%):
De acuerdo con nuestros datos, el primer ataque in-the-wild ocurrió apenas dos días después de su publicación el 26 de marzo de 2017 y la vulnerabilidad se siguió aprovechando desde entonces.
Este malware minero en particular fue visto por primera vez in-the-wild el 26 de mayo de 2017. De allí en más, siguió apareciendo en tandas, semanalmente o con menos frecuencia, lo que implica que el atacante analiza la red en búsqueda de máquinas vulnerables.
La exploración siempre se realiza desde una dirección IP, al parecer se trata de una máquina alojada en un servidor de Amazon en la nube, que el atacante habrá alquilado para desplegar su software de exploración.
Mitigación
ESET detecta los binarios maliciosos del minero como Win32/CoinMiner.AMW y los intentos de aprovechamiento de vulnerabilidades en la capa de red como webDAV/ExploidingCan. Este es un ejemplo real de un paquete bloqueado por ESET:
Microsoft canceló las actualizaciones periódicas para Windows Server 2003 en julio de 2015 y no publicó ningún parche para esta vulnerabilidad hasta junio de 2017, cuando se descubrieron varias vulnerabilidades críticas de sus sistemas antiguos y atrajeron la atención de los creadores de malware.
La buena noticia es que, a pesar de que el sistema ya está obsoleto y dejó de recibir actualizaciones, Microsoft decidió lanzar el parche para estas vulnerabilidades críticas de modo de evitar ataques destructivos a gran escala similares al brote de WannaCry. No obstante, mantener Windows Server 2003 actualizado puede ser difícil, dado que las actualizaciones automáticas no siempre funcionan adecuadamente (por ejemplo, esta entrada de blog de Clint Boessen confirma nuestras propias dudas sobre la actualización del sistema).
En consecuencia, una gran parte de estos sistemas siguen siendo vulnerables al día de hoy. Les recomendamos firmemente a los usuarios de Windows Server 2003 que instalen el parche KB3197835 y otros parches críticos lo antes posible (si las actualizaciones automáticas fallan, descarga e instala manualmente la actualización de seguridad).
Estadísticas
Gracias a las estadísticas del pool minero, disponibles al público, pudimos ver la tasa de hash combinada de todas las víctimas, que representa la potencia informática total dedicada a la cuenta de minería. El valor parece alcanzar en forma consistente alrededor de 100 kH/s, con un pico de hasta 160 kH/s a finales de agosto de 2017, que atribuimos a las campañas lanzadas el 23 de agosto y el 30 de agosto.
En general, las máquinas infectadas estaban llegando a aproximadamente 5,5 XMR diarios a finales de agosto y alcanzaron más de 420 XMR en total en el transcurso de 3 meses. De acuerdo con el tipo de cambio actual, que es de 150 USD/XMR, estos valores equivalen a 825 USD diarios y más de 63.000 USD en total, respectivamente.
Los atacantes se mostraron muy activos a finales de agosto, pero en septiembre no se detectaron nuevas infecciones. Además, como el malware de minería no tiene mecanismo de persistencia, los atacantes han comenzado lentamente a perder las máquinas ya infectadas y, en el momento en que se escribe este artículo, la tasa de hash total disminuyó a 60 kH/s. Esta no es la primera vez que los atacantes se toman un descanso, por lo que podemos esperar que inicien una nueva campaña en un futuro próximo.
Aunque no conocemos el número total de víctimas, podemos estimarlo por la tasa de hash total producida por el atacante. Según los parámetros de referencia para las CPU, un procesador Intel i7 de alta gama tiene una tasa de hash de alrededor de 0,3-0,4 kH/s. Sin embargo, si tenemos en cuenta que el exploit se limita a los sistemas Windows Server 2003, que probablemente se ejecutan en equipos de hardware antiguos con unidades CPU más lentas, la tasa de hash promedio por víctima será mucho menor y la cantidad total de máquinas infectadas, mucho mayor.
Conclusión
En este artículo vimos que un conocimiento técnico mínimo, costos operativos muy bajos y poco riesgo de ser atrapado (en este caso, el uso indebido de un software legítimo de código abierto para la minería de criptomonedas y el aprovechamiento de sistemas operativos antiguos que no tienen los parches necesarios instalados) pueden ser suficientes para que el atacante se asegure un buen resultado.
A veces se necesita muy poco para ganar mucho y esto es especialmente cierto en el mundo actual de la ciberseguridad, donde incluso las vulnerabilidades bien documentadas, conocidas y advertidas siguen siendo una oportunidad muy eficaz para los atacantes debido a la imprudencia de muchos usuarios.
IoCs |
---|
Sitio de descarga: |
hxxp://postgre.tk |
hxxp://ntpserver.tk |
IPs de origen: |
54.197.4.10 |
52.207.232.106 |
18.220.190.151 |
Hashes: |
31721AE37835F792EE792D8324E307BA423277AE |
A0BC6EA2BFA1D3D895FE8E706737D490D5FE3987 |
37D4CC67351B2BD8067AB99973C4AFD7090DB1E9 |
0902181D1B9433B5616763646A089B1BDF428262 |
0AB00045D0D403F2D8F8865120C1089C09BA4FEE |
11D7694987A32A91FB766BA221F9A2DE3C06D173 |
9FCB3943660203E99C348F17A8801BA077F7CB40 |
52413AE19BBCDB9339D38A6F305E040FE83DEE1B |