
This is done by grabbing certificate information from “Razer.cer”, calling X509Certificate.CreateFromSignedFile() on each assembly and then comparing the certificate chain from Razer.cer with the assembly being loaded.

This means that we can simply drop an assembly in one of the folders (C:\ProgramData\Razer\Synapse3\Service\bin, for example) and it will be treated the same as an existing, valid assembly.Īfter recursively enumerating all DLLs in “C:\ProgramData\Razer\*”, the service attempts to ensure those identified assemblies are signed by Razer. Looking at the service, this problem is solved pretty easily as it recursively enumerates all DLLs in “C:\ProgramData\Razer\*”. This makes winning the race condition for swapping out a legitimate assembly with a malicious one challenging.
#Synapse 3 download code
This means that to trigger the assembly loading code path, the box needs to be rebooted. Hijacking an existing assembly can be challenging as low privileged users do not have rights to stop or start the Razer Synapse service. The first issue to tackle is getting a malicious assembly planted in such a way that the service will try to load it. For efficient exploitation, it is important to fully understand the conditions in which an assembly can be loaded successfully. Additionally, the service implements some checks that must be passed before the assembly can be loaded. This approach came with some complications, such as a race condition to replace an assembly before the service loads it. NET assembly with a malicious one, reboot the system and let the Razer Synapse Service load it when it starts. In theory, an attacker could simply replace an existing. When looking at the DACL on the folder “C:\ProgramData\Razer\Synapse3\Service\bin”, you will notice that “Everyone” has “FullControl” rights over the folder (including any files within the folder): NET assemblies out of various directories within “C:\ProgramData\Razer\*”, such as “C:\ProgramData\Razer\Synapse3\Service\bin”. When the Razer Synapse service starts, it will load. It is possible to circumvent signing checks and elevate to SYSTEM using assembly sideloading. The folder “ C:\ProgramData\Razer\*” and recursive directories/files have weak permissions that grant any authenticated user FullControl over the contents. NET assemblies from “C:\ProgramData\Razer\*”.
#Synapse 3 download software
Vulnerability: Razer Synapse Windows Service EoPīrief Description: The Razer Synapse software has a service (Razer Synapse Service) that runs as “NT AUTHORITY\SYSTEM” and loads multiple. Product Version: Razer Synapse 3 (.112711) Windows Client
