HowTo

Protege tu servidor contra código maligno oculto en imagenes

Aunque no es nada nuevo, recientemente vi que el ocultar código malicioso como Weevely en imágenes se ha puesto de moda nuevamente, aquí te explico como eliminar código oculto en imágenes de tu servidor.

Aunque no es nada nuevo, recientemente vi que el ocultar código malicioso como Weevely en imágenes se ha puesto de moda nuevamente, aquí te explico como eliminar código oculto en imágenes de tu servidor.

El día de hoy vi un tweet que me llamo la atención, vinculaba a una pagina que explica como ocultar código php en una imagen para luego ser ejecutado como parte de un exploit. El código maligno lo ocultan en la metadata de la imagen bajo el campo ‘Comments’ que luego es usado como parte de una consola web llamada Weevely.

El articulo va un poco mas profundo explicando que usan la función passthru() para pasar los comandos al servidor con una petición web y __halt_compiler() para evitar que la imagen siga siendo procesada como un archivo binario.

Aunque no es nada nuevo, recientemente vi que el ocultar código malicioso en imágenes se ha puesto de moda nuevamente, aquí te explico como eliminar código oculto en imágenes de tu servidor.  
 

 

Eliminar el backdoor Weevely oculto en imágenes de tu servidor.

Si tienes un blog o eres webmaster de una pagina web que acepta que los usuarios suban imágenes, puedes ejecutar este script modificandolo a tu conveniencia.

#!/bin/bash
ORVTECH_DIRS="/var/www/htdocs/wordpress/wp-content/uploads/20*"
#
for ARCHIVO_JPG in `find $ORVTECH_DIRS -type f| grep -i jpg$ `;
do
convert -strip $ARCHIVO_JPG $ARCHIVO_JPG
done

Como ven, el script recorre todas las subdirectorios de $ORVTECH_DIRS en busca de imágenes jpg, luego las pasa por imagemagick para quitarle cualquier metadata innecesaria, incluyendo los comentarios. De esta forma terminas con imágenes sin código oculto y un tanto mas ligeras.

 

2 Comments

  1. Exodus

    Buena entrada y script.

    Quisiera añadir (creo que sería bueno) para los admins novatos para que no se alarmen que sólo porque exista este código dentro del JPG no significa que lo vaya a ejecutar PHP, hacen falta más trucos y forzar el apache y php a interpretar los comentarios como código PHP para que esto sirva de algo.

    Aún así es importante tener limpios estos archivos y añado que sería interesante que colocaras otro script que botara todos los comments de todos los JPG de una carpeta dada. Ej:

    Wp/images/
    .Abc.jpg => ""
    .Acd.jpg => "Canon EOS"
    .H4x.jpg => "<?php TeLoMetoPorAqui() ""

    ¿Como algún indicio de posible entrada al servidor?

    Buen post!

  2. Higi

    Buen post, en las imagenes siempre es facil que te cuelen algo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

La moderación de comentarios está activada. Su comentario podría tardar cierto tiempo en aparecer.