
レッドチームがホストマシン上の外部プロセスを識別するための小さなAggressorスクリプト
このAggressorスクリプトは、内部レッドチームが環境内で不審なプロセスや外部プロセス(「コハビテーション(同居)」)を特定するために設計されています。
レッドチームは「既知」のプロセスのリストを(単独で、またはブルーチームと協力して)作成し、そのリストをAggressorスクリプトに提供できます。このプロセスリストには、「ネットワーク内で少なくともx回確認された」プロセスなどを含めてベースラインを確立することができます。スクリプトがCobaltStrikeに読み込まれると、以下のコマンドに対するビーコン出力が変更/色分けされます。
shell tasklistps上記のコマンドから出力として返されたプロセスのうち、「既知」プロセスリストにないものは、さらなる調査/精査のために赤色で強調表示されます。
shell tasklist:

ps:

TrustedSec tasklist BOF:

既知プロセスのリストはテキストファイルに、1行に1プロセスずつ記述する必要があります。
Cohab_Processes.cnaの3行目を編集し、「既知」プロセスのリストを指定してください。
.cnaスクリプトをCobaltStrikeに読み込めば完了です。
例として knownprocesses.txt を含めました。これにより、ユーザーは環境内の「既知」プロセスリストを作成する手間をかける前に、このスクリプトの動作を確認できます。
このスクリプトと互換性を持たせるために、TrustedSecのtasklist BOFには小さな修正が必要です。具体的には、BOFの出力に「BOF終了」タグを追加し、AggressorスクリプトがBOFの出力完了を認識して読み取り/色分けを停止できるようにしました。

彼らのリポジトリからフルパッケージを取得し、tasklist BOF(CS-Situational-Awareness-BOF/src/SA/tasklist/entry.c)を、ここに含まれているものと一致するように変更することをお勧めします。フルリポジトリには、entry.cを再コンパイルするために必要なヘルパー/ヘッダーファイルが含まれているため、この手順が必要です。
この方法論で潜在的なコハビテーションを特定するには大きな制限があります。例えば、以下のようなものを特定・捕捉することはできません。
このスクリプトは「たやすい成果(low hanging fruit)」を捕捉するための補助手段として機能します。
素晴らしいBOFリポジトリを提供してくれたTrustedSecに感謝します。
harleyQu1nnのProcessColor.cnaから着想と一部のコードスニペットを引用しています。