
何としても SYSTEM に昇格せよ! Metasploit および PSEXEC getsystem の代替手段

SYSTEMトークンを盗み、複製して楽しみと利益を得る! 物を複製し、双子のコピーを作り、そして乗り去る。
あなたはMetasploitのgetsystemやSysInternals PSEXECを使ってシステム特権を取得したことがありますよね? さて、ここにそれと似たスタンドアロンバージョンがあります...ただし、AVの問題はありません...少なくとも今のところは😸
このツールはまた、Process Hacker/System Informerができるように、TrustedInstallerになることを可能にします。この機能は非常に新しく、2023年8月12日時点の最新のコードリリースおよびバイナリリリースで追加されました!
💵💲このツールが気に入って、このソリューションや類似のものを改善する私の取り組みを支援したい場合は、お気軽にPatreonでお声がけください! https://patreon.com/G3tSyst3m
コマンドの簡単な説明
UACをバイパスし、整合性レベルを中から高に昇格(ローカル管理者グループのメンバーである必要があります)

Trusted Installerになる!

プロセス複製昇格方法

スレッド複製昇格方法

名前付きパイプ昇格方法

リモートスレッドインジェクション方法

ElevationStationは特権昇格ツールです。プロセスおよびスレッドトークンの操作/複製を含む、一般的に使用される昇格手法を利用して動作します。
これは、Metasploitを使用してAVアラートを回避することと、トークンを使用した特権昇格方法に関する研究をさらに進めることの複合的な取り組みでした。簡単に言えば、ここでの私の主な目標は、トークンの管理と操作について学び、AVを効果的にバイパスすることでした。トークン操作を使用して特権昇格を実現する他のツールがあることは知っていましたが、それがどのように機能するのかを自分で学びたかったのです。
ひどく整理されたコードを見れば、今のところSYSTEMを取得するために2つの主要な方法を使用していることがわかります。SYSTEMレベルのプロセスからプライマリトークンを盗むこと、および別のSYSTEMレベルのプロセスから偽装スレッドトークンを盗んでプライマリトークンに変換することです。少なくともそれが一般的なアプローチです。
これが私の研究をさらに進めるもう一つの原動力でした。昇格のために名前付きパイプを使用するか、システムレベルのプロセスにDLLを注入しない限り、同じコンソール内でSYSTEMシェルを起動し、かつトークンの特権要件を満たす簡単な方法は見当たりませんでした。
説明させてください...
CreateProcessWithTokenを使用すると、常に別個のcmdシェルが起動します。私の知る限り、この「バグ」は避けられません。これは残念なことです。なぜなら、CreateProcessWithTokenはトークンの特権に関してそれほど要求が多くないからです。しかし、このWindows APIでシェルを取得したい場合は、別のウィンドウで新しいSYSTEMシェルを扱うことに頼らざるを得ません。
それがCreateProcessAsUserにつながります。これにより現在のシェル内でシェルが起動することがわかっていましたが、トークンの特権要件を満たすためにWindowsサービスを使用せずにこれを実現する方法を見つける必要がありました。すなわち:
私はその回避策を見つけました...SYSTEMプロセススレッドからトークンを盗むのです :) スレッドの偽装トークンを複製し、スレッドトークンを設定し、それをプライマリに変換してから、特権有効化関数を再実行します。今回は、上記の2つの特権の有効化が成功し、CreateProcessAsUserを使用して同じコンソール内でシェルが表示されます。DLL注入も、名前付きパイプの偽装もなく、単なるトークンの操作/複製です。
これまでにかなり進歩しました...そして時間が許す限り、追加機能とコードの整理を続けていきます。皆様のご支援とテストに感謝します!