
RottenPotatoNGの糖衣版にひと工夫加えた、もう一つのローカル特権昇格ツールです。WindowsサービスアカウントからNT AUTHORITY\SYSTEMへ昇格します。
RottenPotatoNG を甘くしたバージョンで、少しだけ汁(ジュース)を加えました。つまり、Windows サービスアカウントから NT AUTHORITY\SYSTEM へのもう一つのローカル特権昇格ツールです。
RottenPotatoNG とその亜種は、BITS サービス が 127.0.0.1:6666 に MiTM リスナーを持ち、SeImpersonate または SeAssignPrimaryToken 権限を持つ場合に基づく特権昇格チェーンを利用します。Windows ビルドのレビュー中に、BITS が意図的に無効化され、ポート 6666 が使用中であるセットアップを見つけました。
私たちは RottenPotatoNG を武器化することにしました:Juicy Potato にご挨拶を。
理論については、Rotten Potato - Service Accounts から SYSTEM への権限昇格 を参照し、リンクや参考文献を辿ってください。
私たちは、BITS 以外にも悪用可能な COM サーバーがいくつかあることを発見しました。以下の条件を満たす必要があります:
IMarshal インターフェースを実装していることいくつかのテストの後、いくつかの Windows バージョンで興味深い CLSID の広範なリストを入手しテストしました。
JuicyPotato を使用すると、以下のことが可能です:
対象 CLSID
任意の CLSID を選択してください。こちら に OS ごとに整理されたリストがあります。
COM リスニングポート
任意の COM リスニングポートを定義します(マーシャリングされたハードコード 6666 の代わりに)
COM リスニング IP アドレス
サーバーを任意の IP にバインドします
プロセス作成モード
偽装ユーザーの権限に応じて、以下から選択できます:
CreateProcessWithToken(SeImpersonate が必要)CreateProcessAsUser(SeAssignPrimaryToken が必要)both起動するプロセス
悪用が成功した場合に実行可能ファイルやスクリプトを起動します
プロセス引数
起動するプロセスの引数をカスタマイズします
RPC サーバーアドレス
ステルスなアプローチとして、外部 RPC サーバーに認証できます
RPC サーバーポート
外部サーバーに認証したいが、ファイアウォールがポート 135 をブロックしている場合に便利です...
テストモード
主にテスト目的、つまり CLSID のテスト用です。DCOM を作成し、トークンのユーザーを出力します。テストについては こちら を参照してください。
T:\>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
-c <{clsid}>: CLSID (default BITS:{4991d34b-80a1-4291-83b6-3328366b9097})
-z only test CLSID and print token's user

ユーザーが SeImpersonate または SeAssignPrimaryToken 権限を持っている場合、あなたは SYSTEM になります。
これらの COM サーバーの全ての悪用を防ぐことはほぼ不可能です。DCOMCNFG を使ってこれらのオブジェクトの権限を変更することも考えられますが、頑張ってください。これは困難を極めるでしょう。
実際の解決策は、* SERVICE アカウントで実行される機密性の高いアカウントやアプリケーションを保護することです。
DCOM を停止すれば確かにこのエクスプロイトは抑制されますが、基盤となる OS に深刻な影響を与える可能性があります。
自動ビルドが利用可能です。バイナリはアーティファクトセクション こちら からダウンロードできます。
BlackArch でも利用可能です。