Los Bots vienen marchando



El otro día miré una vez más las estadísticas detalladas de LinksDV.com y recordé que quería escribir una nota sobre los bots que se la pasan buscando vulnerabilidades en nuestros servidores.

Con el tiempo se establecen estándares, por ejemplo todos usan Wordpress, Joomla o parecidos para hacer sitios web con contenido, de miles de CMS disponibles apenas una fracción se lleva la mayor parte de los sitios web. Lo mismo pasa con el software para administrar un servidor como el caso de PHPMyAdmin.

Pero con la estandarización se acota la oferta y por ende al tener pocos sistemas es más fácil concentrar los ataques, esto le pasa a casi todos los servidores, son blanco fácil de los scriptkiddies o de hackers más profesionales buscando algún rédito y la gran mayoría de los sitios web no pueden resistir ataques. Es que no somos expertos en seguridad tampoco, aquí les comento los ataques más comunes que recibo por parte de bots buscando huecos donde entrar...



Intentos de hackeo más comunes en LinksDV.com

/www/delivery/ajs.php
/wp-login.php
/admin.php
/administrator/index.php
/cgi-bin/php
/register.php
/signup.php
/cgi-bin/php4
/join.php
/cgi-bin/php-cgi
/cgi-bin/php.cgi
/cgi-bin/php5
/base/captcha/index/
/pma/scripts/setup.php
/myadmin/scripts/setup.php
/eyeblaster/addineyeV2.html
/phpMyAdmin/scripts/setup.php
/doubleclick/DARTIframe.html
/MyAdmin/scripts/setup.php
//phpmyadmin1/scripts/setup.php
//phpMyAdmin-2/scripts/setup.php
//dbadmin/scripts/setup.php
//scripts/setup.php
//phpadmin/scripts/setup.php
//phpmyadmin2/scripts/setup.php
//xampp/phpmyadmin/scripts/setup.php
/phpmyadmin/scripts/setup.php
//db/scripts/setup.php
//admin/phpmyadmin/scripts/setup.php
//mysql/scripts/setup.php
//admin/pma/scripts/setup.php
//MyAdmin/scripts/setup.php
//pma/scripts/setup.php
//phpmyadmin/scripts/setup.php
//mysqladmin/scripts/setup.php
//myadmin/scripts/setup.php
//web/scripts/setup.php
//websql/scripts/setup.php
//typo3/phpmyadmin/scripts/setup.php
/phpMyAdmin/scripts/setup.php
//admin/scripts/setup.php
/ajax/entstream/embed
//php-my-admin/scripts/setup.php
//phpMyAdmin-2.5.5-pl1/index.php
/doubleclick/adx_iframe.html
/flashtalking/ftlocal.html
/core/install/upgrade.php
//phpMyAdmin-2.5.5/index.php
/ajax/intl/language_dialog.php
//web/phpMyAdmin/scripts/setup.php
/webdav/
/install/upgrade.php
/CreateUser.asp


Analicemos un poco el detalle y el porqué atacan estas urls

  • La mayoría busca scripts de instalación (setup.php) porque es uno de los lugares donde nadie hace un chequeo de ataque masivo, es decir, en la parte donde se ingresa usuario-password para verificar la configuración de un setup nadie usa una norma de tres strikes, se permiten indefinidos intentos. De esta manera se puede aprovechar un ataque de fuerza bruta
  • Una gran cantidad ataca directamente PHPMyAdmin, y es obvio, por la misma razón, el administrador de MySQL es fácil de vulnerar y realizar ataques de fuerza bruta, si está "entregado" y el nombre del directorio es exactamente el mismo de la instalación base, estamos jodidos. Ojo, es bastante fácil cambiarle el nombre, pero muchos no lo hacen/hacemos y dejamos ese hueco abierto
  • Carpetas como cgi-bin donde se puedan ejecutar, vía vulnerabilidades conocidas, scripts externos como si fuesen parte del servidor y así acceder al control del mismo, nótese que en el TOP 10 está PHP4, se busca colar servidores "viejos" desactualizados que son los más fáciles de conseguir.
  • WP-Login, obviamente Wordpress es objetivo clarísimo de muchos bots, es tan fácil infectar un wordpress viejo porque, al ser popular, los script kiddies consiguen más fácilmente código para vulnerarlo, ahora bien, el código de WP es tan grande y obtuso que es difícil de encontrar inyecciones de código a veces.
  • Gracioso fue encontrar un /CreateUser.asp no se, me provocó ternura pero es interesante saber que todavía hay bots buscando servidores IIS de Microsoft y atacando el viejo ASP.
  • Algunos bots atacan servicios de adserving, interesante ese vector de ataque, no lo tenía en cuenta pero es verdad, es un hueco que pocos llegan a ver y nadie le presta mucha atención. Si se vulnera el adserver podrían cambiar nuestros anuncios por los propios y robarnos ingresos potenciales, o, en el peor de los casos, vulnerar a nuestros lectores.


Al menos unas 1200 urls erróneas intentaron ejecutarse en el servidor, de estas un 20% serían errores 404 reales de urls mal cargadas por usuarios en los comentarios y que un spider de un buscador quiso levantar, el 80% restante eran bots de hacking tratando de encontrar vulnerabiliades clásicas y fáciles de identificar.

¿De qué sirve? sencillo, armar una lista con aquellos que SI tienen un vector de ataque liberado y luego concentrar los ataques solamente en ellos.

Esto que ven le pasa a TODOS los servidores en la red, nadie se escapa, por ende se puede minimizar mucho el riesgo aunque nunca se está a salvo, por ejemplo, de los pelotudos. Como el otro día que un forrazo denunció en adsense unos anuncios en este blog porque... ¡uso un Adserver! si, el tipo, en su plena ignorancia, no conoce de qué se trata ni para que sirven y me acusó de hacer trampa.

Con un boludo semejante Google le da bola, eso sí, vos denunciás un sitio por maltrato de gente o difamación y a esos los dejan seguir como si nada :P

Pero en fin, si te hackean y tenías alguno de estos lugares abiertos, más cuidado, se que nadie es perfecto y muchas veces dejamos scripts subidos al servidor que nos olvidamos allí, cada cachito de código de más es un riesgo extra y nadie está libre de ello.

Por otra parte nos da la pauta de por donde nos estan buscando y cómo te podés sacar a la mayor parte de los bots de encima. Un encare más agresivo de este tema es tomar todas las IPs de las búsquedas más comunes y bloquearlas. No es que sirva de mucho, porque seguro que caen en la volteada IPs dinámicas, pero podemos circunscribilo a reglas básicas ¿Es de China? okey, block y listo. No tengo lectores chinos y no me molestaría perderlos :D

La mayoría del reviente de sitios proviene de China, luego siguen Rusia y Turquía y luego IPs de todo el mundo "robadas" con troyanos que las usan como máquinas bobas, por eso no recomendaría bloquear IPs a lo pavote o nos quedamos sin tráfico. Pero al menos lo que provene de esos tres países y tocó alguna carpeta inexistente... es lógico bloquearlo y minimizar los riesgos. El que quiera programar un script para ello, bienvenido Guiño

Otros posts que podrían llegar a gustarte...

Comentarios

  • martemars    

    Por suerte no me ha tocado lidiar con rusos, pero los Turcos son puro script kiddies, me acuerdo que una vez labure en un campus virtual que solo daba soporte a IE6, cada 15 dias nos pateaban el server y nos cambiaban la pagina de inicio. Como el servicio estaba tercearizado, no se podía tocar nada(increíble que se pague una fortuna en concepto de un servicio obsoleto y deficiente que sigue igual al día de hoy) y no me quedo otra que migrar ciertas secciones a un server del de la universidad, para tapar la cantidad de baches que tenia ese sistema.

    • Responder
    • Citar
    • Comentado:
  • Tabris    

    Yo uso Drupal y durante varias etapas estuve con problemas de seguridad (por no saber), pero a los golpes fui aprendiendo. Por suerte nunca me pasó nada (aunque si intentaron). Parece que Drupal por si mismo es seguro y corrigen sus errores.

    • Responder
    • Citar
    • Comentado:
  • Yo hice al reves, para las webs de muchos clientes solo apuntan a un mercado nacional, filtrar para que se pueda entrar desde Espana, USA (Facebook,Google) y Argentina con 6 lineas de Codigo en el .htaccess.
    Listo, no mas hackeos desde ahi (el 95%)

    Al que le interesa, se lo dejo!

    GeoIPEnable On
    SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE AR AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE ES AllowCountry
    Deny from all
    Allow from env=AllowCountry

    • Responder
    • Citar
    • Comentado:
  • J Phillippe dijo:

    Yo hice al reves, para las webs de muchos clientes solo apuntan a un mercado nacional, filtrar para que se pueda entrar desde Espana, USA (Facebook,Google) y Argentina con 6 lineas de Codigo en el .htaccess.
    Listo, no mas hackeos desde ahi (el 95%)

    Al que le interesa, se lo dejo!

    GeoIPEnable On
    SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE AR AllowCountry
    SetEnvIf GEOIP_COUNTRY_CODE ES AllowCountry
    Deny from all
    Allow from env=AllowCountry


    esa es buena, podés agregar más países (europeos y americanos) y vas a seguir dejando a los "kakers" afuera, no taaaan estricto :D

    ¿qué paquete hay que instalar para Apache?

    • Responder
    • Citar
    • Comentado:
  • Marcelo    

    Si, me pasa lo mismo pero vos sabés que las IP de China y Rusia son tantas y tan variantes que la bibliotequita de Maxmind nunca está totalmente actualizada, sobre todo porque muchos de esos ataques se hacen via proxy, que o pertenece a un país no filtrado o directamente no se puede traducir a una locacion. IGUAL, sirve bloquear por país, sobre todo CN, UA, RU, KH e IR.

    Pero con WordPress el plugin Better Security te implementa buenas medidas, como el cambiar la url de login a una reloca que se te ocurra, que es al pepe si usás registro publico de users, si por ej tenes un ecommerce que lo requiera. Y lo siguiente es usar una CDN que filtre toda la porqueria como CloudFlare, pero sin zarparse porque abusar de sus chiches tambien puede descuajeringar sitios.

    Si hacés al revés, que dejás pasar solo de los paises que te interesan, eso es válido solamente si los paises target son pocos o pequeños, para no sobrecargar el buffer de IPs que se tienen que verificar, con lo que o se te enlentecería el sitio, o hasta te podrías caer (si estás en un shared o en un VPS de gama chota, ni baja).

    • Responder
    • Citar
    • Comentado:
  • manuel    

    Mira esto, http://www.configserver.com/cp/csf.html es muy practico.

    • Responder
    • Citar
    • Comentado:
  • Yo considero que bloquear el acceso por el país de origen de la IP, va en contra de los principios de internet. Me ha pasado varias veces de acceder a un sitio y ver el mensaje: "el contenido no esta disponible para su país" WTF!!! hasta es un poco discriminatorio y la frustración que se siente es enorme. Si bien se puede solucionar pasando por un proxy, donde queda la idea de que en internet no existen las fronteras???

    Entiendo el argumento "pragmático" de si, la mayoría de los visitantes que me interesan se conectan desde un rango de IPs que pertenece a tal pais, bloqueamos al resto y solucionamos rápidamente los problemas con los bots, scriptkiddies y todo el ancho de banda que consumen. Pero, por mas que cada uno puede hacer lo que quiera con sus sitios web, me parece una medida aberrante en detrimento de la net neutrality.

    • Responder
    • Citar
    • Comentado:
  • Rotietip    

    Pablo Seminario dijo:

    Yo considero que bloquear el acceso por el país de origen de la IP, va en contra de los principios de internet. Me ha pasado varias veces de acceder a un sitio y ver el mensaje: "el contenido no esta disponible para su país" WTF!!! hasta es un poco discriminatorio y la frustración que se siente es enorme. Si bien se puede solucionar pasando por un proxy, donde queda la idea de que en internet no existen las fronteras???

    Entiendo el argumento "pragmático" de si, la mayoría de los visitantes que me interesan se conectan desde un rango de IPs que pertenece a tal pais, bloqueamos al resto y solucionamos rápidamente los problemas con los bots, scriptkiddies y todo el ancho de banda que consumen. Pero, por mas que cada uno puede hacer lo que quiera con sus sitios web, me parece una medida aberrante en detrimento de la net neutrality.

    Flaco, por si no lo sabias la neutralidad en internet murió cuando las corporaciones y los gobiernos notaron como su hegemonía y control sobre la población se tambaleaba, y también cuando todo el mundo se fue a pelotudear a Facebook y Twitter.
    Para que termines de despertar te recomiendo la lectura de "El desengaño de Internet" de Evgeny Morozov (te lo podes bajar desde http://ge.tt/7xhEw9X/v/0 mientras todavía dure).

    • Responder
    • Citar
    • Comentado:
  • Rotietip dijo:

    Pablo Seminario dijo:
    Yo considero que bloquear el acceso por el país de origen de la IP, va en contra de los principios de internet. Me ha pasado varias veces de acceder a un sitio y ver el mensaje: "el contenido no esta disponible para su país" WTF!!! hasta es un poco discriminatorio y la frustración que se siente es enorme. Si bien se puede solucionar pasando por un proxy, donde queda la idea de que en internet no existen las fronteras???

    Entiendo el argumento "pragmático" de si, la mayoría de los visitantes que me interesan se conectan desde un rango de IPs que pertenece a tal pais, bloqueamos al resto y solucionamos rápidamente los problemas con los bots, scriptkiddies y todo el ancho de banda que consumen. Pero, por mas que cada uno puede hacer lo que quiera con sus sitios web, me parece una medida aberrante en detrimento de la net neutrality.

    Flaco, por si no lo sabias la neutralidad en internet murió cuando las corporaciones y los gobiernos notaron como su hegemonía y control sobre la población se tambaleaba, y también cuando todo el mundo se fue a pelotudear a Facebook y Twitter.
    Para que termines de despertar te recomiendo la lectura de "El desengaño de Internet" de Evgeny Morozov (te lo podes bajar desde http://ge.tt/7xhEw9X/v/0 mientras todavía dure).


    Tampoco soy tan inocente como para no darme cuenta de lo hacen los gobiernos y las grandes corporaciones, pero yo elijo no hacer lo mismo que ellos, y al menos, en los sitios que administro y donde veo pasar todos los ataques de los bots prefiero corregir los problemas de seguridad, que al final pueden venir de China, Rusia o Argentina, en vez de bloquear el acceso a algunas IPs. Pero bueno, después de todo cada uno administra sus servidores a su antojo, sino pregúntenle a los del CyberMonday :D

    Gracias por el link del Libro, no lo conocía, le pegare una mirada.

    • Responder
    • Citar
    • Comentado:

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Para evitar bots, si se tardó mucho en leer la nota seguramente no sirva y tenga que intentar dos veces

Negrita Cursiva Imagen Enlace


comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador