Wir haben die Grundlagen der Skriptsprache Powershell für Penetrationstester behandelt. Wir haben grundlegende Befehle, Skripting, Aufzählung von Zielen behandelt und eine nette Herausforderung angenommen, die Teil von TryHackMe Hacking mit Powershell-Raum.
Holen Sie sich die Studiennotizen zu COMPTIA Pentest+
Kurs zu Techniken zur Eskalation von Windows-Berechtigungen
Beschreibung der Herausforderung
Lernen Sie die Grundlagen von PowerShell und PowerShell-Scripting
Video-Highlights
Powershell ist die Windows-Skriptsprache und Shell-Umgebung, die mit dem .NET-Framework erstellt wurde.
Dies ermöglicht es Powershell auch, .NET-Funktionen direkt aus seiner Shell auszuführen. Die meisten Powershell-Befehle, genannt Cmdlets, sind in .NET geschrieben. Im Gegensatz zu anderen Skriptsprachen und Shell-Umgebungen ist die Ausgabe dieser Cmdlets sind Objekte – wodurch Powershell in gewisser Weise objektorientiert ist.
Das bedeutet auch, dass Sie mit der Ausführung von Cmdlets Aktionen am Ausgabeobjekt durchführen können (was die Übergabe der Ausgabe von einem Cmdlet zu einem anderen). Das normale Format eines Cmdlet wird dargestellt durch Verb Nomen; zum Beispiel die Cmdlet zum Auflisten von Befehlen heißt Get-Befehl
Zu den häufig verwendeten Verben gehören:
- Erhalten
- Start
- Stoppen
- Lesen
- Schreiben
- Neu
- Aus
Die vollständige Liste der genehmigten Verben finden Sie unter Das Verknüpfung.
Verwenden von „Get-Help“
Hilfe bekommen
zeigt Informationen über einen -Cmdlet. Um Hilfe zu einem bestimmten Befehl zu erhalten, führen Sie Folgendes aus:
Get-Help-Befehlsname
Raumantworten
Wie lautet der Befehl an erhalten A neu Objekt?
Wo befindet sich die Datei „interesting-file.txt“?
Geben Sie den Inhalt dieser Datei an
Wie viele Cmdlets sind auf dem System installiert (nur Cmdlets, keine Funktionen und Aliase)?
Bekommen das MD5 Hash von interessante-datei.txt
Wie lautet der Befehl, um das aktuelle Arbeitsverzeichnis abzurufen?
Existiert der Pfad „C:\Benutzer\Administrator\Dokumente\Passwörter“ (J/N)?
Welchen Befehl würden Sie verwenden, um eine Anfrage an einen Webserver zu stellen?
Base64 dekodiert die Datei b64.txt unter Windows.
Wie viele Benutzer sind auf der Maschine?
Welchem lokalen Benutzer gehört diese SID (S-1-5-21-1394777289-3961777894-1791813945-501)?
Bei wie vielen Benutzern ist für das erforderliche Kennwort der Wert „False“ festgelegt?
Wie viele lokale Gruppen gibt es?
Welchen Befehl haben Sie verwendet, um die IP-Adressinformationen abzurufen?
Wie viele Ports sind als abhörend aufgeführt?
Was ist die Remote-Adresse des lokalen Ports, der auf Port 445 lauscht?
Wie viele Patches wurden angewendet?
Wann wurde der Patch mit der ID KB4023834 installiert?
Suchen Sie den Inhalt einer Sicherungsdatei.
Suche nach allen Dateien, die API_KEY enthalten
Welchen Befehl geben Sie ein, um alle laufenden Prozesse aufzulisten?
Wie lautet der Pfad der geplanten Aufgabe mit dem Namen „New-Sched-Task“?
Welche Datei enthält das Passwort?
Wie lautet das Passwort?
Welche Dateien enthalten einen HTTPS-Link?
Wie viele offene Ports zwischen 130 und 140 (einschließlich dieser beiden) haben Sie gefunden?
Video-Komplettlösung