
ストレステストによる検出と創造性

PyExfil は PoC として、また一種の遊び場として生まれ、その後もう少し成長しました。私の目には、まだ「安定」と呼ぶには多くの作業とテストを必要とする、乱雑な PoC に映ります。PyExfil の目的は、さまざまな脅威アクター/マルウェアがさまざまな検出・緩和ツールや技術を回避するために使用可能な、可能な限り多くのデータ抜き出し(現在は通信も)技術を実装することです。変更履歴は公式 GitHub ページ で追跡できます。
簡単に言えば、これは実際のレッドチームツールではなく、テストツールとして使用されることを意図しています。ほとんどの技術や方法は、さまざまなオペレーティングシステムに容易に移植・コンパイルできるはずですが(安定しているものもあれば実験的なものもあります)、伝送メカニズムはすべての技術で安定している必要があります。クローンして組織内のノードに展開し、どのシステムがどの技術を捕捉できるかを確認してください。
pip を使用する場合(必ずしも最新版とは限りません):
pip install --user PyExfil
ソースから:
git clone https://www.github.com/ytisf/PyExfil
cd PyExfil
pip install --user -r requirements.txt
py2exe もインストールすることをお勧めします。これにより、さまざまなモジュールをバイナリにクロスコンパイルして、持ち運びやすくすることができます。次のコマンドでインストールできます:
pip install py2exe
PyExfil をクローンしたフォルダに移動し、以下を実行します:
pip setup.py --user install
各モジュールの使用方法については、USAGE ファイルを参照してください。
このツールは当初ゲームとして作成され、後にレッドチーム向けツールへと変わりましたが、結局のところ PyExfil の主な用途は、さまざまな DLP(データ漏洩防止)システムや侵入検知のテストです。後者のミッションをより簡単にするために、PII および PCI データセットの両方に適合する構造を持つダミーデータを生成する小さなモジュールを作成しました。これらは、ネットワーク外部にブロードキャストされた際にアラートをトリガーすることを意図しています。
使用方法は以下の通りです:
from pyexfil.includes import CreateTestData
c = CreateTestData(rows=1000, output_location="/tmp/list.csv")
c.Run()
この後、任意の PyExfil モジュールを使用して、生成されたデータセットの外部への持ち出しを試みることができます。これにより、貴重なデータを持ち出すリスクを冒さずに検出機能をテストできます。
テストやバグ修正からまったく新しい隠れチャネルまで、貢献を歓迎します。
NetworkModule、CommModule、PhysicalModule、StegaModule)API の詳細と例。協力したい場合は、CALL_TO_ACTION.md から始めてください。各項目にはファイルパスと明確な指示があります。
バージョンの詳細については、このリポジトリのタグ を参照してください。
DOCUMENTATION.md と README.md を2つのファイルに分割。CALL_TO_ACTION.md を追加。tests を追加。後ほどより多くのモジュール指向のテストを追加予定。