# 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 {