ROBOTS WEBS MALICIOSOS

08/12/2015|Publicado por: Ciberseguridad.

TODO LO QUE DEBERÍA SABER SOBRE ROBOTS WEB MALICIOSOS

  1. DEFINICIÓN:

Los robots maliciosos son utilizados por los ciberdelincuentes para cumplir con una serie de premisas, normalmente encaminadas a insertarse en un servidor, página web y descubrir direcciones de correo electrónico, con la finalidad de obtención de datos personales, como contraseñas u otros datos personales.

  1. CATEGORÍAS MALICIOSAS O PUBLICITARIAS:
  1. Los Robots maliciosos que generan SPAM y mensajería espontánea no solicitada (SPIM), son generalmente muy fáciles de detectar porque solo nos sirven publicidad en el mail (newsletters, generalmente) y nos piden que hagamos click en algún área del mensaje.  No van más allá, pero pueden resultar muy pesados.
  2. Los Robots maliciosos que hacen zombies, tiene la habilidad de entrar en un ordenador y convertirlo en esclavo junto con cientos o miles de otros equipos que también han sido convertidos en zombies como parte de una red.

Las personas que  utilizan estos robots generalmente lo hacen para coordinar ataques a gran escala en el que todos los zombies actúan al unísono, llevando a cabo las órdenes enviadas por el maestro titular del robot.

Estas infecciones pueden ser difíciles de detectar y erradicar. Muchos propietarios de los zombies infectados ni siquiera lo saben. España es uno de los países que más ordenadores zombies tiene.

  1. Los Robots maliciosos de intercambio de ficheros, se fijan en el término de la consulta del usuario (es decir, un título de la película o una canción) y responden a la consulta afirmando que tienen el archivo y proporcionando un enlace.

En realidad, el robot genera un archivo con el mismo nombre (o nombre similar), y le inyecta una carga maliciosa en el archivo falso. El usuario desprevenido lo descarga, lo abre y, sin saberlo, infecta su ordenador.

  1. Robots maliciosos de chats ( Chatterbots ), son a menudo refugio para este tipo de robot llamados chatterbots. Estos chatterbots fingen ser una persona y son muy buenos para emular las interacciones humanas.

Algunas personas caen en este tipo de robots, sin darse cuenta que son programas maliciosos que intentan obtener información personal e incluso números de tarjetas de crédito de víctimas inocentes. Son muy utilizados en el ciber acoso.

  1. Robots maliciosos de fraude, utilizan secuencias de comandos para tratar de obtener beneficios económicos para sus creadores a través de generar clics falsos para:
  2. Los programas de ingresos de publicidad
  3. La creación de usuarios falsos para las entradas de sorteos
  4. La generación de miles de votos falsos para algo que el creador está a favor o en contra.
  1. CONFIGURACIONES:

El fichero robots.txt es un archivo de texto que dicta unas recomendaciones para que todos los crawlers (un crawler es un robot de una entidad (generalmente buscadores) que acceden a las páginas web de un sitio para buscar información en ella, añadirla en los buscadores, etc. También son llamados spiders, arañas, bots o indexadores) y robots de buscadores cumplan con las directrices que se han diseñado previamente a un ciberataque selectivo o gran escala.

Por ejemplo, Googlebot es el nombre del crawler del buscador Google. También existen otros como:

Mediapartners-Google, que es el crawler que se encarga de revisar los anuncios de Google Adsense.

Googlebot-Image, robot indexador de imágenes del buscador de Google. Googlebot-News, robot indexador de noticias para Google News.

Bingbot, crawler de indexación del buscador

Bing Slurp, crawler de indexación del antiguo buscador Yahoo!

Scooter, del buscador Altavista.

  1. CREACIÓN DEL FICHERO ROBOTS.TXT

imagen1

 

  1. Generadores de robots:

Mcanerin nos presentan una aplicación para generar archivos para robots, en él nos permite especificar las carpetas que queremos que rastreen y el tiempo máximo que deben estar los robots en dicha carpeta/página.

Frobee.com, nos permite validar nuestro archivo robots.txt, para ver si éste está correcto antes de mostrarlo a los robots.

Invision-graphics.com, nos presentan a su herramienta de gestión de archivos robots.txt, en ella podremos decir qué acciones va a poder realizar cada uno de los robots y en qué carpetas va a poder acceder.

  1. Límites de robots.txt:

Antes de crear un archivo robots.txt, debería saber los riesgos que conlleva utilizar únicamente este método de bloqueo de URLs. Es posible que en algún momento quiera utilizar otros mecanismos para garantizar que tus URL no se pueden encontrar en la Web.

           b1.-Garantizar que la información privada está segura:

