5985,5986 - Pentesting WinRM
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
Windows Remote Management (WinRM) jest wyróżniony jako protokół od Microsoftu, który umożliwia zdalne zarządzanie systemami Windows przez HTTP(S), wykorzystując SOAP w tym procesie. Jest zasadniczo zasilany przez WMI, prezentując się jako interfejs oparty na HTTP dla operacji WMI.
Obecność WinRM na maszynie umożliwia prostą zdalną administrację za pomocą PowerShell, podobnie jak SSH działa w innych systemach operacyjnych. Aby sprawdzić, czy WinRM działa, zaleca się sprawdzenie otwarcia konkretnych portów:
5985/tcp (HTTP)
5986/tcp (HTTPS)
Otwarty port z powyższej listy oznacza, że WinRM zostało skonfigurowane, co pozwala na próby nawiązania zdalnej sesji.
Aby skonfigurować PowerShell dla WinRM, używa się polecenia Enable-PSRemoting
od Microsoftu, które przygotowuje komputer do akceptacji zdalnych poleceń PowerShell. Posiadając podwyższone uprawnienia PowerShell, można wykonać następujące polecenia, aby włączyć tę funkcjonalność i oznaczyć dowolny host jako zaufany:
To podejście polega na dodaniu symbolu wieloznacznego do konfiguracji trustedhosts
, krok, który wymaga ostrożnego rozważenia ze względu na jego implikacje. Zauważono również, że zmiana typu sieci z "Public" na "Work" może być konieczna na maszynie atakującego.
Ponadto, WinRM można aktywować zdalnie za pomocą polecenia wmic
, co pokazano poniżej:
Ta metoda umożliwia zdalne skonfigurowanie WinRM, zwiększając elastyczność w zarządzaniu maszynami z systemem Windows zdalnie.
Aby zweryfikować konfigurację swojej maszyny atakującej, używa się polecenia Test-WSMan
, aby sprawdzić, czy cel ma prawidłowo skonfigurowany WinRM. Wykonując to polecenie, powinieneś oczekiwać otrzymania szczegółów dotyczących wersji protokołu i wsmid, co wskazuje na pomyślną konfigurację. Poniżej znajdują się przykłady ilustrujące oczekiwany wynik dla skonfigurowanego celu w porównaniu do nieskonfigurowanego:
Dla celu, który jest prawidłowo skonfigurowany, wynik będzie wyglądał podobnie do tego:
Odpowiedź powinna zawierać informacje o wersji protokołu i wsmid, co oznacza, że WinRM jest poprawnie skonfigurowany.
Z drugiej strony, dla celu nie skonfigurowanego dla WinRM, skutkowałoby to brakiem takich szczegółowych informacji, co podkreśla brak odpowiedniej konfiguracji WinRM.
Aby zdalnie wykonać ipconfig
na docelowej maszynie i zobaczyć jego wynik, zrób:
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ć:
Aby uzyskać interaktywną powłokę PowerShell, użyj Enter-PSSession
:
Sesja będzie działać w nowym procesie (wsmprovhost) wewnątrz "ofiary"
Aby używać PS Remoting i WinRM, ale komputer nie jest skonfigurowany, możesz to włączyć za pomocą:
To nie zadziała, jeśli język jest ograniczony na zdalnym komputerze.
W ramach tych sesji możesz załadować skrypty PS za pomocą Invoke-Command
Jeśli napotkasz następujący błąd:
enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.
Spróbuj na kliencie (informacje tutaj):
Dołącz do HackenProof Discord, aby komunikować się z doświadczonymi hackerami i łowcami błędów!
Wgląd w Hacking Zaangażuj się w treści, które zagłębiają się w emocje i wyzwania związane z hackingiem
Aktualności Hackingowe w Czasie Rzeczywistym Bądź na bieżąco z dynamicznym światem hackingu dzięki aktualnym wiadomościom i spostrzeżeniom
Najnowsze Ogłoszenia Bądź informowany o najnowszych programach bug bounty oraz istotnych aktualizacjach platformy
Dołącz do nas na Discord i zacznij współpracować z najlepszymi hackerami już dziś!
Uważaj, brute-forcing winrm może zablokować użytkowników.
Przeczytaj dokumentację na jego githubie: https://github.com/Hackplayers/evil-winrm
Aby użyć evil-winrm do połączenia z adresami IPv6, utwórz wpis w /etc/hosts, przypisując nazwę domeny do adresu IPv6 i połącz się z tą domeną.
Kod wyciągnięty stąd: https://alamot.github.io/winrm_shell/
port:5985 Microsoft-HTTPAPI
Dołącz do HackenProof Discord, aby komunikować się z doświadczonymi hackerami i łowcami bugów!
Wgląd w Hacking Zaangażuj się w treści, które zagłębiają się w emocje i wyzwania związane z hackingiem
Aktualności Hackingowe w Czasie Rzeczywistym Bądź na bieżąco z dynamicznym światem hackingu dzięki aktualnym wiadomościom i wglądom
Najnowsze Ogłoszenia Bądź informowany o najnowszych programach bug bounty oraz istotnych aktualizacjach platformy
Dołącz do nas na Discord i zacznij współpracować z najlepszymi hackerami już dziś!
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)