Buscar archivos que contengan cadena de texto en tu hosting (linux)

Una forma de buscar una cadena de texto en todos los archivos es usando el comando grep que acepta una expresión regular como parámetro de búsqueda, en este ejemplo usamos los parámetros -l y -r que significa que solo me muestra los archivos como una lista y en todos los subdirectorios

¿Cuándo usarlo en sitios web?

Cuando entran/hackean en tu sitio web, usualmente te dejan banner publicitarios, enlaces o cualquier otra cosa, si por ejemplo veo que sale un banner haciendo referencia al sitio web http://sitiomalicioso.com/ lo que haría es entrar vía SSH ir a la carpeta raíz de tu sitio web (normalmente es public_html,  www o httpdocs) y ejecutar el siguiente comando:

grep -l -r "sitiomalicioso" .
 grep -l -r "sitiomalicioso" ruta/a/buscar/

luego de eso obtendré la lista de archivos que contengan esa palabra y podré proceder a limpiar el sitio web

En otros casos, uno puede estar siempre buscando el código malicioso o la cadena del enlace que dejaron y nunca lo va a encontrar nada; esto es debido que usualmente dejan la cadena cifrada que debe ser descifrada con la función base64_decode.

Así que nuestra búsqueda será de esa función en los archivos del hosting

grep -l -r "base64_decode" .

No te sorprendas en encontrar varios archivos ya que esa función la pueden usar específicamente algunos Scripts, así que con esa lista debes inspeccionar tus archivos y encontrar la cadena maliciosa. por ejemplo en la siguiente imagen esos archivos contiene esa función, pero ninguna es malicioso 😀

grep_linux

Notas:

  • Recuerden SSH es consola Linux, así que eso comandos son validos en cualquier distribución LINUX
  • Si la salida, es decir la lista, es muy larga, puedes mandarlo a un archivo poniendo al final del comando > salida.txt y luego puedes descargar ese archivo o visualizar si manejas los editores de Linux (vi, nano, etc.)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *