Detectando cambios anónimos en nuestro sitio Web

Uno de los problemas de seguridad más comunes es la modificación de un website por parte de un atacante. Tanto en su versión ‘deface’ como en otras vertientes mucho peores.
Hoy día es muy común sufrir un ataque a un CMS como Joomla o WordPress y que la web termine sirviendo para distribuir malware mediante la inyección de alguna suerte de código en HTML/Javascript.
Hace unos días leí en NIXCRAFT un interesante artículo donde reseñaban la herramienta incron. Una herramienta que, aprovechando Inotify(), permite detectar en tiempo real cuando se modifica un fichero o directorio y lanzar un comando.

Con esta herramienta resulta muy fácil crear un pequeño sistema HIDS para que nos avise en tiempo real si algún fichero del directorio que contiene nuestra web sufre algún cambio (o aparece un nuevo fichero)
Lo primero que hemos de hacer es instalar dicha herramienta. Vamos a usar Fedora como sistema base aunque trasladar el concepto a un entorno Debian resulta trivial.
# yum -y install incron
Con esto ya tendremos instalado el software base para poder configurar nuestro mini-HIPS.
Ahora vamos a instalar ciertos módulos Perl para poder generar correos electrónicos cuando se detecte un evento
# yum -y install perl-Email-MIME
# yum -y install perl-Email-Sender
Y usaremos este simple script para enviar correos:

 

#!/usr/bin/perl
use strict;
use warnings;
use Email::MIME;

my $message = Email::MIME->create(
  header_str => [
    From    => 'alerts@example.com',
    To      => 'yjesus@example.com',
    Subject => 'Alerta cambio WEB',
  ],
  attributes => {
    encoding => 'quoted-printable',
    charset  => 'ISO-8859-1',
  },

  body_str => "Cambio de tipo @ARGV[0] en fichero @ARGV[1]"
);

use Email::Sender::Simple qw(sendmail);
sendmail($message);

 

Tan solo hay que ‘customizar’ el correo origen y el destino.
Copiamos dicho script a /usr/local/bin y le damos el correspondiente chmod +x
# cp sendalert.pl /usr/local/bin/
# chmod +x /usr/local/bin/sendalert.pl
Y arrancamos incrond
# service incrond start
Ahora vamos a crear la correspondiente entrada para monitorizar el directorio /var/www/html (donde típicamente se almacena un site web …)
# incrontab -e
Y en el editor pulsamos ‘a’ para poder escribir y añadir:
/var/www/html IN_MODIFY,IN_ATTRIB,IN_CREATE,IN_DELETE /usr/local/bin/sendalert.pl “$% $#”
Luego pulsamos ‘Esc’ y :wq
Con esto ya tendremos nuestro sistema de alerta temprana para cambios en el sitio web. Una vez algo se modifique recibiremos un correo parecido a este:

 

Fuente: SecByDefault
¡ Gracias por leer !
DynamicSec.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s