
Un escáner de malware web
Un escáner de malware (web) desarrollado durante el Hackathon de CyperCamp 2017
Por el momento, hay algunas características disponibles para cualquier tipo de sitio web (personalizado o CMS) y algunas solo disponibles para plataformas específicas:
Para instalar masc en tu computadora, puedes simplemente clonar este repositorio. También puedes descargar la última versión, descomprimirla y probarla. O quizás prefieras instalarlo usando pip ('pip3 install masc').
Revisa los requisitos antes de ejecutarlo.
Revisa este aviso antes si estás usando Debian Linux.
Revisa este aviso antes si estás usando Mac OSX.
masc ha sido probado solo en plataformas Linux y Mac OSX. Debería funcionar en Windows pero aún no lo he probado.
Primero que nada, ten en cuenta que esta herramienta está desarrollada en entornos Linux y Mac OSX y, por el momento, solo ha sido probada en estos sistemas operativos.
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
En mi portátil, después de actualizar a Debian testing, masc comenzó a mostrar un error relacionado con Yara
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
Después de probar muchas soluciones que encontré en Internet, me di cuenta de que este archivo estaba ubicado en mi computadora en /usr/local/lib/python3.5/dist-packages/usr/lib, así que creé un enlace simbólico desde la ruta anterior a /usr/lib
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
Y ahora, masc y la librería Yara funcionan sin problemas.
masc está desarrollado en Linux pero ha sido probado en Mac OSX. De todas formas, debería funcionar sin problemas en cualquier sistema operativo amigable con Unix.
En particular, en Mac OSX he notado que es necesario instalar Homebrew para usar la librería python-magic correctamente como libmagic. Revisa primero el enlace anterior a la página de brew y luego podrás instalarlo como muestro a continuación:
santi@zenbook:$ brew install libmagic
Además, en mi computadora tuve que cambiar la primera línea del script masc.py. Python3 está instalado en /usr/local/bin y no está permitido crear enlaces simbólicos desde /usr/bin
Cambia la primera línea de masc.py
#!/usr/bin/python3
por esta línea
#!/usr/local/bin/python3
De todas formas, siempre puedes ejecutar masc usando el intérprete de Python en lugar de ejecutar el script directamente:
santi@zenbook:$ python3 masc.py
usage: masc [-h] [-af FILENAME] [--aw STRING] [-cc] [-c] [-l] [-b] [-m]
[-n NAME] [-p PATH] [-r] [-s] [-t {wordpress,drupal,custom}]
optional arguments:
-h, --help show this help message and exit
-af FILENAME, --add-file FILENAME
Add a suspect file to the dictionary
-aw STRING --add-word STRING
Add a suspect content to the dictionary
-cc, --clean-cache Clean masc cache (cache and logs files, NO backups)
-c, --clean-site Clean up the site (and apply some extra actions to hide information to attackers)
-l, --list-backups List local backups
-b, --make-backup Create a local backup of the current installation
-m, --monitor Monitor site to detect changes
-n NAME, --name NAME Name assigned to the scanned installation
-p PATH, --path PATH Website installation path
-r, --rollback Restore a local backup
-s, --scan Scan website for malware
-t {wordpress,drupal,custom}, --site-type {wordpress,drupal,custom}
which type of web you want to scan:: wordpress,
joomla, drupal or magento
Las acciones que puedes realizar sobre una instalación web son:
Y debes considerar que si quieres realizar algunas acciones sobre algún tipo de instalación web, es obligatorio especificar el tipo (-t o --type) y la ruta (-p o --path).
Por ejemplo, si tienes una instalación de WordPress en /var/www/html y quieres escanearla completamente:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
Y si quieres realizar acciones de limpieza (para eliminar algún malware, por ejemplo):
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
Hay dos muestras de sitios web hackeados en el archivo zip samples:
Además, hay un repositorio en Docker Hub para realizar pruebas masc-wordpress
Puedes encontrar un tutorial sobre cómo usar masc en la wiki
Si quieres contribuir a este proyecto, echa un vistazo a la wiki. Hay una sección sobre Cómo contribuir a este proyecto
Gracias a OWASP WebMalwareScanner por algunas ideas y las bases de datos de firmas con sumas de comprobación y reglas YARA (y cómo cargarlas para trabajar con ellas).
Santiago Faci [email protected]