
Ein Web-Malware-Scanner
Ein Malware (Web)-Scanner, entwickelt während des CyperCamp Hackathons 2017
Derzeit sind einige Funktionen für jede Art von Website (benutzerdefiniert oder CMS) verfügbar, einige jedoch nur für bestimmte Plattformen:
Um masc auf Ihrem Computer zu installieren, können Sie einfach dieses Repository klonen. Sie können auch die neueste Veröffentlichung herunterladen, entpacken und ausprobieren. Oder Sie möchten es vielleicht mit pip installieren ('pip3 install masc').
Überprüfen Sie die Anforderungen, bevor Sie es ausführen.
Überprüfen Sie diesen Hinweis, bevor Sie Debian Linux verwenden.
Überprüfen Sie diesen Hinweis, bevor Sie Mac OSX verwenden.
masc wurde nur auf Linux- und Mac-OSX-Plattformen getestet. Es sollte unter Windows laufen, aber ich habe es noch nicht ausprobiert.
Beachten Sie zunächst, dass dieses Tool unter Linux- und Mac-OSX-Umgebungen entwickelt wurde und derzeit nur unter diesen Betriebssystemen getestet wurde.
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
Auf meinem Notebook zeigte masc nach dem Upgrade auf Debian testing einen Fehler im Zusammenhang mit Yara an.
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
Nachdem ich viele im Internet gefundene Lösungen ausprobiert hatte, stellte ich fest, dass sich diese Datei auf meinem Computer in /usr/local/lib/python3.5/dist-packages/usr/lib befand, also erstellte ich einen symbolischen Link vom vorherigen Pfad zu /usr/lib
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
Und jetzt laufen masc und die Yara-Bibliothek problemlos.
masc wird unter Linux entwickelt, wurde aber unter Mac OSX getestet. Es sollte trotzdem problemlos unter jedem Unix-freundlichen Betriebssystem laufen.
Insbesondere unter Mac OSX habe ich festgestellt, dass es notwendig ist, Homebrew zu installieren, um die python-magic-Bibliothek als libmagic richtig zu nutzen. Überprüfen Sie zuerst den obigen Link zur brew-Homepage und dann können Sie installieren, wie ich unten zeige:
santi@zenbook:$ brew install libmagic
Außerdem musste ich auf meinem Computer die erste Zeile des masc.py-Skripts ändern. Python3 ist in /usr/local/bin installiert und es ist nicht erlaubt, Symlinks von /usr/bin zu erstellen.
Ändern Sie die erste Zeile in masc.py
#!/usr/bin/python3
zu dieser Zeile
#!/usr/local/bin/python3
Sie können masc jedoch auch über den Python-Interpreter ausführen, anstatt das Skript direkt auszuführen:
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
Die Aktionen, die Sie über eine Webinstallation ausführen können, sind:
Und Sie müssen bedenken, dass Sie, wenn Sie Aktionen für eine bestimmte Art von Webinstallation durchführen möchten, den Typ (-t oder --type) und den Pfad (-p oder --path) angeben müssen.
Wenn Sie beispielsweise eine WordPress-Installation in /var/www/html haben und diese vollständig scannen möchten:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
Und wenn Sie Bereinigungsaktionen durchführen möchten (z. B. um Malware zu entfernen):
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
Es gibt zwei Beispiele gehackter Websites in der samples-Zip-Datei:
Darüber hinaus gibt es ein Repository im Docker Hub, um Tests durchzuführen masc-wordpress
Ein Tutorial zur Verwendung von masc finden Sie im Wiki
Wenn Sie zu diesem Projekt beitragen möchten, werfen Sie einen Blick ins Wiki. Es gibt einen Abschnitt über Wie man zu diesem Projekt beiträgt
Dank an OWASP WebMalwareScanner für einige Ideen und die Signaturdatenbanken mit Prüfsummen und YARA-Regeln (und wie man sie lädt, um damit zu arbeiten).
Santiago Faci [email protected]