WMI and IMPERSONATE (old tip)

Prendo spunto da questo script VBS:

Const wbemImpersonationLevelDelegate = 4

Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objConnection = objwbemLocator.ConnectServer _
    ("WebServer", "root\cimv2", "fabrikam\administrator", _
         "password", , "kerberos:WebServer")
objConnection.Security_.ImpersonationLevel = wbemImpersonationLevelDelegate

Set objSoftware = objConnection.Get("Win32_Product")
errReturn = objSoftware.Install("\\atl-dc-02\scripts\1561_lab.msi",,True)


quindi focalizzo l'attenzione su questa riga:

Set objConnection = objwbemLocator.ConnectServer _
    ("WebServer", "root\cimv2", "fabrikam\administrator", _
         "password", , "kerberos:WebServer")
objConnection.Security_.ImpersonationLevel = wbemImpersonationLevelDelegate

che fa?

in un contesto di user Cetto LaQualunque innalza i privilegi amministrativi per la gestione di una macchina remota. La stringa stabilisce una connessione con il repository WMI con un account amministrativo verso un webserver.
Nell'esempio si usa NOMEDOMINIO\UTENTE e da qui partono due considerazioni:

a) Se invece di un web server, indirizziamo il tutto verso un DC finiamo con il poter gestire anche active directory....

b) Se al posto di NOMEDOMINIO usiamo il NOMEHOST, abbiamo una "impersonate" degli account locali





Commenti

Post popolari in questo blog

... tre vie per bloccare un applicazione tramite GPO

AZURE: Nomi eccellenti sul marketplace

Gestire e ordinare client di WSUS 3.0 da GPO