Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-49144 — PoC CVE-2025-49144 | Kitploit
Ferramentas/GitHubGitHub/vr00mm/cve-2025-49144
Escalada de PrivilégiosMecanismos de PersistênciaExploraçãoComando e ControleEngenharia SocialAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubvr00mm/cve-2025-49144

CVE-2025-49144

PoC CVE-2025-49144

610há 1 anoAinda 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
Ver Repositório

PoC de Binary Planting no Notepad++ (CVE-2025-49144)

⚠️ APENAS PARA FINS EDUCACIONAIS
Este código foi desenvolvido para fins educacionais e de pesquisa para entender vulnerabilidades de binary planting. Use apenas em ambientes controlados e com a devida autorização.

📋 Visão Geral

Esta Prova de Conceito demonstra a vulnerabilidade de binary planting no instalador do Notepad++ (CVE-2025-49144) referenciada em GHSA-9vx8-v79m-6m24. A vulnerabilidade permite que um invasor obtenha privilégios de nível SYSTEM colocando um executável malicioso chamado regsvr32.exe no mesmo diretório do instalador do Notepad++.

🎯 Detalhes da Vulnerabilidade

  • Alvo: Instalador do Notepad++ (todas as versões anteriores à v8.8.2)
  • Método: Binary planting via regsvr32.exe malicioso
  • Causa Raiz: Os instaladores do Notepad++ invocam binários do sistema, como regsvr32, sem especificar caminhos absolutos
  • Impacto: Quando um usuário executa o instalador, o sistema carrega automaticamente o arquivo malicioso com privilégios de SYSTEM, concedendo ao invasor controle total sobre a máquina alvo
  • Vetor de Ataque: Engenharia social ou clickjacking para enganar os usuários e fazê-los baixar tanto o instalador legítimo quanto um executável malicioso para o mesmo diretório (normalmente a pasta Downloads)

🏗️ Arquitetura

A PoC é composta por múltiplos componentes que trabalham em conjunto:

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ Notepad++       │    │ Malicious        │    │  Reverse Shell  │
│ Installer       │───▶│ regsvr32.exe     │───▶│   (PowerShell)  │
│ (searches for   │    │ (CGO binary)     │    │  with SYSTEM    │
│  regsvr32.exe)  │    │                  │    │  privileges     │
└─────────────────┘    └──────────────────┘    └─────────────────┘

Componentes Principais

ArquivoFinalidadeLinhas
main.goPonto de entrada, gerencia a execução do regsvr32~80
winbind.hCabeçalho principal com declarações de funções~45
main.cIniciador central do reverse shell e criação de processos destacados~75
shell.cGerenciador de shell com execução ofuscada do PowerShell~120
process.cAquisição de token e criação de processo SYSTEM~195
socket.cConexão de rede com TCP keep-alive~85
threads.cThreads de I/O entre socket e pipes~60
utils.cValidação de entrada e limitação de taxa~35
obfuscate.cTécnicas de ofuscação do caminho do PowerShell~70

🔧 Recursos Técnicos

🛡️ Técnicas de Evasão

  • Ofuscação de Strings: O caminho do PowerShell é codificado com XOR para evitar detecção estática
  • Processos Destacados: Cria processos independentes que sobrevivem ao encerramento do processo pai
  • Impersonação de Token: Eleva privilégios roubando tokens de SYSTEM
  • Process Hollowing: Injeta código em processos legítimos do Windows

🌐 Capacidades de Rede

  • TCP Keep-Alive: Mantém conexões persistentes através de firewalls
  • Tentativa de Reconexão: Reconexão automática com atrasos configuráveis
  • Tratamento de Timeout: Operações de socket não bloqueantes com timeouts adequados
  • Limitação de Taxa: Evita spam de conexões e detecção

💻 Integração com o Sistema

  • Integração CGO: Interoperabilidade perfeita entre Go e C para chamadas de sistema
  • Disfarce de Executável: Imita o comportamento legítimo do regsvr32.exe
  • Multithreading: Threads separadas para manipulação de stdin/stdout/stderr
  • Recuperação de Erros: Tratamento gracioso de falhas de conexão e encerramento de processos
  • Gerenciamento de Recursos: Limpeza adequada de handles, sockets e memória

🚀 Instruções de Build

Pré-requisitos

# Instalar Go (1.24+)
# Instalar MinGW-w64 para compilação CGO
# Instalar Git para controle de versão

Compilação

# Clonar o repositório
git clone https://github.com/Vr00mm/CVE-2025-49144
cd CVE-2025-49144

# Compilar como executável (disfarçado de regsvr32.exe)

# Para máxima furtividade (remover informações de debug)
go build -ldflags="-s -w" -o regsvr32.exe

# Para desenvolvimento (com símbolos de debug)
go build -o regsvr32_debug.exe

📖 Uso

Binary Planting (Vetor de Ataque Principal)

# 1. Colocar o regsvr32.exe malicioso no mesmo diretório do instalador do Notepad++
# Normalmente a pasta Downloads, onde os usuários baixam o instalador
copy regsvr32.exe "C:\Users\%USERNAME%\Downloads\"

# 2. O usuário baixa o instalador oficial do Notepad++ para a pasta Downloads
# 3. Quando o usuário executa o instalador, ele procura por regsvr32.exe no diretório atual primeiro
# 4. O instalador encontra e executa nosso regsvr32.exe malicioso com privilégios de SYSTEM

# 5. Aguardar a conexão reversa do shell
ncat -tlnp 4445

🔍 Fluxo do Ataque

sequenceDiagram
    participant User
    participant Attacker
    participant Downloads
    participant NotepadInstaller
    participant MaliciousRegsvr32
    participant SystemProcess

    User->>Downloads: Baixar instalador do Notepad++
    Attacker->>Downloads: Colocar regsvr32.exe malicioso (engenharia social)
    User->>NotepadInstaller: Executar instalador da pasta Downloads
    NotepadInstaller->>Downloads: Procurar por regsvr32.exe no diretório atual
    Downloads->>MaliciousRegsvr32: Encontrar regsvr32.exe malicioso primeiro
    NotepadInstaller->>MaliciousRegsvr32: Executar com privilégios de SYSTEM
    MaliciousRegsvr32->>MaliciousRegsvr32: Criar processo destacado
    MaliciousRegsvr32->>SystemProcess: Enumerar processos SYSTEM
    SystemProcess->>MaliciousRegsvr32: Roubar token do winlogon/services
    MaliciousRegsvr32->>MaliciousRegsvr32: Criar PowerShell com token SYSTEM
    MaliciousRegsvr32->>Attacker: Estabelecer conexão reversa
    MaliciousRegsvr32->>NotepadInstaller: Continuar com a funcionalidade legítima do regsvr32
    Attacker->>SystemProcess: Executar comandos como SYSTEM

🎓 Aspectos Educacionais

Conceitos de Segurança Demonstrados

  1. Binary Planting

    • Comportamento inseguro do caminho de busca de executáveis
    • Elevação de privilégio através de vulnerabilidades em instaladores
    • Vetores de ataque por engenharia social
  2. Elevação de Privilégio

    • Métodos de impersonação de token
    • Roubo de token de processos
    • Aquisição de acesso de nível SYSTEM
  3. Mecanismos de Persistência

    • Criação de processos destacados
    • Mimetização de processos de serviço
    • Lógica de tentativa de reconexão
  4. Programação de Rede

    • Implementação de reverse shell
    • Programação de sockets em C
    • Rede multiplataforma
  5. Programação CGO

    • Interoperabilidade entre Go e C
    • Programação de nível de sistema em Go
    • Integração entre linguagens

Objetivos de Aprendizado

  • Entender como funcionam as vulnerabilidades de binary planting
  • Aprender sobre caminhos de busca de executáveis inseguros em instaladores
  • Explorar a elevação de privilégio no Windows via falhas em instaladores
  • Estudar vetores de ataque por engenharia social
  • Praticar programação CGO e integração entre linguagens
  • Praticar codificação segura e análise de vulnerabilidades

🛡️ Detecção e Mitigação

Métodos de Detecção

# Monitorar uso suspeito de regsvr32
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104}

# Verificar conexões de rede incomuns
netstat -ano | findstr ":4445"

# Monitorar criação de processos
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4688}
Baixar ferramenta