
2017年のCyperCampハッカソンで開発されたマルウェア(ウェブ)スキャナー。
現時点では、あらゆるタイプのウェブサイト(カスタムまたはCMS)に対して利用可能な機能と、一部は特定のプラットフォームでのみ利用可能な機能があります。
コンピュータに_masc_をインストールするには、このリポジトリをクローンするだけです。最新のリリースをダウンロードして展開し、試すこともできます。または、pipを使用してインストールする方が好みかもしれません('pip3 install masc')。
実行前に要件を確認してください。
Debian Linuxを使用している場合は、この注意事項を確認してください。
Mac OSXを使用している場合は、この注意事項を確認してください。
mascはLinuxおよびMac OSXプラットフォームでのみテストされています。Windowsでも動作するはずですが、まだ試していません。
まず第一に、このツールはLinuxおよびMac OSX環境で開発されており、現時点ではこれらのオペレーティングシステムでのみテストされています。
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
私のノートPCでは、Debian testingにアップグレードした後、mascがYaraに関連するエラーを表示するようになりました。
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
インターネットで見つけた多くの解決策を試した後、このファイルが自分のコンピュータの /usr/local/lib/python3.5/dist-packages/usr/lib_にあることに気づき、以前のパスから/usr/lib_へのシンボリックリンクを作成しました。
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
これで、mascとYaraライブラリは問題なく動作しています。
_masc_はLinuxで開発されていますが、Mac OSXでもテストされています。いずれにせよ、Unix互換のOSであれば問題なく動作するはずです。
特に、Mac OSXでは、python-magicライブラリを_libmagic_として適切に使用するためにHomebrewをインストールする必要があることに気付きました。まず、前のリンクで_brew_のホームページを確認し、以下に示すようにインストールできます。
santi@zenbook:$ brew install libmagic
また、私のコンピュータでは_masc.py_スクリプトの最初の行を変更する必要がありました。Python3は_/usr/local/bin_にインストールされており、_/usr/bin_からシンボリックリンクを作成することは許可されていません。
_masc.py_の最初の行を変更します
#!/usr/bin/python3
を次の行に変更
#!/usr/local/bin/python3
いずれにせよ、スクリプトを直接実行する代わりに、Pythonインタプリタを使用して_masc_を実行することもできます。
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
ウェブインストールに対して実行できるアクションは次のとおりです。
また、特定の種類のウェブインストールに対してアクションを実行したい場合は、タイプ(-tまたは--type)とパス(-pまたは--path)を指定する必要があることに注意してください。
例えば、WordPressのインストールが/var/www/htmlにある場合、全体をスキャンするには:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
また、クリーンアップアクション(例えば、マルウェアを削除する)を実行したい場合:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
サンプルzipファイルには、ハッキングされたウェブサイトの2つのサンプルがあります。
さらに、テストを実行するためのDocker Hubのリポジトリがあります masc-wordpress
_masc_の使い方に関するチュートリアルは、wikiで見つけることができます。
このプロジェクトに貢献したい場合は、wikiをご覧ください。プロジェクトへの貢献方法に関するセクションがあります。
いくつかのアイデアと、チェックサムとYARAルールを含む署名データベース(およびそれらをロードして使用する方法)を提供してくれたOWASP WebMalwareScannerに感謝します。
Santiago Faci [email protected]