Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
subparse — モジュール型マルウェア解析アーティファクト収集・相関フレームワーク | Kitploit
ツール/GitHubGitHub/jstrosch/subparse
静的分析動的分析 (サンドボックス)フォレンジック情報収集マルウェア分析脅威インテリジェンス
GitHubjstrosch/subparse

subparse

モジュール型マルウェア解析アーティファクト収集・相関フレームワーク

リポジトリを見る
56122年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

subparse

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Subparseは、Josh Strochein、Aaron Baker、Odin Bernsteinによって開発されたモジュラーフレームワークです。このフレームワークは、マルウェアファイルを解析してインデックス化し、解析中に発見された情報を検索可能なWebビューアで表示するように設計されています。フレームワークはモジュール方式であり、コア解析エンジン、解析モジュール、およびマルウェアインデックスに追加情報を付加するさまざまなエンリッチャーを利用します。フレームワークの主な入力値はマルウェアファイルのディレクトリであり、コア解析エンジンまたはユーザー指定の解析エンジンが解析を実行した後、ユーザー指定のエンリッチメントエンジンから追加情報を追加し、そのすべてをElasticsearchインデックスにインデックス化します。収集された情報はWebビューアで検索・表示でき、任意のファイルから収集された任意の値でフィルタリングすることも可能です。現在、3つの解析エンジン(デフォルトのPEParser、OLEParser、ELFParser)と2つのエンリッチメントエンジン(ABUSEEnricherとCAPEEnricher)があります。

 

はじめに

ソフトウェア要件

Subparseを使い始めるには、いくつかの必須/推奨プログラムをインストールし、セットアップする必要があります。

ソフトウェアステータスリンク

追加要件

必要な/推奨されるソフトウェアをシステムにインストールした後、Subparseをインストールするためにさらにいくつかの手順を実行する必要があります。

Python要件
Pythonでは、Subparseがそのプロセスに依存するいくつかの追加パッケージをインストールする必要があります。Pythonのセットアップを完了するには、Subparseのインストール場所に移動し、*parser*フォルダに移動します。Python要件をインストールするために必要なコマンドは次のとおりです。
root@kitploit:~
sudo get apt install build-essential
pip3 install -r ./requirements.txt
Docker要件
SubparseはバックエンドとWebインターフェースにDockerを使用するため、プログラムを使用する前にDockerコンテナのセットアップを完了する必要があります。これを行うには、Subparseのインストール場所のルートディレクトリに移動し、次のコマンドを使用してDockerインスタンスをセットアップします。
root@kitploit:~
docker-compose up

注意: イメージのダウンロードとSubparseで必要となるコンテナのセットアップには少し時間がかかる場合があります。

 

インストール手順

  • インストール手順

使用方法

コマンドラインオプション

subparse/parser/subparse.py で使用可能なコマンドラインオプション:

結果の表示

Subparseのパーサーからの結果を表示するには、localhost:8080 にアクセスしてください。 サイトが表示できない場合は、Dockerでコンテナが起動していること、およびポート8080で実行中の他のプロセスがサイトの利用を妨げていないことを確認してください。

 

収集される一般情報

パーサーが実行される前に、基盤となるファイルの種類に関係なく、サンプルに関する一般情報が収集されます。この情報には以下が含まれます。

  • サンプルのMD5ハッシュ
  • サンプルのSHA256ハッシュ
  • サンプル名
  • サンプルサイズ
  • サンプルの拡張子
  • サンプルの派生拡張子

パーサーモジュール

パーサーは、ファイルの種類が一致するサンプルに対してのみ実行されます。たとえば、PEファイルは、そのファイルの種類がPEParserが解析可能なものに対応しているため、デフォルトでPEParserが実行されます。

デフォルトモジュール

ELFParser
これはELFファイルに対して実行されるデフォルトの解析モジュールです。収集される情報:
  • 一般情報
  • プログラムヘッダー
  • セクションヘッダー
  • ノート
  • アーキテクチャ固有データ
  • バージョン情報
  • ARMアンワインド情報
  • 再配置データ
  • 動的タグ
OLEParser
これはOLEおよびRTF形式のファイルに対して実行されるデフォルトの解析モジュールで、データ取得にOLEToolsパッケージを使用します。収集される情報:
  • メタデータ
  • MRaptor
  • RTF
  • タイムスタンプ
  • インジケーター
  • VBA / VBAマクロ
  • OLEオブジェクト
PEParser
これは、PE32およびMS-DOSのファイルタイプに一致する、またはそれらを含むPEファイルに対して実行されるデフォルトの解析モジュールです。収集される情報:
  • セクションコードとカウント
  • エントリポイント
  • イメージベース
  • 署名
  • インポート
  • エクスポート

 

エンリッチャーモジュール

これらのモジュールはオプションであり、コマンドラインの -e | --enrichers フラグで指定された場合にのみ実行されます。

デフォルトモジュール

ABUSEEnricher
このエンリッチャーは、[Abuse.ch](https://abuse.ch/) APIと[Malware Bazaar](https://bazaar.abuse.ch)を使用して、subparseが解析しているサンプルに関する追加情報を収集し、その情報を集約してElasticデータベースに保存します。
CAPEEnricher
このエンリッチャーは、CAPEv2サンドボックスインスタンスと通信し、動的解析を通じてサンプルに関する追加情報を収集します。収集された情報は、バックグラウンド処理のためにKafkaメッセージングサービスを使用してElasticデータベースに集約・保存されます。
STRINGEnricher
このエンリッチャーはスマート文字列エンリッチャーで、サンプル内の興味深い可能性のある文字列を解析します。検索対象の文字列のカテゴリには、オーディオ、画像、実行可能ファイル、コード呼び出し、圧縮ファイル、作業(Office文書)、IPアドレス、IPアドレス+ポート、WebサイトURL、コマンドライン引数が含まれます。
YARAEnricher
このエンリッチャーは、`parser/src/enrichers/yara_rules` にある事前コンパイル済みのyaraファイルを使用します。このファイルには、VirusTotal および YaraRulesProject からのルールが含まれています。

 

カスタムパーサーとエンリッチャーの開発

SubparseのWebビューはCSSにBootstrapを使用して構築されています。そのため、独自のカスタムパーサー/エンリッチャーVue.jsファイルを開発する際に、BootstrapのCSSをすべて使用できます。また、開発を容易にし、情報表示の標準化を促進するために、各サンプルとカスタムウィジェットをいくつか実装しています。すべてのVue.jsファイルは、カスタムパーサー/エンリッチャーからの情報を動的に表示するために使用され、データのテンプレートとして機能します。

注意: クラス名とファイル名の両方で命名規則に厳密に従う必要があります。これは、カスタムパーサー/エンリッチャーが実行されない問題が発生した場合に最初に確認すべき点です。パーサー/エンリッチャーの命名規則は、すべてのファイルとクラス名で同じ名前を使用する必要があります。

  • Python開発
  • Vue開発
  • Vueヘルパー


ロギング

ロガーオブジェクトは、デフォルトのPythonロガーのシングルトン実装です。詳細な使用方法については、公式ドキュメントを参照してください。Subparseでは、出力には以下のログレベルのみを使用することを推奨します。

  • debug
  • warning
  • error
  • critical
  • exception
  • log
  • info


謝辞

  • 本研究およびすべての共同著者は、NSA助成金H98230-20-1-0326の支援を受けています。
ツールをダウンロード
Docker
必須
インストールガイド
Python3.8.1必須インストールガイド
Pyenv推奨インストールガイド
引数別名必須説明
-h--helpいいえヘルプメニューを表示
-d SAMPLES_DIR--directory SAMPLES_DIRはい解析するサンプルのディレクトリ
-e ENRICHER_MODULES--enrichers ENRICHER_MODULESいいえ追加解析に使用するエンリッチャーモジュール
-r--resetいいえ設定されたElasticsearchクラスタ内のすべてのデータをリセット/削除
-v--verboseいいえ詳細なコマンドライン出力を表示
-s--service-modeいいえ処理中にSAMPLES_DIRにサンプルを追加できるサービスモードに入る