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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
project-memoria-detector — ネットワークデバイス上の16種類の組み込みTCP/IPスタックをICMP、TCP、HTTP、SSH、FTPプロービング技術を使用して識別するアクティブフィンガープリンティングツール。脆弱性評価用。 | Kitploit
ツール/GitHubGitHub/forescout/project-memoria-detector
組み込みシステムセキュリティIoTセキュリティ脆弱性分析ネットワークセキュリティファームウェア解析
GitHubforescout/project-memoria-detector

project-memoria-detector

ネットワークデバイス上の16種類の組み込みTCP/IPスタックをICMP、TCP、HTTP、SSH、FTPプロービング技術を使用して識別するアクティブフィンガープリンティングツール。脆弱性評価用。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
3234655年前Kitploit レビュー済み

project-memoria-detector

project-memoria-detector ツールは、対象のネットワークデバイスが特定の組み込み TCP/IP スタックを実行しているかどうかを判断することを目的としています。

現在、このツールは16の組み込み TCP/IP スタック(およびそのバリエーション)のフィンガープリントをサポートしています:

  • uIP、Contiki または Contiki-NG
  • picoTCP または picoTCP-NG
  • Nut/Net
  • FNET
  • Nucleus NET
  • CycloneTCP
  • NDKTCPIP
  • uC/TCP-IP
  • MPLAB Harmony Net
  • NicheStack
  • FreeBSD
  • Microsoft ThreadX
  • CMX TCP/IP
  • emNet
  • Keil TCP/IP
  • lwIP

上記のスタックのうちいくつかは、Project Memoria の調査中に脆弱性が見つかりました。

どのように動作するか?

このスクリプトは、以下の能動的フィンガープリンティング手法を使用して、対象デバイス上の16の TCP/IP スタックの使用を識別します:

  • ICMP プロービング: スクリプトは不正な形式の ICMP エコー要求を送信し、応答の特性(Time-to-live (TTL) 値の変化や、スタックごとに異なる特定のペイロード内容など)をチェックします。
  • TCP オプションシグネチャ: スクリプトは TCP SYN パケットを送信し、TCP SYN ACK 応答内の TCP オプションフィールドの形式を監視します。各スタックは、Maximum Segment Size (MSS) やウィンドウスケールなど、オプションに対して異なる値で応答します。
  • TCP 緊急フラグ処理: スクリプトは緊急フラグが設定された TCP パケットを送信し、応答を監視します。各スタックは、異なる TCP フラグのセットと異なる TCP ウィンドウサイズ値で応答します。
  • HTTP バナーおよびエラーメッセージ: スクリプトはテスト対象デバイス上でホストされているウェブサーバーに HTTP リクエストを実行し、特定の HTTP ヘッダーおよびアプリケーション固有のエラーメッセージをチェックします。
  • SSH バナーおよびエラーメッセージ: スクリプトはテスト対象デバイス上でホストされている SSH サーバーにリクエストを実行し、特定の SSH バナーをチェックします。
  • FTP バナーおよびエラーメッセージ: スクリプトはテスト対象デバイス上でホストされている FTP サーバーにリクエストを実行し、特定の FTP バナーをチェックします。

このスクリプトはラボ環境でテストされていますが、すべての可能なデバイスに対して安全に使用できることを保証するものではありません。たとえば、不正な形式の ICMP パケットは、異なるスタックを実行しているデバイスをクラッシュさせる可能性があります。したがって、ミッションクリティカルなデバイス(患者接続デバイスを備えた病院や安全クリティカルな産業用制御システムなど)が存在するライブ環境での直接の使用は推奨しません。理想的なアプローチは、ラボ環境またはメンテナンスウィンドウ中にデバイスをテストすることです。

依存関係

このツールは Linux テスト環境(最新の Linux ディストリビューションであれば動作するはずです)でのみテストされていることに注意してください。テスト環境では、基本的なファイアウォールとして iptables (https://linux.die.net/man/8/iptables) が使用されていることを前提としています。

このツールには、Python 3.x の最新バージョン(https://www.python.org/、バージョン >= 3.7.7 推奨)および Scapy(https://scapy.net/、バージョン >= 2.4.3 推奨)が必要です。

Scapy を Python と一緒にインストールする方法や一般的なトラブルシューティングについては、こちらのドキュメントに従ってください:https://scapy.readthedocs.io/en/latest/installation.html

マシンに Python が既にインストールされている場合、必要な依存関係をインストールするには pip と提供されている requirements.txt ファイルを使用できます:

root@kitploit:~
$ pip install -r requirements.txt

基本的な使い方

Scapy の実行には root 権限が必要なため、このツールは sudo で実行する必要があります。例:

root@kitploit:~
$ sudo python project-memoria-detector.py [options]

スクリプトの実行に使用可能なオプションを表示するには、-h オプションを付けて実行します:

root@kitploit:~
$ python project-memoria-detector.py -h

一般的に、スクリプトには少なくとも1つの対象デバイスの IP アドレスが必要です(このパラメータは -ip_dst で明示的に指定できます):

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.1

このスクリプトは IP アドレス範囲のスキャンをサポートしています。CIDR 表記を使用してスキャンするサブネットを指定するか、スキャンする IP アドレスのセットが記載された .txt ファイルを指定できます。

CIDR 表記は次のように使用できます(この例では、192.168.3.1 から 192.168.3.254 までの IP アドレスがスキャンされます):

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.0/24

また、関心のある IP アドレスを指定するために .txt ファイルを使用することもできます。このファイル内の各 IP アドレスは新しい行で始まる必要があります。たとえば、次の内容で input.txt というファイルを作成できます:

root@kitploit:~
$ cat input.txt
192.168.1.8
192.168.1.9
192.168.3.1
192.168.2.14

その後、次のようにスクリプトを実行できます:

root@kitploit:~
$ sudo python project-memoria-detector.py --in-file input.txt

スクリプトは、SSH (22)、FTP (21)、HTTP (80) などの異なるプロトコルのフィンガープリンティングにデフォルトのポート値を使用します。これらのデフォルト値を上書きするには、次のようにフラグを設定できます:

root@kitploit:~
$ sudo python project-memoria-detector.py -ip_dst 192.168.212.42 --tcp-port 80 --http-port 80 --ssh-port 22 --ftp-port 21 -i eth1

結果の解釈

スクリプトは、個々のフィンガープリントへの一致と、丸括弧で囲まれた確信度を出力します:

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.6.42

192.168.6.42 is alive
        ICMP => uIP/Contiki (High)
        TCP => uIP/Contiki (Medium)
        HTTP => uIP/Contiki (High)
        SSH => Unknown (No match)
        FTP => Unknown (No reply)

特定のフィンガープリントの確信度は、High、Medium、または Low のいずれかになります。No match は既知のフィンガープリントと一致しなかったことを意味し、No reply は特定のポート/サービスが利用できないことを意味します。

ライセンス

Copyright (C) 2020 Forescout Technologies, Inc.

プログラムライセンス

「プログラム」とは、本ライセンスの下でライセンスされた著作権可能な作品を指します。各ライセンシーは「あなた」として扱われます。

本ライセンスの下で付与されるすべての権利は、プログラムの著作権期間中に付与され、記載された条件が満たされている限り取消不能です。本ライセンスは、個人、政府、ビジネス、非営利目的での未変更プログラムの実行に対するあなたの無制限の許可を明示的に確認します。商業目的での派生作品におけるプログラムの使用は禁止されています。プログラムを、単独または他のコードと組み合わせて、ダウンロード可能またはサービスとしてアクセス可能な商業製品またはサービスで使用するために変更することは禁止されています。「派生作品」とは、ソース形式またはオブジェクト形式を問わず、プログラムに基づく(またはプログラムから派生した)作品であり、編集上の修正、注釈、 elaboration、またはその他の変更が全体として独自の著作物を構成するものを意味します。

あなたは、プログラムのソースコードを、受領したままの形で、任意の媒体で逐語的に伝達することができます。ただし、各コピーに適切な著作権表示を明示的かつ適切に掲載すること、本ライセンスがコードに適用されることを示すすべての通知を完全に保持すること、いかなる保証もないことを示すすべての通知を完全に保持すること、すべての受領者に本ライセンスのコピーをプログラムとともに提供すること、およびプログラムを単独または他のコードと組み合わせて、ダウンロードまたはサービスとしてアクセスされる形で販売または他の伝達から金銭的利益を得ないことを条件とします。

本ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる保証もありません。いかなる場合においても、著作者または著作権者は、契約、不法行為、またはその他の行為に基づくかどうかにかかわらず、本ソフトウェアまたはその使用もしくはその他の取引に起因または関連するいかなる請求、損害、またはその他の責任も負わないものとします。

本ライセンスは、プログラムの出所を説明し、著作権表示の内容を再現するための合理的かつ慣習的な使用に必要な場合を除き、ライセンサーの商号、商標、サービスマーク、または製品名を使用する許可を付与しません。

ツールをダウンロード