The Microsoft Component Object Model (COM) is an interface standard that allows the software components to interact and communicate with each other’s code without knowledge of their internal implementation.
In simple words, COM is a system that helps developers build libraries which can co-operate with other apps developed with other languages.
OM objects are identified by their globally unique identifiers (GUIDs) known as class identifiers (CLSIDs) and interface identifiers (IIDs) and they are registered in registry hives.
The merged registry hive HKCR contains the combined information of HKCU and HKLM.
we are looking for 2 things, in the <Exec> section there should be something called <ComHandler> instead of a binary path and in the <Triggers> section we want a <LogonTrigger>.
look for <ComHandler> in the output file, this will point to a specific class ID.
after finding a suitable handler:
note that the delay here is 5 minutes.
query this ID in registry:
reg query "HKCR\CLSID\{97D47D56-3777-49FB-8E8F-90D7E30E1A1E}"
# to see if the key is in current user:
reg query "HKCU\SOFTWARE\Classes\CLSID\{97D47D56-3777-49FB-8E8F-90D7E30E1A1E}"
# to see if the key is in local machine:
reg query "HKLM\SOFTWARE\Classes\CLSID\{97D47D56-3777-49FB-8E8F-90D7E30E1A1E}"
so the key is in local machine hive, if we put something in current user we can hijack that COM object.