
Uno scanner di malware web
Uno scanner di malware (web) sviluppato durante l'Hackathon CyperCamp 2017
Al momento, sono disponibili alcune funzionalità per qualsiasi tipo di sito web (personalizzato o CMS) e alcune sono disponibili solo per piattaforme specifiche:
Per installare masc sul tuo computer, puoi semplicemente clonare questo repository. Puoi anche scaricare l'ultima release, decomprimerla e provarla. Oppure potresti preferire installarlo usando pip ('pip3 install masc').
Controlla i requisiti prima di eseguirlo.
Controlla questo avviso se stai usando Debian Linux.
Controlla questo avviso se stai usando Mac OSX.
masc è stato testato solo su piattaforme Linux e Mac OSX. Dovrebbe funzionare su Windows ma non l'ho ancora provato.
Prima di tutto, nota che questo strumento è sviluppato in ambienti Linux e Mac OSX e, al momento, è stato testato solo su questi sistemi operativi
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
Sul mio notebook, dopo l'aggiornamento a Debian testing, masc ha iniziato a mostrare un errore relativo a Yara
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
Dopo aver provato molte soluzioni trovate su Internet, mi sono reso conto che questo file si trovava sul mio computer in /usr/local/lib/python3.5/dist-packages/usr/lib, quindi ho creato un collegamento simbolico dal percorso precedente a /usr/lib
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
E ora, masc e la libreria Yara funzionano senza problemi.
masc è sviluppato sotto Linux ma è stato testato su Mac OSX. In ogni caso, dovrebbe funzionare senza problemi su qualsiasi sistema operativo Unix-friendly.
In particolare, su Mac OSX ho notato che è necessario installare Homebrew per utilizzare correttamente la libreria python-magic come libmagic. Controlla prima il link precedente alla homepage di brew e poi sarai in grado di installare come mostrato di seguito:
santi@zenbook:$ brew install libmagic
Inoltre, sul mio computer ho dovuto modificare la prima riga dello script masc.py. Python3 è installato in /usr/local/bin e non è consentito creare collegamenti simbolici da /usr/bin
Modifica la prima riga in masc.py
#!/usr/bin/python3
con questa riga
#!/usr/local/bin/python3
Comunque, puoi sempre eseguire masc usando l'interprete Python invece di eseguire direttamente lo script:
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
Le azioni che puoi eseguire su un'installazione web sono:
E devi considerare che se vuoi eseguire alcune azioni su un certo tipo di installazione web, è obbligatorio specificare il tipo (-t o --type) e il percorso (-p o --path).
Ad esempio, se hai un'installazione WordPress in /var/www/html e vuoi scansionarla completamente:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
E se vuoi eseguire azioni di pulizia (per rimuovere del malware, ad esempio):
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
Ci sono due campioni di siti web hackerati nel file zip samples:
Inoltre, c'è un repository su Docker Hub per eseguire test masc-wordpress
Puoi trovare un tutorial su come usare masc nella wiki
Se vuoi contribuire a questo progetto, dai un'occhiata alla wiki. C'è una sezione su Come contribuire a questo progetto
Grazie a OWASP WebMalwareScanner per alcune idee e i database di firme con checksum e regole YARA (e come caricarli per funzionare).
Santiago Faci [email protected]