LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
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í

-
Seguridad
- El comando Nohup en Linux le permite ejecutar en SSH comandos incluso después de cerrar la sesión
- Limitar el acceso ssh por dirección IP
- Tunelización SSH con Autossh
- Túneles SSH para diversión y ganancias: Autossh
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- 10 herramientas de pruebas de penetración y seguridad usadas por profesionales
- Realizar SSH y SCP sin introducir la contraseña en OpenSSH
- Tiger: la herramienta de detección de intrusos y auditoría de seguridad de Unix
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- ¿Cómo bloquear las herramientas de escaneo de puertos y registrarlas con iptables?
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Guía de Evaluación de IDS de Código Abierto. (detección de intrusiones)
- Cómo transferir de forma segura un archivo en la Dark Web a alguien que usa el protocolo Onion
- Limitación de velocidad por IP con iptables
- Una introducción a la distribución Linux de seguridad "Tails"