PathSentinel

Detectar cloaking con curl y user-agents: guía práctica

Aprende a detectar cloaking con user-agent y curl: compara lo que ve Googlebot y lo que ves tú para descubrir SEO spam oculto en tu web. Guía práctica.

PathSentinel investigacion de seguridad

El cloaking es el truco que sostiene casi todo el SEO spam moderno: la web muestra una cosa a Googlebot y otra distinta al visitante humano. Por eso el propietario ve su sitio impecable mientras el buscador lo indexa lleno de casinos o fármacos. La buena noticia es que puedes detectar cloaking con user-agent y curl desde tu propia terminal, sin herramientas de pago. En la guía sobre la anatomía del hackeo, la persistencia y el SEO-spam explicamos por qué esta técnica es tan común; aquí la reproducimos paso a paso.

Qué es el cloaking y por qué detectarlo con user-agent y curl

El cloaking consiste en servir contenido diferente según quién haga la petición. El servidor inspecciona señales como el User-Agent, el Referer, la IP de origen o si hay cookies, y decide qué respuesta enviar. A un navegador normal le da tu web; a un bot de buscador le da la carga spam. Detectarlo con curl y distintos user-agents funciona porque te permite hacerte pasar por cada tipo de visitante y comparar las respuestas. Si difieren de forma sospechosa, tienes cloaking.

La prueba básica: dos peticiones, una comparación

La idea es simple: pide la misma URL como navegador y como Googlebot, y compara. Con curl:

  • Como navegador: curl -A "Mozilla/5.0" -L https://tudominio.com/ -o humano.html
  • Como Googlebot: curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -L https://tudominio.com/ -o bot.html

Después compara ambos ficheros (por ejemplo con diff humano.html bot.html). Un sitio limpio devolverá esencialmente lo mismo. Un sitio con cloaking mostrará al «Googlebot» bloques de enlaces, palabras clave o redirecciones que no aparecen en la versión humana. Fíjate sobre todo en enlaces salientes nuevos, texto en otros idiomas y etiquetas ocultas.

Refina la prueba: más señales, más precisión

El cloaking sofisticado no se conforma con mirar el user-agent. Amplía la batería de pruebas:

  • Cabecera Referer: muchas variantes solo activan el spam si el visitante llega desde Google. Añade -e "https://www.google.com/" y compara.
  • Otros bots: prueba con user-agents de Bing (bingbot) o de redes sociales; algunos ataques discriminan por buscador.
  • Sigue las redirecciones: el flag -L y la inspección de cabeceras con curl -I revelan redirecciones 301/302 que solo se disparan para ciertos agentes.
  • Verificación oficial: contrasta tus hallazgos con la herramienta de inspección de URLs de Google Search Console, que muestra el HTML renderizado real que recibe el buscador.

Una advertencia sobre la validación: un cloaking bien hecho también comprueba la IP mediante DNS inverso para confirmar que el bot es realmente de Google. En esos casos, falsificar solo el user-agent puede no bastar y necesitarás herramientas que rastreen desde rangos reconocidos. Aun así, la prueba con curl detecta la gran mayoría de infecciones.

Del síntoma a la causa

Detectar el cloaking te confirma que hay spam, pero el engaño lo genera un código que alguien inyectó. Ese código suele delatarse por sus fechas de modificación: compara los timestamps de tus ficheros con la línea temporal del incidente. Lo desarrollamos en nuestro análisis de archivos modificados y timestamps. Y si el cloaking reaparece después de limpiarlo, la causa casi siempre es una tarea programada maliciosa que reinyecta el código; lo tratamos en la guía sobre cron jobs y tareas fantasma que reinfectan tu web.

Qué hacer cuando confirmas cloaking

  • No te fíes de la versión humana: guarda las capturas de la respuesta al bot como evidencia del compromiso.
  • Localiza el mecanismo: busca en el tema, plugins y .htaccess el código que discrimina por user-agent o referer.
  • Erradica la persistencia: web shells, cron malicioso y usuarios fantasma, antes de limpiar el contenido visible.
  • Rota credenciales y actualiza todo el software.
  • Reindexa tras verificar, con curl de nuevo, que ambas respuestas vuelven a coincidir.

Usamos exactamente estas comprobaciones tanto en pymes como en entornos exigentes de banca y comercios con datos de tarjeta, donde documentar qué se sirve a cada visitante es parte de la evidencia forense.

Para entender por qué Google penaliza esta técnica, revisa sus políticas de spam, que citan el cloaking de forma explícita. Sobre la persistencia que lo sostiene, consulta la ficha de Web Shell (T1505.003) de MITRE ATT&CK, y el blog de Sucuri publica ejemplos de cloaking reales. Si prefieres que lo verifiquemos por ti, contacta con nosotros.

¿Sospechas que tu web enseña a Google algo que tú no ves? Compruébalo ahora.

Comprueba tu web gratis

PathSentinel

Jesús Macías Rubiales

Investigación forense y seguridad web: analizamos y respondemos incidentes reales en pymes, e-commerce y entornos exigentes como la banca. Conoce al equipo.

📬 Boletín PathScan — suscríbete gratis

Cada semana, las vulnerabilidades de plugins de WordPress que de verdad importan y un caso real de investigación, en español. Sin ruido, sin spam.