Vulnerabilidad en ElasticSearch 1.1

Recientemente hemos sufrido un ataque por una vulnerabilidad del ElasticSearch. Resulta que el ElasticSearch 1.1 tiene un agujero que si le metes suficiente tralla te cuela un script que por defecto se ejecuta y hace lo que quiere. Como veis no es una descripción muy técnica, pero os cuento los síntomas del ataque, los scripts malignos y cómo solucionarlo. Para información más técnica solo encontré esta referencia.

La identificación

El consumo de ancho de banda, sobre todo de salida, se disparó a lo bestia, con una media de 70Mbps (una barbaridad)
En el servidor descubrí 2 scripts desconocidos ejecutándose por el usuario elasticsearch:
/tmp/.ECC6DFE919A382BADRR1A8CDFC9FB43AA0 (es un archivo oculto!)
/tmp/zerl

Parece ser que el primero crea al segundo script (es un script en perl). El .ECC6xxxxx (el nombre es aleatorio, al rato se volvió a ejecutar con otro nombre) genera algún tipo de información que el segundo script, zerl, lo envía a unos servidores en China. No tengo claro lo que es, posiblemente estén minando bitcoins?

Otros efectos secundarios

No se si fue el mismo ataque pero encontré otras cosas chungas, como otros scripts y binarios sospechosos en la carpeta /tmp/: pack.pl, zero.pl, md.c., linux64…

Los scripts

Están en este .zip: troyano.zip Bájalos sólo si sabes cómo controlarlos y para analizarlos. ¡Ojo!, es código malicioso y no sé lo que hacen.

Solución
0. (opcional) Instalar el tcpdump y mirar lo que hace el script y las IPs que ataca
1. Matar los procesos y borrar los scripts.
2. Actualizar el ES a la versión 1.2 o superior. Yo he pasado a la versión 1.3 de golpe y no he tenido incompatibilidades de ningún tipo (uso haystack como cliente)
3. Cerrar el puerto 9200 en el firewall.
4. (opcional) Si sabes qué IPs ataca (punto 0), cerrar esas IPs en el firewall.

 

2 Comments

  1. Ochoto said:

    El “zerl” es un reverse shell. Se conecta a la IP/puerto que le indican en la línea de comando y lanza un shell que se controlará desde el otro extremo. El otro es ejecutable linux que no he tenido ocasión de analizar.

    27 August, 2014
    Reply
    • said:

      Muy interesante, parece que controlas de esto?

      27 August, 2014
      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *