Прошеший на OFFZONE воркшоп по картошкам навел меня на мысль о том, что следует автоматизировать процесс ресерча COMов как можно лучше и как можно с больших сторон.
На тот момент у меня уже были небольшие наработки, однако, они в большинстве своем валялись без дела. Я решил исправить это.
Я объединил свои инструменты по нахождению интересностей в COM в небольшой репозиторий, который назвал COMThanasia. На данный момент там пять тулз:
- PermissionHunter - позволяет обнаруживать кривые права (LaunchPermission и AccessPermission) на COM-объекты. Фактически, это Checkerv2.0 из RemoteKrbRelay :)
- ComDiver - автоматический анализ прав на ключи реестра, по которым зарегистрированы COM-классы. Причем анализ ведется в соответствии с приоритетами, по которым система осуществляет поиск COM-класса. Удобно использовать для (Shadow) COM Hijacking.
- MonikerHound - инструмент для поиска собственного способа UAC Bypass через Elevation Monikers. Об этом варианте UAC Bypass я писал тут
- ClsidExplorer - анализ и вычленение методов COM-класса для обнаружения интересных фич :) Отлично для работы в группе с
ComTraveller/PermissionHunter- ComTraveller - анализ всех COM на системе на предмет наличия TypeLib, значения ключа Runas (
The Interactive User или NT AUTHORITY\SYSTEM ведет к LPE), а также возможности кросс-сессионной активации, как было в LeakedWallpaper Так вы можете несколько автоматизировать процесс обнаружения мисконфигов в COM :)
Помимо того, там есть небольшой трюк по получению PID процесса, в котором инстанцирован COM-класс, что позволяет исследовать COMы с новой стороны
А если бы я релизнул это чуть раньше, то кто-нибудь точно нашел CVE-2024-38100 (FakePotato) и CVE-2024-38061 (SilverPotato) 🤪
