
ManalyzeはPEファイルの静的解析ツールで、実行ファイル(またはそのセット)の一次評価を行うために使用できます。悪意のある動作を示唆する弱いシグナルを収集し、その後の手動分析に役立つ情報を表示します。
ツールが生成したサンプルレポートを見たい場合は、私が作成したWebサービスmanalyzer.orgをお試しください。
ManalyzeはWindowsとLinux向けにC++で書かれており、GPLv3ライセンスの下で公開されています。柔軟なプラグインアーキテクチャを備えた堅牢なPEファイルパーサーで、ユーザーはファイルを詳細に静的解析できます。Manalyzeは...
WriteProcessMemory + CreateRemoteThread)を検出オープンソースプロジェクトをチェックアウトして、ビルドに2時間も費やすことほど嫌いなことはほとんどありません。だからこそ、Manalyzeを可能な限り簡単にビルドできるように最善を尽くしました。以下の数行がうまくいかない場合は、私の仕事は失敗ですので、ご連絡いただければ修正します。
$> [sudo or as root] apt-get install libboost-dev libboost-system-dev libssl-dev build-essential cmake git
$> [alternatively, also sudo or as root] pkg install boost libressl cmake git
$> git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
$> cmake .
$> make -j5
$> cd bin && ./manalyze --version
注意:VirusTotalプラグインはオプションで、Boost.Systemライブラリが必要です。
最後に、マシンのすべてのディレクトリからManalyzeにアクセスしたい場合は、プロジェクトのルートフォルダから$> make installを使用してインストールしてください。
cd boost_1_XX_0 && ./bootstrap.bat && ./b2.exe --build-type=complete --with-systemBOOST_ROOTを追加し、boost_1_XX_0フォルダへのパスを設定します。git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze && cmake .ManalyzeフォルダにVisual Studioプロジェクトmanalyze.slnが表示されるはずです!# Skip these two lines if you already have a sane build environment
user$ xcode-select --install
user$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
user$ git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
user$ brew install openssl boost
user$ cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/ && make -j5
user$ bin && ./manalyze --version
インターネットにアクセスできないマシンでManalyzeをビルドする必要がある場合は、以下のプロジェクトを手動でチェックアウトする必要があります:
2つのフォルダをそれぞれexternal/yaraおよびexternal/hash-libraryとしてexternalフォルダに配置します。その後、cmake . -DGitHub=OFFを実行し、通常通り続行します。
ManalyzeのDockerイメージはコミュニティから提供されています。docker pull evanowe/manalyzeを実行し、詳細はこちらをご覧ください。
ClamAVシグネチャは大量で定期的に更新されるため、GitHubやバイナリに同梱して配布するのはあまり意味がありませんでした。初めてClamAVプラグインを使用しようとすると、おそらく次のエラーメッセージが表示されます:[!] Error: Could not load yara_rules/clamav.yara。これらを生成するには、bin/yara_rules(ソースツリー)または${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules(インストール先、通常は/usr/share/manalyze/yara_rulesや/usr/local/share/manalyze/yara_rules)にあるupdate_clamav_signatures.py Pythonスクリプトを実行してください。
シグネチャを更新したいときにいつでもスクリプトを実行してください。コンパイルされたYaraキャッシュは$XDG_CACHE_HOME/manalyze/yara_rulesまたは~/.cache/manalyze/yara_rulesに保存され、MANALYZE_CACHE_DIRで上書きできます。
デフォルトのインストール場所(CMAKE_INSTALL_PREFIXに従います):
${CMAKE_INSTALL_SYSCONFDIR}/manalyze/manalyze.conf (often /etc/manalyze/manalyze.conf or /usr/local/etc/manalyze/manalyze.conf)${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules (often /usr/share/manalyze/yara_rules or /usr/local/share/manalyze/yara_rules)${CMAKE_INSTALL_LIBDIR}/manalyze/pluginsこれらの設定は環境変数で上書きできます:
MANALYZE_CONFIG_DIR、MANALYZE_DATA_DIR、MANALYZE_PLUGIN_DIR、MANALYZE_CACHE_DIR。
$ ./manalyze.exe --help
Usage:
-h [ --help ] Displays this message.
-v [ --version ] Prints the program's version.
--pe arg The PE to analyze. Also accepted as a positional
argument. Multiple files may be specified.
-r [ --recursive ] Scan all files in a directory (subdirectories will be
ignored).
-o [ --output ] arg The output format. May be 'raw' (default) or 'json'.
-d [ --dump ] arg Dump PE information. Available choices are any
combination of: all, summary, dos (dos header), pe (pe
header), opt (pe optional header), sections, imports,
exports, resources, version, debug, tls, config, delay, rich
--hashes Calculate various hashes of the file (may slow down the
analysis!)
-x [ --extract ] arg Extract the PE resources to the target directory.
-p [ --plugins ] arg Analyze the binary with additional plugins. (may slow
down the analysis!)
Available plugins:
- clamav: Scans the binary with ClamAV virus definitions.
- compilers: Tries to determine which compiler generated the binary.
- peid: Returns the PEiD signature of the binary.
- strings: Looks for suspicious strings (anti-VM, process names...).
- findcrypt: Detects embedded cryptographic constants.
- packer: Tries to structurally detect packer presence.
Pythonバインディングはmanapy/にあり、manalyzeとしてインポートされます。
リポジトリルートから:
cd manapy
python -m pip install .
例: manalyze.exe program.exe manalyze.exe -dresources -dexports -x out/ program.exe manalyze.exe --dump=imports,sections --hashes program.exe manalyze.exe -r malwares/ --plugins=peid,clamav --dump all
このリストに追加してほしい場合は、私に連絡するかプルリクエストを開いてください!