Los comandos de los archivos robots.txt no son reglas que los rastreadores deban seguir. En realidad, es mejor pensar en ellos como directrices. El robot de Google y otros rastreadores web respetables obedecerán las instrucciones del archivo robots.txt, pero también es posible que otros rastreadores no lo hagan.

Por lo tanto, es muy importante que se sepa qué consecuencias podría tener compartir la información que has decidido bloquear con este método. Para que la información privada se mantenga a buen recaudo, te recomendamos que utilices otros métodos de bloqueo, como la protección con contraseña de los archivos privados en el servidor.

            b2.-Utilizar la sintaxis correcta para cada rastreador:

Aunque los rastreadores web respetables seguirán las directivas del archivo robots.txt, otros pueden interpretarlas de modos diferentes. Debe conocer la sintaxis adecuada para dirigirse a los diferentes robots, ya que algunos es posible que no entiendan determinadas instrucciones.

            b3.-Bloquear el rastreo de las referencias a tus URL que aparecen en otros sitios:

Aunque Google no rastreará ni indexará el contenido bloqueado mediante el archivo robots.txt, es posible que todavía encontremos e indexemos información sobre URLs bloqueadas que aparezca en otras ubicaciones de la Web. Por lo tanto, es posible que la dirección URL y otra información de disponibilidad pública, como el texto del enlace que lleva al sitio, todavía puedan aparecer en los resultados de las búsquedas de Google.

Puede hacer que la URL no aparezca en absoluto en los resultados de búsqueda utilizando el archivo robots.txt en combinación con otros métodos de bloqueo de URLs, como la protección con contraseña de los archivos en el servidor o la inserción de metaetiquetas en el código HTML.

  1. Bloquear los robots. Caso específico del sitio joomla:

                  c1.Protección .htaccess:

El .htaccess es probablemente un desconocido para la mayoría de los webmasters. Este archivo no sólo permite reescribir URLs en el sitio web de Joomla (después de cambiar el nombre del archivo existente htaccess.txt a .htaccess), pero también puede servir como el primer muro para proteger el acceso a su sitio.

Este archivo siempre lo lee el servidor en primer lugar, antes de acceder a la página de destino de su sitio.

Por lo tanto si aquí se deniega el acceso a la dirección URL, cuando se trata de un robot o si se detecta que se trata de una URL tipo “spam” es decir, aquellas que contienen ciertas palabras que se consideran que están en una “lista negra”.

           c2. Bloquear los robots:

Cada solicitud que recibe su sitio web, es desde un programa, por lo general un navegador web, pero no sólo desde el, también se puede acceder desde una url, por ejemplo, un editor web, un procesador de textos, etc. y también puede acceder un software malicioso que se ha programado para, por ejemplo, hacer spam en sus sitio web, debilitar la seguridad… Hace unos años, había aspiradoras de sitios web que permitían su descarga para verlas “fuera de línea”.

Estos programas suelen tener una firma: el código indicado en la variable “HTTP_USER_AGENT” que se transmite por el programa que inicia la conexión a su sitio web. Uno de los más conocidos (y odiado) es el agente “MSIE” que le permite saber que el visitante no es muy, umm, ¿Cómo decirlo amablemente?, exigente con la calidad del navegador.

Esta variable puede cambiarse con el programa (cualquier script puede suplantar al navegador, ya que no es una garantía en cuanto a saber quién está accediendo a su sitio).

Por lo tanto, bloquear los robots significa identificar el user_agent que se conoce como scripts maliciosos y bloquearlos.) En el sitio docs.joomla.org se propone una lista (no exhaustiva: Block bad user agents). (en inglés).

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:

craftbot@yahoo.com [OR]

RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]

RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]

RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]

## Liste simplifiée …

RewriteCond %{HTTP_USER_AGENT} ^Zeus

## Note: The final RewriteCond must NOT use the [OR] flag.   ## Return 403 Forbidden error.

RewriteRule .* – [F]

Hay que editar el archivo .htaccess que está en la raíz del sitio web y agregar todas las líneas hasta el último RewriteCond “RewriteRule. * – [F]” para permitir redireccionar las páginas maliciosas a una página 403.

O, para que sea más divertido, sustituir la última línea, con la que está debajo, que es una redirección a un archivo (no redirigir a una imagen de su sitio, ya que el robot no va a acceder)

RewriteRule (.*) http://www.distilnetworks.com/wp-content/themes/distil/images/theft-bot-home.png [L,QSA]

