Maldet es especialmente útil en servidores Linux, y es muy conocido en entornos de servidores de Hosting Web, que utilizan Linux como sistema operativo. Maldet detecta bastantes tipos de virus y malwares. Y si lo complementamos con CLAMAV, mejor.
En este artículo veremos:
–> Descargaremos Linux Malware Detect desde https://www.rfxn.com/projects/linux-malware-detect/
–> Y el archivo a descargar es: el archivo: maldetect-current.tar.gz
Así que podemos descargar Maldet desde la terminal de Linux, con:
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
Después de descargar el archivo comprimido .tar.gz, hemos de descomprimirlo:
tar xfz maldetect-current.tar.gz
o
tar -zxvf
Posteriormente entramos en el directorio que se habrá creado:
cd maldetect-1.5
y ejecutamos el archivo install.sh:
sudo ./install.sh
–> Para actualizar las firmas del programa (opción —update-sigs):
maldet -u
–> Y si fuera necesario actualizar la versión del programa (opción —update-ver):
maldet -d
Utilizaremos Maldetect para escanear directorios y archivos de esta forma:
maldet --scan-all /ruta
o
maldet -a /ruta
El archivo principal de configuración de Maldetect se encuentra en:
usr/local/maldetect/conf.maldet
Maldetect es compatible con ClamAV.
De hecho si tenemos ClamAV instalado, Maldet utilizará el motor de ClamAV . Podemos verlo en el archivo de configuración de Maldetect, el archivo /usr/local/maldetect/conf.maldet, del cual hablaremos más tarde:
# If installed, use ClamAV clamscan binary as default scan engine which
# provides improved scan performance on large file sets. The clamscan
# engine is used in conjunction with native ClamAV signatures updated
# through freshclam along with LMD signatures providing additional
# detection capabilities.
# [ 0 = disabled, 1 = enabled ]
scan_clamscan=”1″
La cuarentena es una de las principales opciones que nos interesará configurar desde el archivo de configuración de Maldet.
Podemos elegir configurar la cuarentena automática o manual.
Buscaremos la línea quarantine options en:
usr/local/maldetect/conf.maldet
–> Si queremos que Maldetect utilice la cuarentena de forma automática cuando detecte infecciones, cambiaremos la línea:
quarantine_hits="0"
por
quarantine_hits="1"
–> Si lo preferimos, podemos activar manualmente la cuarentena para los archivos detectados en una SCANID:
maldet -q SCANID
Si deseamos restaurar archivos que estén en cuarentena, ejecutaremos:
maldet --restore archivo
o
maldet -s archivo
Maldetect puede ejecutarse en segundo plano. Una opción idónea para escaneos largos que requieran de una gran cantidad de tiempo y recursos. Ejecutaremos Maldetect en segundo plano (background) con:
maldet -b /directorio
Vamos a mostrar el funcionamiento de Maldetect con capturas de pantalla, mostrando también lo que aparece cuando encuentra una infección de malware.
Ejecutamos Maldetect Linux sobre el directorio que contiene infecciones:
maldetect --scan-all /home/ubuntu/Downloads/directorio
MALDETECT ha encontrado 1 infeccion de malware: maldetect malware hits 1
Cuando Maldetect encuentra una infección aparecerá el texto:
maldetect malware hits 1
El Log de Maldetect nos mostrará todos los movimientos y acciones ejecutadas por el programa:
Para ver el log de Maldetect ejecutaremos:
maldet --log
Podemos ver que el log de Maldetect nos avisa de que la cuarentena se encuentra desactivada, y de que podemos activarla modificando el archivo de configuración de maldetect:
quarantine is disabled! set quarantine_hits=1 in conf.maldet or to quarantine results run: maldet -q 170716-1131.32122
También nos avisa de que podemos ver el report de MALDETECT:
scan report saved, to view run: maldet --report 170716-1131.32122
(lo veremos a continuación):
El reporte de Maldetect nos mostrará el último análisis realizado, o el reporte que le indiquemos nosotros.
Para ver el último reporte, ejecutaremos:
maldet --report
También podemos mostrar cualquiera de los análisis que hayamos realizado con anterioridad.
Para ello pediremos al comando REPORT que nos haga una lista de los reportes disponibles:
maldet --report list
y nos mostrará los reportes disponibles:
Entonces podremos mostrar cualquiera de los reportes mostrados, utilizando el comando anterior, y la numeración del reporte deseado:
Como vemos en la siguiente captura de imagen, los reportes muestran archivos de sesiones anteriores, guardados en
/usr/local/maldetect/sess/
A continuación podemos ver todas las opciones que ofrece Maldetect:
Linux Malware Detect v1.6.2
(C) 2002-2017, R-fx Networks <proj@rfxn.com>
(C) 2017, Ryan MacDonald <ryan@rfxn.com>
This program may be freely redistributed under the terms of the GNU GPL v2
signature set: 2017070716978
usage /usr/local/sbin/maldet [ OPTION ]
-b, --background
Execute operations in the background, ideal for large scans
e.g: maldet -b -r /home/?/public_html 7
-u, --update-sigs [--force]
Update malware detection signatures from rfxn.com
-d, --update-ver [--force]
Update the installed version from rfxn.com
-f, --file-list
Scan files or paths defined in line spaced file
e.g: maldet -f /root/scan_file_list
-r, --scan-recent PATH DAYS
Scan files created/modified in the last X days (default: 7d, wildcard: ?)
e.g: maldet -r /home/?/public_html 2
-a, --scan-all PATH
Scan all files in path (default: /home, wildcard: ?)
e.g: maldet -a /home/?/public_html
-i, --include-regex REGEX
Include paths/files from file list based on supplied posix-egrep regular
expression.
e.g: To include only paths named wp-content and files ending in .php:
--include-regex ".*/wp-content/.*|.*.php$"
-x, --exclude-regex REGEX
Exclude paths/files from file list based on supplied posix-egrep regular
expression.
e.g: To exclude paths containing 'wp-content/w3tc/' and core files:
--exclude-regex ".*wp-content/w3tc/.*|.*core.[0-9]+$"
-m, --monitor USERS|PATHS|FILE|RELOAD
Run maldet with inotify kernel level file create/modify monitoring
If USERS is specified, monitor user homedirs for UID's > 500
If FILE is specified, paths will be extracted from file, line spaced
If PATHS are specified, must be comma spaced list, NO WILDCARDS!
e.g: maldet --monitor users
e.g: maldet --monitor /root/monitor_paths
e.g: maldet --monitor /home/mike,/home/ashton
-k, --kill-monitor
Terminate inotify monitoring service
-c, --checkout FILE
Upload suspected malware to rfxn.com for review & hashing into signatures
-l, --log
View maldet log file events
-e, --report SCANID email
View scan report of most recent scan or of a specific SCANID and optionally
e-mail the report to a supplied e-mail address
e.g: maldet --report
e.g: maldet --report list
e.g: maldet --report 050910-1534.21135
e.g: maldet --report SCANID user@domain.com
-s, --restore FILE|SCANID
Restore file from quarantine queue to orginal path or restore all items from
a specific SCANID
e.g: maldet --restore /usr/local/maldetect/quarantine/config.php.23754
e.g: maldet --restore 050910-1534.21135
-q, --quarantine SCANID
Quarantine all malware from report SCANID
e.g: maldet --quarantine 050910-1534.21135
-n, --clean SCANID
Try to clean & restore malware hits from report SCANID
e.g: maldet --clean 050910-1534.21135
-U, --user USER
Set execution under specified user, ideal for restoring from user quarantine or
to view user reports.
e.g: maldet --user nobody --report
e.g: maldet --user nobody --restore 050910-1534.21135
-co, --config-option VAR1=VALUE,VAR2=VALUE,VAR3=VALUE
Set or redefine the value of conf.maldet config options
e.g: maldet --config-option email_addr=you@domain.com,quarantine_hits=1
-p, --purge
Clear logs, quarantine queue, session and temporary data.
--web-proxy IP:PORT
Enable use of HTTP/HTTPS proxy for all remote URL calls.
Fuentes y Documentación: