
ARTi-C2 は、.NETのDLRを介した迅速なペイロード展開と実行機能を用いて、Atomic Red Teamのテストケースを実行するためのポストエクスプロイテーションフレームワークです。
ARTC2は、単一および複数の侵害ポイントターゲットからの攻撃シナリオ実行をスケーリングするための最新の実行フレームワークです。セキュリティ製品とインシデント対応の効果を向上させる、実用的な攻撃インテリジェンスを生成することを目的としています。
ARTC2のコア機能はSILENTTRINITYから提供され、Booを通じて実行されるアトミックテストはATOMIC-RED-TEAMから提供されています。その他の機能強化は、運用上のクラフト、俊敏性、スケーラビリティ、迅速な実行が損なわれないように構築されています。
| 機能 | 説明 |
|---|---|
| 迅速な展開 | 異なる地域環境に位置する単一および複数ターゲットの侵害ポイントからテスト取り組みを自動化・スケーリングします |
| 最新のコマンド&コントロール | インプラントとサーバー通信: SILENTRINITYのECDHE暗号化C2通信機能を使用して、HTTPS上のC2トラフィックを暗号化します。 クライアントとサーバー通信: Asyncio、WebSocket、プロンプトツールキットCLIを使用します。注目すべき機能は次のとおりです: - インプラントロケーションタグ付け: 異なる地域でのシグナルとブレークポイントの管理に役立ちます。NGROK統合 - ペイロードのステージングとNGROK URLでの展開に最適です |
| 標準署名ヘッダー | JSON PID: , Date(UTC), IsHighIntegrity, HostName, CurrentUser , IsUserAdmin, IPv4, IPv6 |
| JSONログサポート | あなたのELKスタックまたはJSONを解析可能な任意の分析プラットフォームで証拠を効率的に処理、取り込み、デコード、分析します。 |
| ステージレスメモリ内コード実行 | アンマネージドPowerShellプロセスから、低、中、高の整合性でAtomic Red Teamテストを実行します。 |
| 動的攻撃フォーメーション | ARTC2を再コンパイルまたは再起動せずに攻撃チェーンを実行します。現在、3つの異なる攻撃機能をサポートしています。攻撃チェーン、攻撃プロファイル、攻撃シナリオ |
| モジュラーペイロード配信 | ARTC2はSILENTRINITYのフレームワークを活用し、アンマネージドPowerShellとステージレスPowerShellステージャーを使用して、Red Team Atomicテストペイロードをメモリ内でコンパイル・実行します。現状のまま(AS IS) 提供されます。 |
| 運用管理 | コントローラーの実行と証拠収集のためにジョブIDが含まれています。イベント分析と証拠の関連付けに有用です。"job_id": "D3l820IWpyi67" |
組織が行う必要があること:
デフォルトでは、ARTIC-C2ログは現在の作業ディレクトリの ./logs/ に書き込まれます。
セッションログには以下が含まれます:
utc_timestamp: UTCタイムスタンプsession: ターゲットセッションGUIDjob_id: 一意のジョブ実行IDttp_data: テクニックIDevidence: 侵害ポイントターゲットから収集されたBase64エンコードされた証拠evidence_status: 実行されたTTPがブロックされたかどうかを示すステータス。
実行署名ヘッダー
実行署名ヘッダーは、防御がアトミックをブロックしたかどうかを確認するために使用されます。アトミックコマンドがSTDOUTにデータを返さない場合があります。ただし、実行署名ヘッダーがヘッダー情報を返す場合、ソースコードがコンパイルされ、CLRにロードされ、ターゲット侵害ポイントで実行されたことを示します。実行署名ヘッダーには以下が含まれます:
PID: テクニック実行中に使用Date: 侵害ポイントターゲットから生成されたUTCスタンプIsHighIntegrity: プロセス整合性ステータスHostName: 侵害ポイントターゲットのホスト名CurrentUser: 現在のユーザー。ユーザーが偽装された場合の追跡に便利IsUserAdmin: 管理者ステータスIPv4: IPv4アドレス情報IPv6: IPv6アドレス情報サンプル実行イベントログ
T1069.001-2がメモリ内で実行されました
2021-08-21 07:42:21,146 - {"utc_timestamp": "2021-08-21T07:42:21Z", "msg": "Technique executed:", "controller": "Discovery/T1069.001-2", "last_updated_by": "ARMADO, Inc.",
"ttp_id": "T1069.001", "ttp_opts": {"OutString": {"Description": "Appends Out-String to the PowerShellCode", "Required": false, "Value": true}, "BypassLogging":
{"Description": "Bypasses ScriptBlock and Techniques logging", "Required": false, "Value": true}, "BypassAmsi": {"Description": "Bypasses AMSI", "Required": false, "Value": true}},
"decompressed_file": "n/a", "file_name": "n/a", "gzip_file": "n/a", "language": "boo", "references": ["System.Management.Automation"], "run_in_thread": "n/a", "job_id": "B5ppBWed5NF6c"}
サンプル証拠収集ログ
T1069.001-2の実行後、ターゲット侵害ポイントから証拠が収集されました。
2021-08-21 07:42:25,076 - {"utc_timestamp": "2021-08-21T07:42:25Z", "session": "17ed378a-8cb9-4690-9087-e894c2b1e0a2", "job_id": "B5ppBWed5NF6c", "ttp_data": "T1069.001", "evidence": "IntQSUQ6IDU1NTYsIERhdGUoVVRDKTogMjAyMS0wOC0yMVQwNzo0MjoyNC45MDMyNDkyWiwgSXNIaWdoSW50ZWdyaXR5OiB0cnVlLCBIb3N0TmFtZTogYWQtZGMxLCBDdXJyZW50VXNlcjogZGVlcHJvb3RcXHJ1c3NlbF9oYW5jb2NrLCBJc1VzZXJBZG1pbjogdHJ1ZSwgSVB2NDogWzEwLjEuMC4xMDAsIDE2OS4yNTQuMTM0LjExMV0sIElQdjY6IFtmZTgwOjpkZGUxOjIyYTo3YmEzOmZlMGIlNSwgZmU4MDo6YjhmODpiNDIxOjI3Yzg6ODY2ZiUxMV19XHJcbk5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbkNlcnQgUHVibGlzaGVycyAgICAgICAgICAgICAgICAgICAgICAgICBNZW1iZXJzIG9mIHRoaXMgZ3JvdXAgYXJlIHBlcm1pdHRlZCB0byBwdWJsaXNoIGNlcnRpZmljYXRlcyB0byB0aGUgZGlyZWN0b3J5ICAgIFxyXG5SQVMgYW5kIElBUyBTZXJ2ZXJzICAgICAgICAgICAgICAgICAgICBTZXJ2ZXJzIGluIHRoaXMgZ3JvdXAgY2FuIGFjY2VzcyByZW1vdGUgYWNjZXNzIHByb3BlcnRpZXMgb2YgdXNlcnMgICAgICAgICAgICAgIFxyXG5BbGxvd2VkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgTWVtYmVycyBpbiB0aGlzIGdyb3VwIGNhbiBoYXZlIHRoZWlyIHBhc3N3b3JkcyByZXBsaWNhdGVkIHRvIGFsbCByZWFkLW9ubHkgZG8uLi5cclxuRGVuaWVkIFJPREMgUGFzc3dvcmQgUmVwbGljYXRpb24gR3JvdXAgIE1lbWJlcnMgaW4gdGhpcyBncm91cCBjYW5ub3QgaGF2ZSB0aGVpciBwYXNzd29yZHMgcmVwbGljYXRlZCB0byBhbnkgcmVhZC1vbmx5Li4uXHJcbiI=",
"evidence_status": "1"}
サンプルヘッダー署名
"{PID: 5556, Date(UTC): 2020-01-02T06:55:47Z, IsHighIntegrity: true, HostName: ad-dc1, CurrentUser: artic\\c2operator, IsUserAdmin: true,
IPv4: [10.1.0.100, 169.254.134.111], IPv6: [fe80::dde1:22a:7ba3:fe0b%5, fe80::b8f8:b421:27c8:866f%11]}
サンプルBase64デコード証拠ログ
"{PID: 5556, Date(UTC): 2021-08-21T07:42:24.9073249Z, IsHighIntegrity: true, HostName: ad-dc1, CurrentUser: deeproot\\russel_hancock, IsUserAdmin: true,
IPv4: [10.1.0.100, 169.254.134.111], IPv6: [fe80::dde1:22a:7ba3:fe0b%5, fe80::b8f8:b421:27c8:866f%11]}
Name Description
---- -----------
Cert Publishers Members of this group are permitted to publish certificates to the directory
RAS and IAS Servers Servers in this group can access remote access properties of users
Allowed RODC Password Replication Group Members in this group can have their passwords replicated to all read-only do...
Denied RODC Password Replication Group Members in this group cannot have their passwords replicated to any read-only...
"
デフォルトでは、リスナーはシステムのインターフェースにHTTPS:443およびHTTP:80でバインドされます。想定される侵害ポイントターゲットからアクセス可能である必要があります。ステージャーを生成する前に、:> listenersコンテキストでコールバックURLを設定してください。
git clone https://github.com/ARMADOinc/Atomic-Red-Team-intel-C2.gitcd ./Atomic-Red-Team-intel-C2./install.sh installデプロイメントオプション
ARTIC-C2は、すべてのアトミックテストケース実行要件に対応する柔軟なデプロイモデルを実現します。キャッシングに関連するいくつかのクライアントサイドコンソール依存関係はありますが、クライアントコンソールはチームサーバーと同じシステムで動作する必要はありません。近いうちに専用クライアントをパッケージ化してリリースする予定です。
注: 以下の例は、ARTIC-C2が同じインスタンスから起動することを前提としています。
デフォルトポートでWSSを起動し、アドホックログを生成
artic2.py wss 127.0.0.1 Art1.c25rvr >> /var/log/artic2.log &artic2.py client wss://operator:[email protected]:5000デフォルトポートでWSSをフォアグラウンドで起動
artic2.py wss 127.0.0.1 Art1.c25rvrartic2.py client wss://operator:[email protected]:5000ポート5443でWSSを起動、10.0.0.43にバインド、アドホックログを生成し、2つのクライアントを接続
artic2.py wss 10.0.0.43:5443 Art1.c25rvr >> /var/log/artic2.log &artic2.py client wss://operator1:[email protected]:5443artic2.py client wss://operator2:[email protected]:5443