LinuxParty
Justo hoy me dicen que uno de mis sites estaba infectado, los redirigía a una url, como siempre pasa en estos casos los que crean las inyecciones en sitios web saben que los dueños o usan Firefox o Chrome, entonces en el javascript inyectado detectan que navegador usás.
Si es con alguno de esos, no se "muestra", si es con, por ejemplo, Internet Explorer, activa la maldad. Ahora bien, mis lectores con IE no son más que el 10% por lo que, para colmo, había menos chances de que me entere.
Miro y veo que TODO archivo .php del servidor estaba infectado, habían logrado colar un típico "admin" ofuscado gracias a una vulnerabilidad de Wordpress en un theme de uno de los sitios, si, tanta mala suerte como para que in vivaracho aparezca por ahí y lo infecte.
Una vez adentro con un simple script se puede infectar todo archivo que controle el usuario y así lo hicieron, cada .php tenía un código extra en el encabezado que, para evitar ser fácilmente detectado, está codificado en BASE64, pero a esta altura no es tan difícil verlo, donde hay un eval(base64_decode(" en algún lado ya sabemos que nos dejaron un regalito extra.
Pero ¿cómo removerlo de veinte sitios a la vez? si en promedio cada uno tendrá 400-500 archivos tenía que reemplazar algo así como 10.000 archivos y sin romper nada, pues bien, para eso está el shell de Linux.
Una de las genialidades que más cuesta aprender de los sistemas Unix es la capacidad de concatenar comandos, así en una mísma sentencia podemos buscar, reemplazar y guardar lo que encontremos, miren este ejemplo:
find ./ -name "*.php" -type f | xargs sed -i 's#<?php /\*\*/ eval(base64_decode("aWY.*?>##g' 2>&1
Los caracteres. "aWY", pueden variar, por lo que también sería interesante usarlo así:
find ./ -name "*.php" -type f | xargs sed -i 's#<?php /\*\*/ eval(base64_decode(".*?>##g' 2>&1
Con eso estoy buscando cada archivo PHP y dentro de cada uno la parte característica que representa el probelma, luego lo reemplazo por la nada mísma y guardo.
Se toma su tiempito, tiene que buscar recursivamente en todos los directorios pero en dos minutos tenía todo resuelto.
Ahora a emparchar un theme, un maldito theme, que dejó el hueco ¿ven por qué odio usar wordpress? cero control, demasiado expuesto
Más ejemplos aquí y aquí

-
Juegos
- La última versión del cliente Steam de Valve permite una descarga más rápida de actualizaciones en Linux
- Los juegos para PC superan a las consolas desde hace años, según un informe
- DXVK 2.5.3 trae mejoras para Far Cry 5, Max Payne 3 y otros juegos
- Instalar Steam en Fedora Linux.
- Juego Simulador de Camiones para Linux: Euro Truck Simulator 2
- Cómo instalar Steam en Linux para empezar a jugar miles de juegos
- Valve lanza una actualización del cliente Steam para mejorar aún más los juegos nativos en Linux
- Half-Life 2 celebra su 20º aniversario
- La nueva actualización del cliente Steam añade grabación de juegos y mejora los juegos nativos en Linux
- Este videojuego de estrategia bélica, es tan bueno que hasta el Pentágono lo usa como entrenamiento
- Una fórmula de ajedrez se está apoderando del mundo
- Los 15 mejores juegos de Linux que deberías jugar en 2024
- Los 28 mejores juegos del MS-DOS disponibles online para jugar gratis en tu Navegador.
- Distribuciones de Linux para Juegos: Elevando la Experiencia de Juego en 2023
- Unity se apresura a aclarar el plan de incremento de precios, mientras los desarrolladores de juegos se enfadan