Generalidades sobre sitios WordPress Hackeados

Generalidades

Si sospechas que tu sitio web ha sido pirateado, lo mejor que puedes hacer es reinstalar cualquier aplicación de software (como WordPress o Joomla). Los pasos a continuación se aplican principalmente a la reinstalación de WordPress, ya que es el software más comúnmente utilizado (y por lo tanto el más comúnmente hackeado), pero los pasos generales son válidos para muchas instalaciones de CMS.

Si no te sientes cómodo arreglando tu sitio de WordPress por tu cuenta, puedes solicitar una Reparación de Sitio Hackeado (Servicio de eliminación de malware profesional de DreamHost). Por una tarifa única de $199, los expertos de DreamHost accederán a tu cuenta y realizarán las reparaciones necesarias para que vuelvas a estar en línea rápidamente. Por favor Contacta Soporte si te gustaría explorar esta opción.

Una nota sobre Base64

Base64 suele ser malo. Y, sin embargo, hay casos de uso legítimos.

Ejecutar grep -R "base64_" /home/user/example.com/ solo debería darte estos resultados de archivos  core de WordPress:

./wp-admin/includes/class-wp-importer.php:	$headers['Authorization'] = 'Basic ' . base64_encode( "$username:$password" );
./wp-includes/class-smtp.php:        		fputs($this->smtp_conn, base64_encode("\0".$username."\0".$password) . $this->CRLF);
./wp-includes/class-smtp.php:        		fputs($this->smtp_conn, base64_encode($username) . $this->CRLF);
./wp-includes/class-smtp.php:        		fputs($this->smtp_conn, base64_encode($password) . $this->CRLF);
./wp-includes/class-smtp.php:        		fputs($this->smtp_conn,"AUTH NTLM " . base64_encode($msg1) . $this->CRLF);
./wp-includes/class-smtp.php:        		$challenge = base64_decode($challenge);
./wp-includes/class-smtp.php:        		fputs($this->smtp_conn, base64_encode($msg3) . $this->CRLF);
./wp-includes/ID3/module.audio.ogg.php:		$flac->setStringMode(base64_decode($ThisFileInfo_ogg_comments_raw[$i]['value']));
./wp-includes/ID3/module.audio.ogg.php:		$data = base64_decode($ThisFileInfo_ogg_comments_raw[$i]['value']);
./wp-includes/class-IXR.php:                	$value = base64_decode($this->_currentTagContents);
./wp-includes/class-IXR.php:        		return '<base64>'.base64_encode($this->data).'</base64>';
./wp-includes/class-feed.php:			$data = base64_decode( $data );
./wp-includes/class-phpmailer.php:        	$encoded = chunk_split(base64_encode($str), 76, $this->LE);
./wp-includes/class-phpmailer.php:        	$encoded = base64_encode($str);
./wp-includes/class-phpmailer.php:        	$chunk = base64_encode($chunk);
./wp-includes/class-phpmailer.php:      	return base64_encode($signature);
./wp-includes/class-phpmailer.php:    		$DKIMb64  = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body
./wp-includes/SimplePie/Sanitize.php:		$data = base64_decode($data);
./wp-includes/SimplePie/File.php:		$out .= "Authorization: Basic " . base64_encode("$url_parts[user]:$url_parts[pass]") . "\r\n";
./wp-includes/class-http.php:			return 'Proxy-Authorization: Basic ' . base64_encode( $this->authentication() );
./wp-includes/class-wp-atom-server.php:		explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
./wp-includes/class-wp-atom-server.php:		explode(':', base64_decode(substr($_SERVER['REDIRECT_REMOTE_USER'], 6)));
./wp-includes/class-snoopy.php:			$headers .= "Authorization: Basic ".base64_encode($this->user.":".$this->pass)."\r\n";
./wp-includes/class-snoopy.php:			$headers .= 'Proxy-Authorization: ' . 'Basic ' . base64_encode($this->proxy_user . ':' . $this->proxy_pass)."\r\n";
./wp-includes/class-snoopy.php:			$headers[] = "Authorization: BASIC ".base64_encode($this->user.":".$this->pass);

Dicho esto, lo verás en plugins y (lamentablemente) temas. ¿Son estos seguros? Es difícil de decir, ya que hay miles de plugins solo en la base de datos de WordPress.org. Lo mejor que puedes hacer es eliminar los plugins y volver a instalarlos. Lo mismo ocurre con los temas.

División de los usuarios de tu sitio web

Dividir tus cuentas de usuario también es una buena idea para aislar tus sitios. Al asignar un dominio por usuario, se asegura de que si ese usuario es hackeado, solo ese sitio se verá comprometido. Además, asegúrate de que si ese sitio es hackeado, no pueda infectar al otro.

DreamHost tiene una Política de Un Usuario Por Dominio lo que significa que cada dominio solo puede tener un usuario asignado. Consulta el artículo para obtener más detalles sobre cómo crear un usuario diferente en su dominio.

Un escaneo más

Busca 'una carpeta arriba' un archivo index.phpwp-config.php. A veces, si instalas WordPress en un subdirectorio como example.com/wp/, lo ejecutarás fuera desde example.com. Cuando eso pasa, tendrás dos archivos en el directorio example.com, y de vez en cuando se pierden cuando haces una limpieza.

Busca archivos con nombres divertidos: cualquier archivo con nombre ljkdhsf92328kjhsdfsdf o (eso es mai-one, no correo) probablemente sea sospechoso. Bórralos.

Si aún recibes anuncios emergentes no deseados de tu sitio, solicita un escaneo de seguridad enviando un ticket. También puedes hacerlo en la página Contact Support.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?