2015-01-12

Como buscar posible #malware en tus servidores web

Este es un método que utilizo para monitorear constantemente alguno de los servidores webs que administro, todos basados en tecnología LAMP.


Ustedes saben que un posible atacante que compromete una web generalmente intenta ocultar la información haciendo uso de la función para PHP llamada base64_encode y base64_decode. Esto lo hacen por una simple razón lógica, la idea es ocultar cosas tan obvias que hasta un programador Jr lo podría descubrir y para ellos hacen uso de esas funciones.

base64_encode — Codifica datos con MIME base64, este tipo de codificación está diseñado para que datos binarios sobrepasen capas de transporte que no son de 8-bits 100%, como por ejemplo el cuerpo de un E-Mail.

base64_decode — Decodifica datos codificados con MIME base64.

La codificación en Base64 hace que los datos sean un 33% más largos que los datos el originales.

Entonces para no estar buscando por todos lados y perder el orden de las cosas voy a hacer uso de la consola y un pequeño pero poderoso comando llamado grep

Suponiendo que el virtual host de un usuario sea /home/usuario/public_html/ o bien sea el clásico /var/www/ ingresamos a dicho directorio que queremos realizar busquedas y ejecutamos:

$ grep -ail -e "base64_encode(" -e "base64_decode(" . -R

A partir de aquí podemos encontrar cosas tan bonitas como estas.


Bien escondido el base64_decode() pero evidentemente no para grep.

Con esto no significa que no encontremos falsos positivos, yo lo utilizaría más para realizar una búsqueda rápida y dirigida hacia determinados archivos y directorios.

A hora queda poner en práctica lo aprendido y dejarme sus comentarios.

Saludos!

Entradas populares