# 5985,5986 - WinRMのペンテスト
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** * **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
**HackenProofはすべての暗号バグバウンティの場所です。** **遅延なしで報酬を受け取る**\ HackenProofのバウンティは、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。 **Web3ペンテストの経験を積む**\ ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!上昇期のweb3セキュリティをマスターしましょう。 **Web3ハッカーレジェンドになる**\ 各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。 [**HackenProofでサインアップ**](https://hackenproof.com/register)してハッキングから報酬を得ましょう! {% embed url="https://hackenproof.com/register" %} ## WinRM [Windows Remote Management](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx)(WinRM)は、SOAPを使用してHTTP(S)経由でWindowsマシンをリモートで管理するためのMicrosoftプロトコルです。バックエンドではWMIを利用しているため、WMIのHTTPベースのAPIと考えることができます。 WinRMがマシンで有効になっている場合、PowerShellからリモートでマシンを管理するのは簡単です。実際には、リモートのPowerShellセッションにマシンにドロップインすることができます(SSHを使用しているかのように)。 WinRMが利用可能かどうかを検出する最も簡単な方法は、ポートが開いているかどうかを確認することです。WinRMは次のいずれかのポートでリッスンします。 * **5985/tcp(HTTP)** * **5986/tcp(HTTPS)** これらのポートのいずれかが開いている場合、WinRMが構成されており、リモートセッションを試すことができます。 ## **WinRMセッションの開始**。 PowerShellをWinRMと連携させることができます。Microsoftのドキュメントによると、Enable-PSRemotingは、コンピューターをPowerShellリモートコマンドを受け取るように構成するためのコマンドレットです。被害者のエレベートされたPowerShellプロンプトにアクセスできる場合、これを有効にし、任意の「攻撃者」を信頼されたホストとして追加することができます。次の2つのコマンドを実行できます: ``` Enable-PSRemoting -Force Set-Item wsman:\localhost\client\trustedhosts * ``` これにより、trustedhosts設定にワイルドカードが追加されます。それが何を意味するかに注意してください。 _注: 攻撃マシンのネットワークタイプを「Public」から「Work」ネットワークに変更する必要がありました。_ また、**wmicを使用して** WinRMを**リモートでアクティベート**することもできます。 ``` wmic /node: process call create "powershell enable-psremoting -force" ``` ### 設定のテスト 攻撃マシンが設定されたら、`Test-WSMan` 関数を使用して、ターゲットが WinRM に設定されているかどうかをテストします。プロトコルバージョンと wsmid に関する情報が返されるはずです。 ![](<../.gitbook/assets/image (161) (1).png>) ![](<../.gitbook/assets/image (162).png>) この場合、最初のものは設定されており、2番目のものは設定されていません。 ### コマンドの実行 これで、PowerShell の `Invoke-Command` を使用して、WinRM を介してターゲット上でコマンドをリモートで実行することができます。`ipconfig` をリモートで実行して出力を確認します。 ``` Invoke-Command -computername computer-name.domain.tld -ScriptBlock {ipconfig /all} [-credential DOMAIN\username] ``` ![](<../.gitbook/assets/image (163) (1).png>) また、**Invoke-Command**を使用して、現在のPSコンソールでコマンドを実行することもできます。ローカルに_**enumeration**_という関数があると仮定し、それをリモートコンピュータで実行したい場合は、次のようにします: ```ruby Invoke-Command -ComputerName -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"] ``` ### スクリプトの実行 To execute a script on a target machine using WinRM, you can use the `Invoke-Command` cmdlet in PowerShell. This cmdlet allows you to run commands or scripts on remote machines. ```powershell Invoke-Command -ComputerName -ScriptBlock {