En este artículo veremos cómo encontrar archivos infectados con PHP usando un script muy sencillo que nos ayudará bastante para auditar nuestros archivos que están subidos en nuestro hosting.

No necesitas ser un experto para hacer correr éste script, lo único que tendrás que hacer es configurarlo y no tendrás que preocuparte de nada más ya que este script te permitirá configurar un CRON para ejecutarlo automáticamente aunque eso ya depende de ti.


Primeramente tendremos que descargar el script, para esto podemos ejecutar desde la consola lo siguiente:

git clone https://github.com/dklynn/SuperScan.git

O si no tienes acceso a una terminal, puedes ingresar al repositorio de GitHub haciendo clic aquí.


Una ves descargados los archivos, tenemos que subirlos a nuestro hosting, puedes hacerlo mediante FTP o por cPanel pero lo importante es que no lo subas al public_html sino directamente al /home/ de todos tus archivos.

Editar archivo scandb.php


Una ves que hayamos abierto este archivo tendremos que editar los valores que vienen por defecto y cambiarlos con los datos de nuestra base de datos.

/* Store this file outside your webspace if possible */

	define('SERVER','localhost');
	define('USER','User_Name');
	define('PASS','Password for User_Name');
	define('DATABASE','User_hashscan');
	
	$scandb = mysqli_connect(SERVER,USER,PASS,DATABASE);

Tenemos que crear una base de datos, asumiré que sabrás como editar este archivo, si no, ponte en contacto conmigo y con gusto te guiaré. Después de crear la base de datos tenemos que importar el archivo .sql que se encuentra en la carpeta que descargamos.

Editar archivo configure.php

Este archivo contiene nuestra configuración y es aquí en que rutas se ejecutara el scann.

Tenemos una variable $acct = 'MyAccount'; que la podemos modificar como nosotros queramos, para este ejemplo yo la llamaré $acct = 'gabriel_scann';

Posteriormente tenemos que editar una linea la cual podemos encontrar como:

define("SCAN_PATH", "/home/account/public_html/");

Aquí estamos definiendo la carpeta en donde se hará el análisis, puedes dejarla como public_html o simplemente dejar /home/account/ para analizar todo el directorio.

Nota: en donde dice “account” tienes que modificar ese texto con el nombre de tu cuenta de cPanel, yo no pongo el mio por motivos de seguridad pero tendrás que averiguar cual es el tuyo.

Hay otra variable que podemos modificar dentro de este archivo y es la siguiente:

$addresses = array("[email protected]", "[email protected]");

Básicamente aquí se crea un array con la dirección de correo en donde el script enviará el reporte. Esto es opcional pero si vas a ejecutar un cron lo ideal sería configurar esta variable con tu correo para que estés enterado.

Por último y muy importante tenemos que indicarle al script que tipo de archivos va a analizar, para esto tenemos que configurar igualmente una variable: $ext_array = array();

Por defecto este array viene vacío y tenemos que ingresar datos en él, en este ejemplo analizaremos archivos php, html, css y javascript porque nuestro objetivo es analizar un WordPress.

$ext_array = array("php", "html", "js", "css");

Listo, no hace falta configurar nada más pero si quieres descubrir más funciones te resultará fácil hacerlo ya que todas las lineas del código están explicadas con comentarios.

Editar archivo CRON.txt


No hay mucho que explicar aquí, no te diré como funciona un cron ya que no es el objetivo de este artículo, pero lo que te puedo decir es que este cron se ejecutará todos los días a las 10 de la mañana, creando el reporte.

Tienes que editar todas las palabras “account” con el nombre de tu cuenta de cPanel.

Una vez configurado el cron no hace falta modificar nada más, lo que resta es crear el cron en el servidor.

Nota: tienes que modificar el archivo reporter.php, contiene datos de configuración y tendrás que ingresar el correo en donde llegará la información de los reportes diarios.

Crear cron desde cPanel


Necesitamos buscar la opción “Tareas de Cron” que está en nuestro cPanel:

Tareas de Cron

Una vez que hemos accedido a esta sección procederemos a crear el cron necesario, dichos comandos están en nuestro archivo CRON.txt que editamos anteriormente.

La configuración del cron automatizará la tarea y ejecutará el script todos los días a las 10 de la mañana. Nos debe quedar algo así:

¿Cómo ejecutarlo manualmente?


Lo que yo he hecho es crear un sub dominio que apunta a la carpeta de SuperScan, de esta manera puedo acceder desde el navegador a los archivos .php, simplemente accedemos a scanner.php para ejecutar el análisis y posteriormente si queremos enviar ese reporte a nuestro correo abrimos reporter.php.

Listo, de esta manera podremos tener perfectamente monitorizados los archivos “sospechosos” que se encuentran en nuestro public_html, te recomiendo realizar esta tarea por lo menos una vez al mes para asegurarte que todo esa bien y evitar dolores de cabeza.

Si te ha gustado el artículo por favor deja un comentario o compártelo en tus redes sociales, de esta manera me ayudarás a seguir trayendo contenido de calidad para el blog, un abrazo virtual! 😀

Obtén beneficios exclusivos

Suscríbete al boletín y obtén beneficios exclusivos directo en tu correo.

Gracias por suscribirte...

Algo salió mal...