Este paquete, escrito en php, puede escanear archivos PHP y analizar tu proyecto para encontrar código malicioso dentro de él. Proporciona una interfaz de consola de terminal de texto para analizar los archivos en un directorio determinado y encontrar archivos de código PHP que parecen contener código malicioso.
El paquete también puede escanear los archivos PHP sin necesidad de enviar nada a la consola de la terminal. En ese caso, los resultados se almacenan en un archivo de registro. Este escáner puede funcionar en tus propios proyectos php y en muchas otras plataformas. Usa este comando php -d disable_functions
para ejecutar el programa sin problemas.
Instalar
Requerimientos:
- php 5.4+
Liberación
Puedes usar uno de estos métodos para instalar el escáner descargándolo desde github o directamente desde la consola.
Descargar
Ve a la página de GitHub y pulsa en la pestaña de Releases o descarga el archivo raw desde aquí.
Consola
Ejecuta este comando desde la consola (el escáner se descargará en tu directorio actual):
wget https://raw.githubusercontent.com/marcocesarato/PHP-Antimalware-Scanner/master/dist/scanner --no-check-certificate
Ejecuta el escáner:
php scanner ./dir-to-scan -a …
Fuente
Descargar
Haz clic en la página de GitHub “Clonar o descargar” o descarga desde aquí:
https://codeload.github.com/marcocesarato/PHP-Antimalware-Scanner/zip/master
Composer
- Instalar composer
- Escribir
composer require marcocesarato/amwscan
- Ir a
vendor/marcocesarato/amwscan/
para tener la fuence - Disfruta
Git
- Instalar git
- Copiar el comando y el enlace de abajo en tu terminal:
git clone https://github.com/marcocesarato/PHP-Antimalware-Scanner
- Change directories to the new
~/PHP-Antimalware-Scanner
directory:
cd ~/PHP-Antimalware-Scanner/
- Para asegurarte de que tu master branch está actualizada, usa el comando pull:
git pull https://github.com/marcocesarato/PHP-Antimalware-Scanner
- Disfruta
Construir
Para compilar la carpeta /src/
a un solo archivo /dist/scanner
necesitas hacer esto:
- Instalar requisitos composer:
composer install
- Cambiar el número de versión en
src/Application.php
- Ejecutar el comando
composer build
Modo de Escaneo
Podrías encontrar algún falso positivo durante el escaneo. Para ello puedes elegir el nivel de agresión como se muestra:
Parámetro | Abbr | Agresividad | Descripción |
---|---|---|---|
MUY AGRESIVO | Búsqueda de todas las funciones/explotaciones en las listas y todas las firmas de malware sin restricciones | ||
--agile | -a | MEDIO | Buscar algunas explotaciones específicas en listas con algunas restricciones y todas las firmas de malware (en WordPress y otras plataformas podría encontrar más malware y más falsos positivos) |
--only-signatures | -s | NORMAL | Búsqueda de todas las firmas de malware (podría ser perfecto para WordPress y otras plataformas para tener menos falsos positivos) |
--only-exploits | -e | AGRESIVO | Búsqueda de explotaci¢n en las listas |
--only-functions | -f | MEDIO | Buscar todas las funciones en las listas (en algún código ofuscado no se puede detectar) |
Sugerencias
Si estás ejecutando el escáner en un proyecto de WordPress o en otra plataforma popular, utiliza la flag --only-signatures
o --agile
para tener un control con menos falsos positivos, pero esto podría pasar por alto algunas explotaciones peligrosas como nano
.
Ejemplos:
php -d disable_functions='' scanner -s
php -d disable_functions='' scanner -a
Opciones de Detección
Cuando se detecte un malware, tendrás las siguientes opciones (excepto cuando el escáner esté en modo de análisis de informes --report
):
- Eliminar el archivo [
--auto-delete
] - Mover a cuarentena
(move to ./scanner-quarantine)
[--auto-quarantine
] - Abrir con vim
(need php -d disable_functions='')
- Abrir con nano
(need php -d disable_functions='')
- Añadir a lista blanca
(add to ./scanner-whitelist.json)
- Mostrar fuente
- Ignorar [
--auto-skip
]
Uso
Arguments:
- Define the path to scan (default: current directory)
Flags:
-a --agile - Help to have less false positive on WordPress and others platforms
enabling exploits mode and removing some common exploit pattern
-f --only-functions - Check only functions and not the exploits
-e --only-exploits - Check only exploits and not the functions,
this is recommended for WordPress or others platforms
-s --only-signatures - Check only virus signatures (like exploit but more specific)
-h --help - Show the available flags and arguments
-l --log="" - Write a log file on 'index.php.log' or the specified filepath
-r --report - Report scan only mode without check and remove malware (like --auto-skip).
It also write a report with all malware paths found
-b --backup - Make a backup of every touched files
-u --update - Update index.php to last version
-v --version - Get version number
https://github.com/marcocesarato/PHP-Antimalware-Scanner