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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pstf2 — パッシブセキュリティツールフィンガープリンティングフレームワーク | Kitploit
ツール/GitHubGitHub/g4lb1t/pstf2
フィッシングツールIDS/IPS回避ウェブセキュリティ学習と教育レッドチーミングフィンガープリントスプーフィング
GitHubg4lb1t/pstf2

pstf2

パッシブセキュリティツールフィンガープリンティングフレームワーク

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

人気

すべて見る →

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

すべてのツールを探索

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

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

pstf^2

パッシブ・セキュリティツール・フィンガープリンティング・フレームワーク

単純で簡単かつステルスな方法で、複数のクラスのセキュリティ製品をバイパスしたいと思ったことはありませんか? pstf^2(pstf-squareと発音)は、パッシブなブラウザフィンガープリンティングが可能なHTTPサーバーの実装です。そして、それはまさにあなたが探しているものかもしれません。 攻撃者がインターネット経由でペイロードを配信しようとする場合、受信リンクをスキャンできる複数のツールを克服する必要があります。メールフィルター、スキャンエンジン、さらにはURL経由のサンドボックスへの提出も、pstf^2がそれらを受動的に検出することでバイパス可能です。一度検出されると、このツールはセキュリティサービスと潜在的な被害者を区別し、悪意のあるレスポンスまたは良性のレスポンスを配信することができます。

このツールはBlackHat EU 2020でリリースされました: https://www.blackhat.com/eu-20/arsenal/schedule/#pstf2-link-scanners-evasion-made-easy-21763

研究の詳細はこちらのブログ記事でご覧いただけます: https://blogs.akamai.com/sitr/2020/12/evading-link-scanning-security-services-with-passive-fingerprinting.html

仕組みは?

本当の疑問は – リンクスキャナーはどのように動作するのか? 悪意のあるリンクを検査する行為は、WebクライアントがHTTP GETリクエストを送信することを伴います。各ベンダーは異なる独自実装を使用しており、ほとんどが実際のユーザー操作をある程度模倣しようとしています。 pstf^2は、シンプルなPythonベースのHTTPサーバーで、既知のボット検出戦術を適用して、受信リクエストが自動化されたセキュリティツールからのものかどうかを判断します。 サーバーオペレーターはレスポンスをカスタマイズできます。例えば、スキャナーが検出された場合はGoogleにリダイレクトし、それ以外の場合は悪意のあるコンテンツを送信します。

以下は、pstf^2で実装された主な戦術です:

アプリケーション層

旧式のユーザーエージェント

セキュリティツールは、正当なクライアントを装い、実際のブラウザを偽装しようとしますが、多くの場合そうではありません。 適切にメンテナンスされていないツールが、10年前のブラウザバージョン用の偽のUser-Agentヘッダーを使用するのはよく見られます。 pstf^2では、非旧式の本物のバージョンと見なす最小閾値を設定できます。

一般的なHTTP異常

ツールが検出可能な、さまざまな種類の奇妙な実装があります。 BlackHatトークで紹介されたいくつかの例は以下の通りです:

  • via: ヘッダーを残してしまい、サンドボックスに使用された仮想ホストの性質が明らかになった。
  • referer: ヘッダーが、リンクがGoogleから到達したことを示唆していた。例:referer: google.com/search?q=specific.site.com。 テストしたシナリオでは、これは全く意味をなしませんでした。なぜなら、この製品はメールをスキャンしており、誰かが(Webインターフェースではなく)メール内のリンクをクリックした場合、このヘッダーは存在しないからです。

リンク、ネットワーク、トランスポート層

相関

複数のTCPパラメータは、特定のOSバージョンや特定の種類を示唆する可能性があります。一部のクライアントはUser-Agentヘッダーを偽装していますが、宣言されたものとは異なるOS上で動作しています。

MTU値

特定のクラウドプロバイダーのネットワーク上でホストされているクライアントは、標準の1500バイトとは異なるMTUを持っています。

ASN

場合によっては、リクエストは特定のセキュリティベンダーに明確に関連付けられたASNから送信されます。その他の場合、リクエストの発信元はクラウドホスティングプロバイダーであり、特定のベンダーを非難するものではありませんが、典型的なユーザーである可能性は低いです。

DNS PTRレコード

まれに、クライアントのIPアドレスにPTRレコードがあり、セキュリティベンダーに関連するURLと結びついていることがあります。

pstf^2のセットアップ

Dockerを使用する場合

Dockerが既にインストールされていることを前提とすると、以下のように簡単です:

docker-compose up 

手動デプロイ

Dockerを避けたい場合は、以下の手順に従ってください。

Python要件を満たす

以下を実行:

pip install requirements.txt

これにより、必要な外部Pythonモジュールがインストールされます。

p0fの入手

pstf^2をデプロイする前に、p0fをダウンロードしてインストールしてください。現在は以下から入手可能です:

https://lcamtuf.coredump.cx/p0f3/

次に、lib/servers/server_config.yml を適切に構成し、正しいパスを指定します。例:

p0f_config:
  # 少なくともユーザー名は変更してください。両方のパスで変更することを忘れずに。
  p0f_bin_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f'
  p0f_fp_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f.fp'
  iface: 'lo0'
  p0f_named_socket: '/tmp/p0f_socket'

また、ifaceがPython HTTPサーバーを実行しているインターフェースと同じであることを確認してください。上記の例ではループバックインターフェースです。

pstf^2の実行

要件が満たされたら、以下を実行:

python driver.py

以下のフラグのいずれかを使用できます:

  --p0f_bin_path P0F_BIN_PATH
  --p0f_fp_path P0F_FP_PATH
  --p0f_iface P0F_IFACE

これらはすべて、p0fに関連するパラメータを調整するために使用されます:バイナリ自体、フィンガープリントファイル、およびデフォルトでeth0に設定されているインターフェースです。

次のような出力が表示されるはずです:

2020-04-15 17:37:06,896 - pstf2_logger - INFO - Starting p0f...
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Running command:
	/Users/gbitensk/work/web_fp/p0f-3.09b/p0f -i lo0 -s /tmp/p0f_socket -f /Users/gbitensk/work/web_fp/p0f-3.09b/p0f.fp
2020-04-15 17:37:06,898 - pstf2_logger - INFO - p0f started!
2020-04-15 17:37:06,898 - pstf2_logger - INFO - Starting HTTP server...
2020-04-15 17:37:06,898 - pstf2_logger - INFO - HTTP server started!
2020-04-15 17:37:06,899 - pstf2_logger - INFO - If you wish to terminate the server press CTRL+C

サーバーを終了するにはCtrl+Cを押します。これによりHTTPとp0fの両方のインスタンスが強制終了されます。 次のような出力が表示されるはずです:

2020-04-15 17:37:48,263 - pstf2_logger - INFO - HTTP server stopped!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Killing p0f...
2020-04-15 17:37:48,263 - pstf2_logger - INFO - p0f killed!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - exiting...

DNSレコードを設定してURLをサーバーに向けることはpstf^2の範囲外であり、自己責任で行ってください。

ペイロード管理

pstf^2にはserver_config.yml内で定義されたデフォルトのペイロードがあり、簡単にカスタマイズできます。

良性レスポンス

rickroll_mode変数をYESまたはNOに変更することで切り替えられる2つのモードがあります。 有効にすると、セキュリティツールは有名なRickrolling動画のYouTubeページにリダイレクトされ、それ以外の場合は同じYAMLファイルで定義された文字列を提供します。

悪意のあるレスポンス

デフォルトでは、「悪意のある」レスポンスはEICAR標準テスト文字列に設定されています。

pstf^2が公開されている理由

私はこのツールをオープンソースプロジェクトとして公開することを選択しました。理由は以下の通りです:

  • 悪意のあるリンクは毎日、大規模に悪意のある関係者によって使用されています。
  • セキュリティツールは十分ではなく、pstf^2が示す手法の一部は実際の環境で悪用されています。

このツールの構築の一環として、15の異なる製品に対してテストが行われましたが、すべてが失敗しました。攻撃の詳細については責任を持って開示しましたが、まだ長い道のりがあり、このツールを公開することで、すでに「悪意のある関係者」によって悪用されているこれらの戦術に対する認識が高まることを期待しています。

特別な感謝

@Den1al – このツールの構築全般、Pythonを適切に書くためのアドバイス、およびDockerイメージ作成の支援を提供してくれました。

ツールをダウンロード