RAITriggerによるLocal SYSTEM認証トリガーツールの解説
概要
RAITriggerは、WindowsのDLL「appinfo.dll」に含まれるRPC関数「RAiLaunchAdminProcess」を利用し、低権限ユーザーがSYSTEM権限の認証を任意の場所にトリガーできるツールです。この関数は元々UACバイパスの手法として知られていましたが、本ツールはプロセス生成ではなく「CreateFileW」をSYSTEM権限で呼び出す動作に着目し、認証トリガーとして応用しています。これにより、リレーや権限昇格検証などのセキュリティ調査に利用可能な実験的ツールとして注目されています。C#で書かれており、比較的扱いやすい実装です。
リポジトリの統計情報
- スター数: 3
- フォーク数: 2
- ウォッチャー数: 3
- コミット数: 5
- ファイル数: 8
- メインの言語: C#
主な特徴
- Windowsのappinfo.dllのRPC関数「RAiLaunchAdminProcess」を利用した認証トリガー
- 低権限ユーザーからSYSTEM権限の認証を任意のパスに対して発生可能
- C#で実装されており、コードの理解や拡張が容易
- 権限昇格や認証リレーの検証に活用可能なセキュリティ研究用ツール
技術的なポイント
RAITriggerのコアとなる技術は、Windowsのappinfo.dllにある「RAiLaunchAdminProcess」というRPC関数の挙動に着目している点です。この関数は、過去にUAC(ユーザーアカウント制御)バイパスの手法として存在が知られていました。通常、低権限ユーザーがこのRPC関数を呼び出してもプロセスの生成は許可されませんが、RAITriggerはプロセス生成ではなく、別の使い方をしています。
具体的には、RAiLaunchAdminProcessの最初の入力パラメータに指定したパスに対して、SYSTEM権限で「CreateFileW」関数が呼ばれます。これにより、低権限ユーザーでもSYSTEM権限でファイルやネットワークパスへのアクセスを試みる形になり、認証が発生します。この認証を任意の場所(たとえば攻撃者が制御するSMBサーバーなど)に対してトリガー可能であるため、認証のリレー攻撃や権限昇格の足掛かりとして利用できます。
この仕組みは、Windows内部の権限境界の意外な隙間を突いたものであり、セキュリティ研究の観点からは新たな攻撃手法の理解や防御策の検討に役立ちます。RAITriggerはC#で書かれており、Windows APIをラップしてRPCコールを行う実装がなされているため、コードの読みやすさやカスタマイズ性も高いです。
さらに、READMEや添付の画像ファイル「Denied.png」「Impersonation.png」からは、実際の認証トリガーの成功・失敗例や偽装(Impersonation)に関する検証も含まれていることが伺えます。これらは実践的な検証やデモンストレーションに利用できる資料として有用です。
総じて、RAITriggerはWindowsの権限昇格・認証リレーの脆弱性を研究する上で重要なツールであり、最新の攻撃技術や防御技術の理解促進に貢献しています。
プロジェクトの構成
主要なファイルとディレクトリ:
- Denied.png: 認証拒否のスクリーンショット等を示す画像ファイル
- Impersonation.png: なりすまし(Impersonation)に関する検証画像
- LICENSE: ライセンス情報
- RAITrigger: ソースコードや実装ファイルをまとめたディレクトリ
- README.md: プロジェクトの概要や使い方を説明したドキュメント
その他、C#のソースコードファイルやプロジェクト設定ファイルが含まれています。全体として、軽量かつ理解しやすい構成です。
まとめ
Windows環境のSYSTEM認証トリガーを低権限から実行可能にする技術的検証ツール。
リポジトリ情報:
- 名前: RAITrigger
- 説明: Local SYSTEM auth trigger for relaying
- スター数: 3
- 言語: C#
- URL: https://github.com/rtecCyberSec/RAITrigger
- オーナー: rtecCyberSec
- アバター: https://avatars.githubusercontent.com/u/171586288?v=4