
Revenant - C2フレームワークのコンテキストで回避テクニックを実証するHavoc用のサードパーティエージェント
Revenant は、Talon をベースとして C で記述された Havoc 用のサードパーティエージェントです。このインプラントは、隠密な実行方法、堅牢な機能、そしてより高いカスタマイズ性を実装することで、Talon インプラントを拡張することを目的としています。

このプロジェクトは、自己完結型の Havoc C2 インプラントを目指しています。エンドユーザー向けの目標機能は以下のとおりです:
- リポジトリをダウンロードする
- Revenant.zip を解凍する
- pip install black
- Havoc を起動する (./havoc server --profile ./profiles/havoc.yaotl -v --debug & ./havoc client )
- ルートフォルダに移動する
- python Revenant.py
- ???
- 利益
x86 および Win 7 との互換性:
- NativeAPI を無効化する
注記: Revenant は NativeAPI 機能を提供するために NtCreateUserProcess を使用します。NtCreateUserProcess は x86 および Win 7 ではサポートされていません。
- pwsh - powershell.exe を介してコマンドを実行する -> pwsh ls
- shell - cmd.exe を介してコマンドを実行する -> shell dir
- download - loot フォルダにファイルをダウンロードする -> download C:\test.txt
- upload - 指定したフォルダにファイルをアップロードする -> upload /home/test.txt C:\temp\test.txt
- exit - 現在のインプラントを強制終了する -> exit
- Sleep - スリープ時間を秒単位で設定する
- Polymorphic - ビルド時および実行時にポリモーフィズムを有効/無効にする
- Obfuscation - XOR で文字列を難読化する
- Arch - x86/x64
- Native - 実装されている箇所で NativeAPI を使用する
- AntiDbg - 初期化時にアンチデバッグチェックを活用する
- RandCmdIDs - コマンド ID をランダム化する
- Unhooking - GhostFart/Perun's Fart 方式でフックを解除し、コマンドを実行してから再フックする
注記: RandCmdIDs は、出力された実行ファイル内の CmdID をランダム化します。Revenant はこれらのランダムな CmdID を保存しません。これらはアクティブなセッションでのみ機能します。再利用可能な実行ファイルが必要な場合は、このオプションを有効にしないでください。
- exec-assembly を追加する
- cd、ls、whoami コマンドを追加する
- エントロピーを減らす