Una vez que haya configurado el bloqueo de los robots en el .htaccess, puede probarlo en:

wannaBrowser: http://www.wannabrowser.com/index.php Esta es una de esas secuencias de comandos para iniciar una conexión con un sitio, pero aquí la idea es ofrecer e introducir una url y elegir un User_Agent que prefiera, si elige uno de los que se ha bloqueado, verá que se deniega el acceso a la página.

c3. Identificar direcciones URL sospechosas

Una URL sospechosa es la que contiene palabras “peligrosas” (como “DROP” lo que podría significar un intento de eliminar una tabla en la base de datos (que sería aquí un ataque llamado “inyección SQL”)) o las palabras que se encuentran en muchos de los spam que sin duda ha visto en su sitio web.

 

Es necesario completar esta lista y alimentarla. Hay ciertos sitios que ofrecen varias listas. Si instala CrawlProtect encontrará que el .htaccess que genera contiene una lista impresionante de palabras clave.

RewriteCond %{QUERY_STRING} ^.*(curl|wget|drop|truncate).* [NC]

RewriteRule ^(.*)$ index.php [F,L]

  1. Gestión de usuarios

Después de haber bloqueado los robots y utilizado algunas palabras clave que se encuentran en direcciones URL, es necesario prohibir a los usuarios crear una URL estándar para Joomla. De hecho, cuando autorizó la creación de cuentas de usuario en su sitio web, es posible acceder a la URL http://su_sitio_web/index.php?option=com_users&view=registration.

Este sitio es el que muestra el formulario para crear una cuenta y por lo tanto, si un script malicioso accede a la url, este script puede completar los diferentes campos y enviar el formulario.

En caso de que haya activado la aprobación automática de las cuentas, creas un usuario nuevo, y un segundo y un tercero … tantos como el script desee crear.

Una vez aprobado, este script tiene un acceso de usuario a su sitio web, lo más probable es que sea un tipo de acceso registrado, que tendrá algunos derechos adicionales, como la capacidad para publicar un comentario, escribir un nuevo tema en el foro. … Y aquí te encuentras con un spam que no tiene fin.

Para restringir severamente el acceso, es fácil: desactivar la creación de cuentas de usuario en su sitio Joomla.

