Maldet (Linux Malware Detect) es un software detector de Malware, backdoors php y otros archivos maliciosos para Linux.
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.
–> Descargar Maldetect Linux desde el sitio oficial de Linux Maldetect.
En este artículo veremos:
- 1. Instalación de Maldet
- 2. Uso de Maldetect
- 3. Configurar Opciones de Maldetect
- 4. Escaneo/Análisis con Maldetect (caso práctico)
- 5. LOG
- 6. REPORT
- 7. Sintáxis de otras opciones de Maldetect
1. Instalar Linux Maldet
–> 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 |
1.1 Descargar, descomprimir e instalar Maldetect en el sistema:
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 |
2. Cómo usar Linux Maldetect
Utilizaremos Maldetect para escanear directorios y archivos de esta forma:
maldet --scan-all /ruta |
o
maldet -a /ruta |
3. Configurar opciones de Maldet:
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″
3.1 Configurar Cuarentena en Maldet
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 |
3.2 Restaurar archivos Maldet
Si deseamos restaurar archivos que estén en cuarentena, ejecutaremos:
maldet --restore archivo |
o
maldet -s archivo |
3.3 Ejecutar Maldetect en segundo plano
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 |
4. REALIZAR ESCANEO CON MALDET (caso práctico):
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
5. MOSTRAR Y ANALIZAR EL LOG DE MALDETECT
El Log de Maldetect nos mostrará todos los movimientos y acciones ejecutadas por el programa:
- Actualizaciones y descarga de firmas
- Escaneos/análisis de directorios
- Archivos malware encontrados
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):
6. Linux Maldetect Report:
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/
7. SINTAXIS DE OPCIONES DE MALDETECT (Linux Malware Detect)
A continuación podemos ver todas las opciones que ofrece Maldetect:
Ayuda de 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 [email protected] -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 protected],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: