Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SentinelNav — SentinelNav: 依存関係ゼロ、ピュアPythonのバイナリ可視化とフォレンジックツール。 | Kitploit
ツール/GitHubGitHub/smolfiddle/sentinelnav
メモリフォレンジックリバースエンジニアリングフォレンジックデータ復旧デジタルフォレンジックバイナリ解析ファームウェア解析
GitHubsmolfiddle/sentinelnav

SentinelNav

SentinelNav: 依存関係ゼロ、ピュアPythonのバイナリ可視化とフォレンジックツール。

リポジトリを見る
14681610ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

SentinelNav

SentinelNav は、依存関係が一切不要な純粋な Python 製のバイナリ可視化・フォレンジックツールです。バイナリデータをインタラクティブなスペクトルマップに変換し、アナリストがファイル構造、エントロピーの異常、コードセクション、潜在的な暗号ブロブを視覚的に特定できるようにします。

マルチプロセッシングによる高速なファイルスキャンと、ローカルな Web ベースのフロントエンドによるインタラクティブな探索、16 進数インスペクション、アーキテクチャフィンガープリンティングを組み合わせています。

最初のスクリーンショット 2 番目のスクリーンショット


クイックスタート

SentinelNav は Python 標準ライブラリのみに依存しているため、外部パッケージのインストールは不要です。

  1. スクリプトを sentinelnav.py として保存します。
  2. スクリプトをインタラクティブモードで実行します。
python3 sentinelnav.py
  1. プロンプトが表示されたら、調査対象のファイルをターミナルウィンドウにドラッグ&ドロップします。
  2. ブラウザで http://localhost:8000 を開きます。


機能

コア分析

  • 依存関係ゼロ: pip install なしで、標準の Python 3 インストールで動作します。
  • ハイブリッド スキャンモード:
    • 固定ブロック: ファイルを一定サイズのチャンク(例:1024 バイト)に分割します。バイナリやディスクイメージに最適です。
    • センチネル: 区切り文字(例:ログやテキストベースのプロトコルの場合は 0x0A)に基づいてファイルを分割します。
  • アーキテクチャフィンガープリンティング (ArchID):
    • ファイルヘッダー(MZ、ELF、Mach-O、PDF、PNG、JPEG)を検出します。
    • ヒューリスティックな頻度分析を実行し、生のバイナリチャンクから CPU アーキテクチャ(x86、x64、ARM64)を推測します。
  • エントロピー & 異常検出:
    • ブロックごとにシャノンエントロピーを計算します。
    • 「フラックス」イベントを検出します: 急激なスパイク(暗号化/コードの開始)または低下(データストリームの終了)。

可視化

  • スペクトルマッピング: バイト分布を RGB カラーにマッピングし、データタイプ(テキスト vs コード vs パディング)を視覚的に区別します。
  • キャンバスレンダリング: 数百万ものチャンクをページネーションで処理できる高性能な HTML5 キャンバスレンダリング。
  • ライブ 16 進数インスペクター: 任意のブロックをクリックすると、生の 16 進数ダンプ、ASCII デコード、ArchID 分析が表示されます。
  • BMP エクスポート: 外部レポート用にファイル全体のヒートマップ画像を生成します。

パフォーマンス

  • 並列処理: concurrent.futures.ProcessPoolExecutor を使用して、スキャン中にすべての CPU コアを利用します。
  • SQLite バックエンド: 分析結果を一時的な SQLite データベースに保存し、巨大なファイル(数 GB 以上)の効率的なページネーションとクエリを可能にします。

アーキテクチャ設計

SentinelNav は、クライアント・サーバーインターフェースを備えたプロデューサー・コンシューマーアーキテクチャに従っています。

1. フォレンジックエンジン(バックエンド)

  • スキャナーインターフェース:
    • ファイル読み取りプロセスを抽象化します。
    • FixedScanner: 反復的に N バイトを読み取ります。
    • SentinelScanner: バッファに読み取り、特定のバイト(例:ヌルバイトや改行)が見つかったときにチャンクを生成します。
  • ワーカープロセス:
    • Processor は CPU コア数に基づいてワーカーのプールを生成します。
    • FastMath: エントロピーとバイト頻度カウント(スペクトルデータ)を計算します。
    • ヒューリスティックス: チャンクが ASCII 主体、ヌル主体、または高ビット主体かを判定します。
  • データエンジン(ストレージ):
    • エフェメラルな sqlite3 データベースがバイナリファイルの構造化インデックスを作成します。
    • 保存内容: オフセット、長さ、エントロピー、RGB 値、異常スコア。
    • これにより、ツールは RAM よりも大きなファイルをオンデマンドでページングして処理できます。

2. Web サーバー

  • HTTP リクエストの並行処理のために http.server.ThreadingMixIn を実装しています。
  • API エンドポイント:
    • /data: チャンクデータ(カラー + エントロピー)の JSON ページを返します。
    • /read: インスペクターパネル用の特定の 16 進数ダンプ。
    • /search: 物理ファイル内の 16 進数列をスキャンします。
    • /download: 生のバイナリブロブを抽出するか、BMP 可視化を生成します。

3. フロントエンド

  • Python スクリプトに直接埋め込まれたシングルページアプリケーション(SPA)。
  • レンダリング: HTML5 Canvas API を使用したピクセルパーフェクトなブロックレンダリング。
  • ナビゲーション: キーボード入力(WASD)をグリッド座標系にマッピングする空間ナビゲーションロジックを実装。

ビジュアルマッピングガイド

このツールは、特定の RGB アルゴリズムを使用してバイナリデータタイプを表現します。

色コンポーネント意味
赤高ビットバイト 0x80 - 0xFF。コンパイル済み機械語コード、圧縮データ、暗号化ブロブ、画像データを示します。
緑ASCIIバイト 0x20 - 0x7E。プレーンテキスト、ソースコード、JSON、XML、ログを示します。
青制御バイト 0x00 - 0x1F。ヌルパディング、ヘッダー、プロトコル制御文字を示します。

よく見られるパターン:

  • 明るい緑: テキストファイルまたはソースコード。
  • ピンク/紫: コードとデータの混合(実行可能セクション)。
  • 均一な青: ゼロ埋めされたパディングまたは空き領域。
  • 静的/グレー: 高エントロピーノイズ(暗号化データ)。

インストール

前提条件

  • Python 3.6 以降。

セットアップ

ライブラリをインストールする必要はありません。ファイルをダウンロードするだけです。

# スクリプトをクローンまたはダウンロード
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py

使用法 & CLI 引数

インタラクティブに実行することも、コマンドライン引数を使用することもできます。

インタラクティブウィザード

引数なしで実行するとウィザードが起動します:

python3 sentinelnav.py

CLI 引数

自動化やパワーユーザー向けに、フラグを使用してウィザードをスキップできます。

python3 sentinelnav.py <対象ファイル> [オプション]
引数説明デフォルト
--modeスキャンモード: fixed または sentinel。fixed
--size固定モードのブロックサイズ(バイト)、またはセンチネルモードの最大バッファサイズ。1024
--hexセンチネルモードの区切りバイト(例:改行の場合は 0A)。00
--portWeb サーバーのポート番号。8000
--window異常検出計算のスライディングウィンドウサイズ。5

例: ファームウェアイメージを 256 バイトの解像度でポート 8080 でスキャンする:

python3 sentinelnav.py firmware.bin --size 256 --port 8080

キーボード操作

Web インターフェースが読み込まれると、以下の操作が使用できます。

キーアクション
W / A / S / D選択カーソルを移動(上/左/下/右)。
左矢印前のページ。
右矢印次のページ。
Shift + WASDブロックの範囲を選択(複数選択)。
Shift + クリック前のアンカーからクリックしたブロックまでの範囲を選択。

マウス操作

  • ホバー: カーソル下のブロックのライブエントロピーとスペクトル統計を表示。
  • クリック: ブロックを選択して固定し、インスペクターパネルで 16 進数ダンプとアーキテクチャ分析を表示。
ツールをダウンロード