Pero si desea ofrecer a sus visitantes la posibilidad de inscribirse, utilice por ejemplo Community Builder. Esto es lo que hice en el blog (http://allevents.avonture.be): Community Builder está configurado para permitir el registro, independientemente de la configuración general del sitio.

Así que autoriza ​​al registro a través de CB pero seguidamente desactiva el acceso por el com_users. Para el usuario final, todo sigue igual: se accede a la página para crear una cuenta que completa, se envía… y ya está creada la cuenta.

Para el script malicioso, cambia todo, porque la página que intenta acceder (com_users) no está activada para la creación de cuentas.

Y para mejorar aún más la protección, sabemos que hay un plugin Captcha para CB. Este Captcha aparece en la página de registro de CB y parece que es muy eficaz.

  1. Creación de un servidor casero, para poner en práctica todos los comandos analizados y bloquear los robots:

La instalación es sencilla, simplemente instalar el paquete postfix con apt:

apt-get install postfix

Configuración

La configuración esta almacenada en /etc/postfix. No hace falta tocar mucho. Los ficheros importantes son:

  • /etc/postfix/main.cf: Almacena la configuración principal del servidor.
  • /etc/postfix/virtual: Almacena la información de los dominios virtuales

Dentro del fichero main.cf (que ya contendrá algunas líneas) hay que asegurarse de añadir esta información:

myhostname = midominio.com

mydestination = midominio.com, midominio, localhost.localdomain, localhost, hash:/etc/postfix/virtual

mynetworks = 127.0.0.1

mailbox_command = procmail -a “$EXTENSION”

virtual_alias_maps = hash:/etc/postfix/virtual

virtual_alias_domains =

home_mailbox = Maildir/

Se presupone que midominio.com es el dominio asociado a la máquina donde has instalado el servidor de correo.

Tal y como se puede ver en el ejemplo del fichero de configuración, estoy utilizando el formato Maildir para almacenar el correo en el disco duro. Me parece bastante más eficiente que mbox puesto que éste almacena todo en un mismo fichero de texto. Es de suponer que cuando se tenga un gran volumen de correo almacenado empezará a ser menos eficiente que Maildir. Para utilizarlo simplemente es necesario ejecutar el comando:

maildirmake Maildir

en cada una de las carpetas de los usuarios que utilizarán el correo. También conviene ejecutarlo sobre /etc/skel de manera que cualquier nuevo usuario ya incorpore dicha carpeta en su “home” simplemente dándolo de alta en el sistema.

El siguiente paso es configurar correctamente procmail, puesto que se ejecuta para procesar cada correo que llega a nuestro servidor postfix. Esta configuración se almacena en /etc/procmailrc y en mi caso tengo lo siguiente:

DROPPRIVS=yes

DEFAULT=$HOME/Maildir/

:0fw

| /usr/bin/spamassassin

:0

* ^X-Spam-Status: Yes

$DEFAULT

Indicando la carpeta donde cada usuario almacena su correo e indicando la ruta al filtro anti-spam que utilizado (spamassassin), el cual he de decir que funciona muy bien. Un poco más abajo comentaré como configurarlo.

Direcciones de correo y usuarios:

Sólo queda indicar a postfix que hacer con las direcciones de correo que vayamos queriendo utilizar y a qué usuarios asociarlas. Existe la forma de crear usuarios en base de datos de manera que se independizan las direcciones de correo de los usuarios reales del sistema. Muy útil en entornos multidominio donde se puede necesitar el mismo usuario para más de un dominio: astable@midominio.com y astable@otrodominio.com, donde los dos usuarios realmente no tienen nada que ver.

Para esto debemos editar el fichero /etc/postfix/virtual, cuyo uso ya hemos indicado en el fichero de configuración inicial anteriormente. Si suponemos que tengo algunos usuarios y un par de dominios, quedaría así:

midominio.com       midominio

otrodominio.com        otrodominio

astable@midominio.com astable

otrotio@otrodominio.com  otrotio

astable@otrodominio.com  astable-otro

Se puede ver como asociar una dirección de correo a un usuario real del sistema. De esa manera cuando postfix reciba un correo para una dirección determinada lo depositará en el buzón del usuario del sistema que corresponda.

Filtro Anti-Spam

Actualmente uso spamassassin como filtro. No se entera de todos los correos no deseados pero está teniendo cerca de un 95% de eficiencia, lo que me parece dificil de superar. Apenas se le escapa algún correo spam sin marcarlo. En este caso tengo el filtro configurado para que me marque los correos no deseados añadiendome el texto [SPAM] al inicio del asunto de cada uno. Asi, puedo filtrarlo automaticamente según llega a mi bandeja de entrada y comprobar si todo lo marcado como spam lo es realmente. La opción borrarlo definitivamente me parece demasiado agresiva. Para ello he añadido la siguiente línea al fichero de configuración de spamassassin, en/etc/spamassassin/local.cf:

rewrite_header subject [SPAM]

Por lo demás, el filtro se las apaña muy bien sin tocar nada más.

Cómo ver el correo:

Para poder ver el correo tenemos dos opciones. Una pasa por consultarlo a través de la web utilizando un sistema webmail o bien descargarlo a nuestro ordenador a través del protocolo POP.

Para el primer caso utilizo squirrelmail. Solución gratuita, sencilla, quizás algo “fea” pero muy eficiente y sin demasiadas historias de esas que jamás llegas a usar nunca. Además, dispone de muchos plugins que permiten ampliar su funcionalidad. En este caso hay que instalar un servidor IMAP (en mi caso dovecot) y el sistema webmail:

apt-get install dovecot-imapd

Y para el caso de squirrelmail nos vamos a su página y lo instalamos en algún subdominio de nuestra máquina. Prácticamente nos apañaremos con la configuración por defecto que trae.

Para el segundo caso, estoy utilizando dovecot como servidor POP y ya que cada uno utilice en su ordenador el cliente de correo que prefiera (Outlook, Mozilla Thunderbird, . . .):

apt-get install dovecot-pop3d

En definitiva, un sistema de correo con Postfix como servidor de correo, spamassasin como filtro anti-spam, dovecot como servidor IMAP y POP3, y Squirrelmail como sistema webmail. Software libre funcionando a la perfección, coste económico cero y coste de administración también cero. Como habéis podido ver no es díficil instalarlo y configurarlo y una vez puesto en marcha no hay que hacer nada. Funciona solo.

Una solución que no sólo nos servirá para nuestro servidor casero. Es una solución totalmente operativa y muy recomendable para entornos más profesionales en servidores que necesiten un buen rendimiento en el sistema de correo y tengan un gran volumen de tráfico.

 

Abogado. Doctor en Derecho. Perito informático.

Deja un comentario


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=""> <s> <strike> <strong>

*


*

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies