Socgholish es un malware JavaScript sofisticado (también conocido como FakeUpdates) que se inyecta en sitios WordPress para mostrar notificaciones falsas de actualización de navegador. Desde su descubrimiento en 2017, ha infectado miles de sitios; se elimina limpiando archivos comprometidos, restaurando desde backup y reforzando acceso administrativo, pero la reinfección es frecuente si no se asegura el WordPress completamente.

En 30 segundos

  • Socgholish es un framework JavaScript malicioso que se inyecta en WordPress y muestra falsas notificaciones de actualización de navegador (Chrome, Firefox, Edge) para descargar troyanos
  • La mayoría de infecciones ocurren por credenciales de wp-admin comprometidas, plugins maliciosos disfrazados, o vulnerabilidades sin parchear en plugins/temas desactualizados
  • Los síntomas detectables son inyecciones de código ofuscado, redireccionamientos raros, iframes ocultos, avisos de Google Safe Browsing y código JavaScript malicioso en wp_options
  • La limpieza requiere backup, desactivación de plugins sospechosos, escaneo con Wordfence o Sucuri, eliminación de archivos comprometidos, cambio de TODAS las contraseñas, y restauración desde backup anterior a la infección
  • La prevención pasa por mantener WordPress/plugins actualizados, cambiar URL de wp-admin, usar 2FA, monitorear Google Search Console, y ejecutar escaneos automáticos mensuales

¿Qué es Socgholish y cómo funciona?

Socgholish es un framework JavaScript malicioso usado desde 2017 para inyectar código en sitios web comprometidos. El mecanismo es simple pero efectivo: el atacante coloca un script oculto en tu WordPress que, cuando un visitante llega a tu sitio, le muestra una falsa notificación de actualización (típicamente diciendo «Tu Chrome necesita actualizar» o algo parecido). El usuario, sin sospechar, hace clic, descarga lo que cree es una actualización legítima, y en realidad instala un troyano o infostealer.

El grupo de amenazas detrás de esto es conocido como Manatee Tempest (también TA569), una operación criminal bastante organizada. No es un script de kiddies. Usan técnicas de ofuscación sofisticadas, cambian dominios constantemente (domain shadowing), y alojan los archivos maliciosos en infraestructura que rotan cada pocas horas. Eso hace que detectarlos sea una pesadilla incluso para equipos de seguridad profesionales.

Lo que te tiene que quedar claro: no es un exploit cero-day, no es un problema de WordPress core. Es acceso administrativo comprometido o un plugin falso. Una vez que está adentro, el malware se sienta y espera.

Cómo los sitios WordPress se infectan con Socgholish

Hay cuatro vectores principales. El primero (y el que causa el 60% de las infecciones según reportes de seguridad) es que robaron tus credenciales de wp-admin: fuerza bruta contra usuarios débiles, phishing, o las comprometieron de algún otro lado. Una vez adentro, instalan un plugin malicioso silencioso o inyectan código directo en los temas.

El segundo es que instalaste lo que parecía un plugin legítimo pero era malicioso disfrazado. Los atacantes crean plugins falsos con nombres parecidos a los verdaderos (xjquery en lugar de jQuery Plugin, por ejemplo) o los cuelan en repositorios menos controlados que no sea wordpress.org. Vos instalás pensando que es legítimo, y boom, está adentro.

Tercero: temas o plugins desactualizados con vulnerabilidades conocidas (CVEs públicos). Si tu tema tiene una versión vieja sin parchear, los atacantes la explotan automáticamente con bots. Tu WordPress es accesible sin ni siquiera necesitar credenciales.

Y cuarto, menos común pero pasa: el proveedor de hosting fue comprometido y llenó de malware todos los servidores. Si eso te pasó, mudarse es la única solución confiable.

Señales de que tu WordPress está infectado

Lo ideal es detectarlo rápido antes de que tus usuarios se infecten (y después te demanden, o peor). Estos son las señales que algo anda mal:

  • Código JavaScript ofuscado y raro en tus páginas cuando las ves en el navegador. Ctrl+U, mira el source, y si ves un montón de código que parece random con variables en números, eso es ofuscación maliciosa.
  • Google Safe Browsing te marca el sitio. Google detecta sitios comprometidos. Si tu WordPress aparece con aviso rojo en los resultados de búsqueda, está infectado.
  • Redireccionamientos aleatorios a sitios de phishing o malware. Un visitante normal llega a tu post de WordPress y termina en un sitio que no tiene nada que ver. Los atacantes usan JavaScript para redirigir.
  • Avisos o advertencias en WordPress admin del lado del hogar (tema, plugins diciendo cosas raras). O notificaciones de seguridad de Google diciendo que encontró malware.
  • Iframes ocultos. Hacés Ctrl+U en tu página y ves etiquetas <iframe> que no pusiste. A veces están dentro de tags style ocultos, a veces con atributos style=»display:none».
  • Usuarios administrativos que no creaste. Revisá en WordPress → Usuarios y fijate si hay cuentas sospechosas o con nombres genéricos.
  • En la base de datos, búsquedas de «%<script%» o «%javascript%» en la tabla wp_options devuelven coincidencias (particularmente en option_name como «widget_block» con código ofuscado en option_value).
  • Google Search Console te avisa de «Problemas de seguridad» o «Código malicioso detectado».

Herramientas y plugins para detectar Socgholish

No esperes a detectarlo visualmente. Automatizá con herramientas. Acá están las principales: Más contexto en implementar defensas perimetrales en tu servidor.

  • Wordfence (versión free + Premium): el plugin de seguridad más instalado en WordPress. La versión gratis ya te escanea archivos contra el repositorio oficial, busca código sospechoso, y bloquea ataques básicos. Premium agrega WAF y escaneo más profundo. Actívalo directamente en tu WordPress admin.
  • Sucuri SiteCheck (online, free): corre online sin instalar nada. Pasás tu URL y Sucuri escanea desde afuera buscando malware conocido, inyecciones JavaScript, dominios sombreados. Rápido y confiable.
  • Quttera (free + paid): especializado en detectar JavaScript malicioso y patrones de Socgholish específicamente. La versión free es básica pero útil.
  • MalCare (premium): plugin que no solo detecta sino que limpia automáticamente. Caro pero efectivo si querés que se encargue del trabajo sucio.
  • SecuPress (free + premium): plugin francés con buen escaneo. La versión gratis es sorprendentemente funcional. Premium agrega limpiar automática.

Para búsquedas manuales en la base de datos, accedé a phpMyAdmin (desde tu panel de hosting) y ejecutá estas queries:

  • En la tabla wp_options: busca option_name = "widget_block" y mira el option_value. Si tiene código JavaScript ofuscado, está infectado.
  • En wp_posts y wp_postmeta: busca patrones como %<script%, %javascript%, %eval(%, %base64%.
  • En wp_usermeta: busca users con capacidades raras o alteradas.

Comparativa de herramientas de detección

HerramientaTipoCostoDetección SocgholishLimpieza AutomáticaMejor para
WordfencePluginFree / $99/año (Premium)Muy buenaPremium onlyWordPress que están adentro
Sucuri SiteCheckOnlineFreeExcelenteNo (manual)Diagnóstico rápido desde fuera
MalCarePlugin$99/sitio/añoExcelenteSí, automáticaNegocios, si querés que lo limpie todo
SecuPressPluginFree / €40/año (Premium)BuenaPremiumPresupuesto bajo
QutteraOnline / PluginFree / $99/añoMuy buena (JS específico)NoAnálisis profundo de código malicioso
wordpress infectado socgholish diagrama explicativo

Guía paso a paso para limpiar WordPress de Socgholish

Esto es el corazón del asunto. Si lo hacés mal, la infección vuelve en una semana. Seguí estos pasos en orden:

Paso 1: Backup completo (antes de tocar NADA). Bajate todo desde FTP/SFTP: wp-content, wp-includes, archivos core, base de datos. Si la limpieza manual se va al carajo, necesitás poder volver. Usá WPVivid, UpdraftPlus, o manualmente con FileZilla + phpMyAdmin.

Paso 2: Desactiva todos los plugins. Algunos son maliciosos, otros van a romper durante la limpieza. Desde wp-admin, Plugins → desactiva cada uno. Si no podés acceder a wp-admin, borrá la carpeta wp-content/plugins vía FTP.

Paso 3: Ejecutá un escaneo completo. Instalá Wordfence o Sucuri SiteCheck. Dejalos trabajar 30-60 minutos. Documentá qué archivos marcan como infectados.

Paso 4: Identificá y borrá los archivos comprometidos. Los archivos infectados generalmente están en:

  • wp-config.php (si tiene código sospechoso al final)
  • wp-content/uploads/ (plugins maliciosos disfrazados como imágenes o archivos)
  • wp-includes/ (algún archivo que no debería estar o fue modificado)
  • Las carpetas de temas y plugins específicos marcados por el scanner
  • .htaccess (si tiene reglas raras de redirect)

Borrá SOLO los archivos que Wordfence o Sucuri marcaron. No hagas limpieza de «por si acaso» porque rompes cosas.

Paso 5: Reinstalá los archivos core de WordPress. Bajate el WordPress limpio desde wordpress.org en la versión que usas. Subilo por FTP, excepto wp-content y wp-config.php. Esto asegura que los archivos core no estén comprometidos.

Paso 6: Revisa wp-config.php y .htaccess manualmente. Abrí estos archivos con un editor de texto (Notepad++, no Word). Buscá líneas que no reconozcas. Generalmente el malware agrega líneas raras al final. Si encontrás algo así:

  • eval()
  • base64_decode()
  • Variables con nombres genéricos como $c, $s, $u
  • require() o include() apuntando a URLs raras

Borrá eso y guardá.

Paso 7: Limpiá la base de datos. Accedé a phpMyAdmin y buscá código JavaScript en wp_options, wp_postmeta, wp_posts (donde buscaría alguien que está inspeccionando tu BD para ver si hay malware escondido). Eliminá cualquier valor que contenga tags <script>, eval(), o base64 sin explicación. Muchas veces está en option_name=»widget_block» o «_transient_» cosas. Para más detalles técnicos, mirá automatizar tareas de monitoreo de seguridad.

Paso 8: Reinstalá los plugins desde el repositorio oficial. Vá a wp-content/plugins y borrá TODOS. Luego desde WordPress admin, Plugins → Add New, reinstalá solo los que usabas. Asegurate que sea del repositorio oficial (busca en wordpress.org primero, copiá el enlace exacto).

Paso 9: Verificación final. Ejecutá Wordfence o Sucuri SiteCheck nuevamente. Si no marca nada, genial. Si todavía hay infecciones, significa que pasaste algo por alto. Repetí los pasos 4-7 hasta que los scanners no encuentren nada.

Cambio de contraseñas y aseguramiento de acceso administrativo

Esto es crítico y mucha gente lo pasa por alto. Si el atacante tuvo acceso a wp-admin, puede haber creado cuentas backdoor. Cambiar solo la contraseña del wp-admin que usas NO alcanza.

Tenés que cambiar TODAS las contraseñas asociadas:

  • Password de wp-admin: desde WordPress → Usuarios, edita tu perfil, genera una contraseña fuerte (16+ caracteres, números, símbolos).
  • Password de base de datos: desde tu panel de hosting (si es Donweb, cpanel, Plesk, lo que sea), cambiá la contraseña del usuario de BD. Actualizá wp-config.php con la nueva.
  • Credenciales FTP/SFTP: cambialas en tu panel de hosting.
  • Email asociado a WordPress: si el atacante creó acceso a través del email de recuperación, cambiá el email en tu perfil de WordPress a uno seguro que controles.
  • Cualquier otro usuario administrativo: borrá usuarios que no creaste. Ve a Usuarios y fijate. Si ves usuarios con nombres genéricos o que no reconocés, eliminalos.

Después, implementá autenticación de dos factores (2FA). Usá el plugin Wordfence, que tiene 2FA integrado, o Google Authenticator compatible con plugins como WP 2FA. Esto te hace prácticamente immune a ataques de fuerza bruta.

Restauración desde backup limpio

Si después de seguir los pasos anteriores la infección vuelve (y pasa a veces), significa que el atacante tiene una backdoor que no encontraste. La opción nuclear es restaurar desde un backup anterior a la infección.

Lo importante acá es estar seguro de que el backup no contiene ya el malware. Para eso, verificá las fechas: buscá un backup que sea de ANTES de que viste por primera vez cualquier síntoma de infección. Si notaste el malware el 15 de marzo, usá un backup del 10 de marzo o antes.

El proceso:

  • Bajate el backup (si usas WPVivid o UpdraftPlus, descargatelo directamente desde el plugin).
  • Borrá completamente tu instalación de WordPress actual del servidor (vía FTP, borrá todo excepto la carpeta wp-content/uploads si querés preservar las imágenes de posts).
  • Restaurá el backup usando tu herramienta de backup, o manualmente descomprimiendo y subiendo los archivos.
  • Realizá los mismos pasos de cambio de contraseña que arriba.
  • Ejecutá un escaneo final con Wordfence para verificar.

Prevención y hardening para evitar reinfección

Una vez que limpiaste (o restauraste), no quieres que vuelva a pasar. Las medidas preventivas más efectivas son estas:

Actualizaciones automáticas: activalas en wp-config.php. Poné esto:

  • define( 'WP_AUTO_UPDATE_CORE', 'minor' ); — actualiza parches menores automáticamente.
  • define( 'AUTOMATIC_UPDATER_DISABLED', false ); — habilita auto-actualizaciones para plugins y temas.

WordPress no debería esperar a que vos lo actualices manualmente. Hacelo automático. Tema relacionado: verificar el código de tus plugins activos.

Cambiar la URL de wp-admin: la mayoría de los ataques automáticos apuntan a /wp-admin. Cambiala con un plugin como WPS Hide Login. Elegí algo impredecible.

Límite de intentos de login fallidos: usa Limit Login Attempts Reloaded. Bloquea la IP después de 5 intentos fallidos. Elimina el 90% de los ataques de fuerza bruta.

Contraseñas fuertes: obvio pero se repite. Mínimo 16 caracteres, números, símbolos. Usá un password manager.

Scans automáticos regulares: Wordfence tiene escaneos programados. Activalos cada semana. Recibís alertas si encuentra algo.

Backups automáticos: no confíes en tus propios backups manuales. Usa WPVivid o UpdraftPlus con backups automáticos diarios a Google Drive o Dropbox. (O si estás en donweb.com, usá sus backups administrados que tienen copias en múltiples servidores.)

Monitoreo de Google Search Console: agregá tu sitio a GSC y habilitá notificaciones. Google te avisa si detecta malware.

WAF a nivel de hosting: si tu proveedor (como Donweb) ofrece WAF o ModSecurity, actívalo. Bloquea patterns de ataque conocidos antes de que lleguen a WordPress.

Errores comunes que comete la gente

Error 1: solo cambiar la contraseña de wp-admin y pensar que está resuelto. Si el atacante creo un usuario backdoor en la BD, vos sigues con un agujero abierto. Siempre revisá la tabla wp_users en phpMyAdmin y borrá cualquier usuario sospechoso.

Error 2: reinstalar plugins sin verificar que sean del repositorio oficial. Algunos «atacantes» dejan versiones comprometidas de plugins populares en repositorios fake. Descargá SIEMPRE desde wordpress.org/plugins. Si no está ahí, es peligro.

Error 3: no hacer backup antes de limpiar. Si la limpieza se va al carajo (pasa), necesitás poder volver. Un backup es tu salvavidas. Relacionado: crear un plugin de auditoría personalizado.

Error 4: pensar que limpiar una vez es suficiente. Si el WordPress está muy comprometido, el malware vuelve en días. Restaurar desde un backup limpio es más confiable que esperar a que la limpieza sea perfecta.

Error 5: ignorar los vectores de entrada. Si se infectó por fuerza bruta, si no cambias la contraseña y no activas 2FA, se vuelve a infectar inmediatamente. Tenés que cerrar la puerta por la que entró.

Preguntas Frecuentes

¿Qué es exactamente Socgholish y por qué se llama así?

Socgholish es un framework JavaScript malicioso que circula desde 2017. El nombre viene de detectores de malware que lo categorizaban como «Socially Engineered Malware» (malware de ingeniería social). Los atacantes lo usan para mostrar falsas notificaciones de actualización de navegador. No hay un «Socgholish oficial»; es un conjunto de técnicas que diferentes grupos de crimen cibernético reutilizan.

¿Mi sitio de WordPress puede infectarse sin que yo haga nada?

Tecnicamente sí (a través de vulnerabilidades zero-day en WordPress core o plugins), pero es muy raro. El 95% de las infecciones de Socgholish son por credenciales comprometidas o plugins maliciosos que el dueño mismo instaló sin saberlo. No es mala suerte; es que pasó algo mal en el acceso administrativo.

¿Cuánto tiempo tarda en limpiar un WordPress de Socgholish?

Si hacés la limpieza manual siguiendo los pasos de arriba, contar entre 2 y 4 horas (escaneos, cambios, verificaciones). Si usas MalCare (limpieza automática) y confías en que haga bien el trabajo, 30 minutos. Si restaurás desde backup, 15 minutos. Lo que tarda más es verificar después que la infección no vuelva.

¿Socgholish roba contraseñas de mis visitantes?

No directamente. Socgholish muestra una falsa notificación para que el visitante descargue un troyano. Una vez que lo descarga en su máquina, el troyano es lo que potencialmente roba datos. El sitio WordPress infectado es solo el medio de distribución. Tus visitantes son las víctimas, no tus datos.

¿Google penaliza sitios que fueron infectados con malware?

Sí, temporalmente. Google marca sitios comprometidos en los resultados y reduce el ranking mientras están infectados. Una vez que limpias, Google generalmente levanta la penalización en 24-48 horas (tenés que solicitarlo en Google Search Console bajo «Problemas de seguridad»). Pero si vuelve a infectarse repetidamente, Google puede desconfiar y penalizarte más agresivamente o hasta borrar el sitio de los índices.

Conclusión

WordPress infectado con Socgholish es un problema serio, pero recuperable si sabés qué pasos seguir. El malware no destruye tu sitio; lo usa como herramienta para infectar visitantes. Lo peligroso es la reputación que perdés (Google marca el sitio) y el riesgo legal (tus usuarios pueden demandarte si sus máquinas se infectan).

La limpieza es sistemática: backup → desactiva plugins → escanea → elimina archivos comprometidos → reinstala core → limpia BD → cambia contraseñas → verifica. Si lo haces paso a paso, sale bien (ponele que 90% de las veces). Si la infección vuelve a pesar de todo, restaura desde un backup anterior a la infección y cierra los vectores de entrada (2FA, contraseñas fuertes, actualizaciones automáticas).

Lo más importante: Socgholish no es un ataque sofisticado. No hay zero-days, no hay vulnerabilidades exóticas. Es acceso administrativo comprometido. Protegé ese acceso como si fuera tu casa: buena cerradura (contraseña fuerte), alarma (2FA), vigilancia (limites de login, escaneos automáticos), y vos estarás bien.

Fuentes

Categorizado en: