Одна из последний критичных уязвимостей винды:
Предлагаю рассмотреть как можно проэксплуатировать.)
StorSvc — это служба, которая работает от имени NT AUTHORITY\SYSTEM и пытается загрузить отсутствующую библиотеку SprintCSP.dll при вызове локального метода SvcRebootToFlashingMode через RPC.
Описание RPC-метод StorSvc.dll!SvcRebootToFlashingMode вызывает StorSvc.dll!InitResetPhone, который также вызывает StorSvc.dll!ResetPhoneWorkerCallback, пытающийся загрузить SprintCSP.dll, как показано на изображении ниже:
Поскольку эта DLL отсутствует, она загружается в соответствии с порядком поиска DLL, и мы можем воспользоваться этим поведением, поместив вредоносную DLL в папку, доступную для записи, которая содержится в системном пути %PATH%. В результате вредоносная DLL должна быть выполнена с привилегиями SYSTEM.
Стоит отметить, что служба запускается от имени NT AUTHORITY\SYSTEM в группе служб LocalSystemNetworkRestricted, которая обладает следующими привилегиями:
Командная строка, соответствующая этой службе, выглядит так: C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted -p -s StorSvc.
Как можно проэксплуатировать:
В этом репозитории мы предоставляем два различных исходных кода:
После инициирования эксплойта необходимо остановить или перезагрузить службу, что уже делает SprintCSP.dll.
Шаги:
Демонстрация:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Предлагаю рассмотреть как можно проэксплуатировать.)
StorSvc — это служба, которая работает от имени NT AUTHORITY\SYSTEM и пытается загрузить отсутствующую библиотеку SprintCSP.dll при вызове локального метода SvcRebootToFlashingMode через RPC.
Описание RPC-метод StorSvc.dll!SvcRebootToFlashingMode вызывает StorSvc.dll!InitResetPhone, который также вызывает StorSvc.dll!ResetPhoneWorkerCallback, пытающийся загрузить SprintCSP.dll, как показано на изображении ниже:
Поскольку эта DLL отсутствует, она загружается в соответствии с порядком поиска DLL, и мы можем воспользоваться этим поведением, поместив вредоносную DLL в папку, доступную для записи, которая содержится в системном пути %PATH%. В результате вредоносная DLL должна быть выполнена с привилегиями SYSTEM.
Стоит отметить, что служба запускается от имени NT AUTHORITY\SYSTEM в группе служб LocalSystemNetworkRestricted, которая обладает следующими привилегиями:
Имя привилегии | Описание | Состояние |
---|---|---|
SeTcbPrivilege | Действовать как часть операционной системы | Включено |
SeLoadDriverPrivilege | Загрузка и выгрузка драйверов устройств | Отключено |
SeBackupPrivilege | Резервное копирование файлов и каталогов | Отключено |
SeRestorePrivilege | Восстановление файлов и каталогов | Отключено |
SeSystemEnvironmentPrivilege | Изменение значений среды прошивки | Отключено |
SeChangeNotifyPrivilege | Обход проверки обхода | Включено |
SeManageVolumePrivilege | Выполнение задач обслуживания томов | Включено |
Командная строка, соответствующая этой службе, выглядит так: C:\Windows\System32\svchost.exe -k LocalSystemNetworkRestricted -p -s StorSvc.
Как можно проэксплуатировать:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
В этом репозитории мы предоставляем два различных исходных кода:
- RpcClient.exe: который инициирует вызов RPC.
- SprintCSP.dll: которую можно разместить для эксплуатации захвата DLL. Этот PoC выполняет команду whoami и записывает результат в C:\ProgramData\whoamiall.txt. Если вы хотите расширить функциональность этого PoC, вы можете изменить функцию DoStuff() в файле main.c.
После инициирования эксплойта необходимо остановить или перезагрузить службу, что уже делает SprintCSP.dll.
Шаги:
- Найдите доступный для записи системный путь с помощью команды reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -v Path.
- Скопируйте SprintCSP.dll в доступный для записи путь.
- Выполните RpcClient.exe.
- Проверьте файл C:\ProgramData\whoamiall.txt.
Демонстрация:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
Последнее редактирование: