
Ein Framework für PowerShell- und PoshSec-Skripte für Netzwerkverwaltung, Sicherheit und Wartung.
Damit die Skripte und Module funktionieren, lesen Sie bitte die folgende Dokumentation.
Das PoshSec Framework (oder PSF) ist ein grafisches Frontend-Tool zum Ausführen von PowerShell-Skripten, -Modulen und -Cmdlets. Das PSF stellt Teile seiner Benutzeroberfläche PowerShell innerhalb der individualisierten PSessions zur Verfügung. Jedes Skript oder jeder Befehl, der ausgeführt wird, läuft in einem separaten Thread, sodass Sie mehrere Skripte gleichzeitig ausführen können.
Das PoshSec Framework wird hauptsächlich von Ben Ten (Ben0xA) entwickelt. Das Projekt ist auch für andere Entwickler offen, die zum Projekt beitragen möchten. Dieses Projekt ist direkt mit dem PoshSec-Projekt verknüpft. Das PoshSec-Projekt wird von Matt Johnson (mwjcomputing) gepflegt und von mehreren Entwicklern aktiv weiterentwickelt. Diese Entwickler sind unten aufgeführt.
Das PoshSec Framework wurde für die Arbeit mit PowerShell 3.0 entwickelt und funktioniert mit PowerShell 2.0. Obwohl PSF auch mit älteren Versionen von PowerShell funktioniert, benötigt PSF .NET 4.5, das standardmäßig mit PowerShell 3.0 geliefert wird. Dies sind die empfohlenen Voraussetzungen für die Verwendung von PSF:
Bitte beachten Sie, dass PowerShell zwar für die 'meisten' Skripte nicht auf dem Zielsystem installiert sein muss, aber auf demselben Rechner installiert und ordnungsgemäß konfiguriert sein muss, auf dem auch das PoshSec Framework installiert ist.
Wenn Sie zum ersten Mal PowerShell-Skripte, -Funktionen oder -Cmdlets verwenden, müssen zunächst einige Vorbereitungen getroffen werden. Diese sind erforderlich, unabhängig davon, ob Sie das PoshSec Framework verwenden oder das Skript, die Funktion bzw. das Cmdlet selbst aufrufen. Hinweis: Das in PSF integrierte 'Erststart-Tool' führt alle diese Schritte automatisch für Sie aus. Die Schritte werden jedoch unten im Detail beschrieben, damit Sie sie kennen oder selbst durchführen können.
Das Erststart-Tool im PoshSec Framework führt die oben aufgeführten Schritte automatisch aus. Es wird außerdem:
Bitte beachten Sie: Sie können auswählen, welche Schritte das Erststart-Tool ausführen soll, oder einfach die Schaltfläche drücken, auf der "Nichts tun, ich mache es selbst" steht.
PowerShell hat die ExecutionPolicy, die bestimmt, welche Skripte ausgeführt werden können, standardmäßig auf "None" gesetzt. Dies verhindert, dass unsignierte Skripte auf Ihrem System ausgeführt werden. Wenn Sie Skripte aus anderen Projekten wie PoshSec verwenden, müssen Sie diese Richtlinie auf "RemoteSigned" setzen. Die RemoteSigned-Richtlinie ist für Skripte gedacht, die Sie selbst oder andere entwickelt haben. Dieser Befehl muss mit lokalen Administratorrechten ausgeführt werden.
ps C:\> Set-ExecutionPolicy RemoteSigned -Force
Mit der Veröffentlichung von Windows 7 und späteren Betriebssystemen von Microsoft wurde eine "Sperre" für alle Dateien eingeführt, die aus dem Internet heruntergeladen werden. Dies führt dazu, dass die Benutzerkontensteuerung (UAC) angezeigt wird, wenn diese heruntergeladene Datei ausgeführt wird. Wenn Sie Skripte, Funktionen oder Cmdlets von entfernten Standorten verwenden, muss diese "Sperre"-Markierung entfernt werden, bevor Sie sie aus PowerShell oder PSF heraus ausführen können.
Das Unblock-File-Cmdlet entfernt diese Markierung. Der einfachste Weg, mehrere Dateien in einem Verzeichnis zu entsperren, besteht darin, das Verzeichnis zu durchlaufen und jede Datei an das Unblock-File-Cmdlet zu übergeben.
ps C:\> Get-ChildItem | ForEach-Object { Unblock-File $_.Name }
Das PoshSec Framework verwendet das Get-Help-Cmdlet aus PowerShell heraus. Es wird verwendet, um zu erkennen, ob ein Befehl oder Skript Parameter hat. Bevor Sie Get-Help verwenden können, muss es mindestens einmal aktualisiert werden. Dazu verwenden Sie das Update-Help-Cmdlet. Hinweis: Sie benötigen eine aktive Internetverbindung, um die Hilfe zu aktualisieren.
ps C:\> Update-Help -Force
=======
Hinweis: Derzeit ist mindestens PowerShell 3.0 erforderlich.
Sie müssen sicherstellen, dass Sie beim ersten Laden "Update-Help" in der PowerShell-Befehlsshell ausführen. Dies ist erforderlich, damit das Framework ordnungsgemäß funktioniert!
Öffnen Sie poshsecframework.sln in Visual Studio 2012+ und erstellen Sie das Projekt (F7). Dadurch wird der Ordner bin\Release unter {your github repodirectory}\poshsecframework\poshsecframework\bin\Release erstellt.
Kopieren Sie den Ordner "\Modules" und den Ordner "\Scripts" aus dem Ordner "\Scripts and Modules" in das Verzeichnis bin\Release.
Zum Beispiel:
C:\github\poshsecframework\poshsecframework\bin\Release\Modules\
C:\github\poshsecframework\poshsecframework\bin\Release\Scripts\
Der Binärordner enthält poshsecframework.zip.
Entpacken Sie die ZIP-Datei in ein Verzeichnis Ihrer Wahl und führen Sie einfach poshsecframework.exe aus.
Sie müssen den Ordner Scripts\ oder Modules\ nicht verschieben.
Kopieren Sie die Ordner Modules und Scripts aus dem Ordner "Scripts and Modules" in das Installationsverzeichnis.
C:\Program Files\PoshSecFramework\Modules\
C:\Program Files\PoshSecFramework\Scripts\
Wenn Sie auf Ihrem System noch nie Skripte ausgeführt haben, müssen Sie den folgenden Befehl in einer PowerShell-Konsole eingeben, die als Administrator ausgeführt wird.
Set-ExecutionPolicy RemoteSigned
Geben Sie dann "Y" ein, wenn Sie dazu aufgefordert werden.
Bei einigen Systemen müssen Sie die Dateien möglicherweise "entsperren". Wir arbeiten daran, dies direkt in psf zu integrieren, aber vorerst müssen Sie nur den folgenden Befehl in einer PowerShell-Konsole eingeben:
Get-ChildItem -recurse <path to poshsecframework> | Unblock-File
Beispiel:
Get-ChildItem -recurse "C:\github\poshsecframework\poshsecframework" | Unblock-File
~or~
Get-ChildItem -recurse "C:\Program Files\PoshSecFramework\ | Unblock-File"
Dieses Projekt, das von Will Steele (@pen_test) und Matt Johnson (@mwjcomputing) gestartet wurde, verfolgt mehrere Ziele:
Das PoshSec Framework wurde
Aktuelle "Kern"-Entwickler sind:
In alphabetischer Reihenfolge:
Bei PoshSec geht es darum, die Community zu unterstützen, sie zu stärken und die Sicherheitslage von Organisationen zu verbessern.