5985,5986 - Pentesting WinRM
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking-Einblicke Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
Echtzeit-Hack-News Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeitnachrichten und Einblicke auf dem Laufenden
Neueste Ankündigungen Bleiben Sie über die neuesten Bug-Bounties und wichtige Plattformupdates informiert
Treten Sie uns auf Discord bei und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!
WinRM
Windows Remote Management (WinRM) wird als ein Protokoll von Microsoft hervorgehoben, das die Remote-Verwaltung von Windows-Systemen über HTTP(S) ermöglicht und dabei SOAP nutzt. Es wird im Wesentlichen von WMI betrieben und präsentiert sich als eine auf HTTP basierende Schnittstelle für WMI-Operationen.
Die Anwesenheit von WinRM auf einem Rechner ermöglicht eine unkomplizierte Remote-Verwaltung über PowerShell, ähnlich wie SSH für andere Betriebssysteme funktioniert. Um festzustellen, ob WinRM betriebsbereit ist, wird empfohlen, auf das Öffnen bestimmter Ports zu überprüfen:
5985/tcp (HTTP)
5986/tcp (HTTPS)
Ein offener Port aus der obigen Liste zeigt an, dass WinRM eingerichtet wurde und somit Versuche zur Initiierung einer Remote-Sitzung zulässt.
Initiieren einer WinRM-Sitzung
Um PowerShell für WinRM zu konfigurieren, kommt das Microsoft-Tool Enable-PSRemoting
zum Einsatz, um den Computer so einzurichten, dass er remote PowerShell-Befehle akzeptiert. Mit erhöhtem PowerShell-Zugriff können die folgenden Befehle ausgeführt werden, um diese Funktionalität zu aktivieren und jeden Host als vertrauenswürdig zu kennzeichnen:
Diese Methode beinhaltet das Hinzufügen eines Platzhalters (*) zur trustedhosts
-Konfiguration, ein Schritt, der aufgrund seiner Auswirkungen sorgfältig überlegt sein sollte. Es wird auch darauf hingewiesen, dass es möglicherweise erforderlich ist, den Netzwerktyp von "Öffentlich" auf "Arbeit" auf dem Rechner des Angreifers zu ändern.
Darüber hinaus kann WinRM remote aktiviert werden, indem der wmic
-Befehl verwendet wird, wie folgt demonstriert:
Überprüfen, ob konfiguriert
Um die Einrichtung Ihres Angriffsrechners zu überprüfen, wird der Befehl Test-WSMan
verwendet, um zu prüfen, ob das Ziel ordnungsgemäß mit WinRM konfiguriert ist. Durch Ausführen dieses Befehls sollten Sie Details zur Protokollversion und zur WSMID erhalten, die auf eine erfolgreiche Konfiguration hinweisen. Im Folgenden sind Beispiele aufgeführt, die die erwartete Ausgabe für ein konfiguriertes Ziel im Vergleich zu einem nicht konfigurierten Ziel veranschaulichen:
Für ein Ziel, das ordnungsgemäß konfiguriert ist, wird die Ausgabe ähnlich aussehen wie:
Die Antwort sollte Informationen zur Protokollversion und wsmid enthalten, was darauf hinweist, dass WinRM korrekt eingerichtet ist.
Im Gegensatz dazu würde bei einem Ziel, das nicht für WinRM konfiguriert ist, keine solche detaillierte Information vorliegen, was auf das Fehlen einer ordnungsgemäßen WinRM-Konfiguration hinweist.
Führen Sie einen Befehl aus
Um ipconfig
remote auf einer Zielmaschine auszuführen und dessen Ausgabe anzuzeigen, tun Sie Folgendes:
Sie können auch einen Befehl Ihrer aktuellen PS-Konsole über Invoke-Command ausführen. Angenommen, Sie haben lokal eine Funktion namens enumeration und möchten sie auf einem Remote-Computer ausführen, können Sie Folgendes tun:
Skript ausführen
Erhalten Sie eine Reverse-Shell
Erhalten Sie eine PS-Sitzung
Um eine interaktive PowerShell-Shell zu erhalten, verwenden Sie Enter-PSSession
:
Die Sitzung wird in einem neuen Prozess (wsmprovhost) innerhalb des "Opfers" ausgeführt
WinRM erzwingen
Um PS Remoting und WinRM zu verwenden, wenn der Computer nicht konfiguriert ist, können Sie es mit folgendem Befehl aktivieren:
Speichern und Wiederherstellen von Sitzungen
Dies funktioniert nicht, wenn die Sprache auf dem Remote-Computer eingeschränkt ist.
Innerhalb dieser Sitzungen können Sie PS-Skripte mit Invoke-Command laden.
Fehler
Wenn Sie den folgenden Fehler finden:
enter-pssession : Die Verbindung mit dem Remoteserver 10.10.10.175 ist mit der folgenden Fehlermeldung fehlgeschlagen: Der WinRM-Client kann die Anforderung nicht verarbeiten. Wenn das Authentifizierungsschema von Kerberos abweicht oder wenn der Clientcomputer nicht in eine Domäne eingebunden ist, muss der HTTPS-Transport verwendet werden oder die Zielmaschine muss zur Konfigurationseinstellung TrustedHosts hinzugefügt werden. Verwenden Sie winrm.cmd, um TrustedHosts zu konfigurieren. Beachten Sie, dass Computer in der TrustedHosts-Liste möglicherweise nicht authentifiziert werden. Weitere Informationen erhalten Sie, indem Sie den folgenden Befehl ausführen: winrm help config. Weitere Informationen finden Sie im Hilfe-Thema about_Remote_Troubleshooting.
Der Versuch auf dem Client (Informationen von hier):
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking Insights Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
Echtzeit-Hack-News Bleiben Sie mit den schnelllebigen Hacking-Welt durch Echtzeit-Nachrichten und Einblicke auf dem Laufenden
Neueste Ankündigungen Bleiben Sie über die neuesten Bug-Bounties und wichtige Plattform-Updates informiert
Treten Sie uns bei Discord und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!
WinRM-Verbindung in Linux
Brute Force
Seien Sie vorsichtig, das Brute-Forcing von WinRM könnte Benutzer blockieren.
Verwendung von evil-winrm
Lesen Sie die Dokumentation auf seinem Github: https://github.com/Hackplayers/evil-winrm
Um evil-winrm zu verwenden, um eine Verbindung mit einer IPv6-Adresse herzustellen, erstellen Sie einen Eintrag in /etc/hosts, der einen Domainnamen auf die IPv6-Adresse setzt, und stellen Sie eine Verbindung zu diesem Domainnamen her.
Übergeben des Hashes mit evil-winrm
Verwendung einer PS-Docker-Maschine
Verwendung eines Ruby-Skripts
Code extrahiert von hier: https://alamot.github.io/winrm_shell/
Shodan
port:5985 Microsoft-HTTPAPI
Referenzen
HackTricks Automatische Befehle
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking Insights Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
Echtzeit-Hack-News Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeit-Nachrichten und Einblicke auf dem Laufenden
Neueste Ankündigungen Bleiben Sie über die neuesten Bug-Bounties und wichtige Plattform-Updates informiert
Treten Sie uns bei auf Discord und beginnen Sie noch heute mit Top-Hackern zusammenzuarbeiten!
Last updated