Informazioni su servizi Windows e Gestione controllo servizi

1

Stavo studiando i servizi di Windows, quando ho saputo che quando un account diverso da Local System viene utilizzato per eseguire il servizio, SCM concede automaticamente all'account determinati privilegi di sicurezza come SeServiceLogon right e SeTcbPrivlige, beh, lo capisco ha bisogno di accesso al servizio, ma quali sono i diritti TcbPrivilege? Perché è necessario?

Inoltre, se il servizio è di interagire con il desktop, vengono concessi altri quattro privilegi come creare il privilegio di token, assegnare privilegi di token primario ecc. Spiegare perché è necessario?

    
posta raven 01.10.2014 - 10:52
fonte

1 risposta

4

TL; TR

Questo privilegio può essere utilizzato per creare ed eseguire processi con un altro utente (incluso SYSTEM ) dati i token di accesso appropriati per quell'utente.

SeTcbPrivilege

I servizi di Windows sono programmi eseguiti in background per eseguire le operazioni necessarie affinché il sistema operativo funzioni. Quando dici "" quando un account diverso da Local System viene utilizzato per eseguire il servizio, lo SCM assegna automaticamente all'account determinati privilegi di sicurezza ", è opportuno notare che i servizi possono essere avviati solo dai seguenti tre Account utente di servizio :

  • Sistema
  • Servizio di rete
  • Servizio locale

Ciò significa che per eseguire un servizio Windows è necessario disporre già dei privilegi di uno di questi tre "utenti". System è essenzialmente un amministratore e gli altri due sono gruppi di utenti di livello piuttosto elevato.

Da MSDN:

C++ constant: SE_TCB_NAME string: SeTcbPrivilege

Scripting short name: Tcb

Required to act as part of the operating system. The holder is part of the trusted computer base.

I servizi sono estensioni del sistema operativo, quindi non sorprende che SCM dia questo privilegio di default ai servizi. Il privilegio Base computer di fiducia consente l'accesso ai driver dei dispositivi hardware e / o ai componenti software considerati la "base" della sicurezza del computer (cioè il sistema operativo).

Un altro estratto di Microsoft:

Allows a process to authenticate like a user and thus gain access to the same resources as a user. Only low-level authentication services should require this privilege.

In altre parole ciò consente a un processo di impersonare un utente. Questo significa che puoi eseguire cose come SYSTEM . So che i suoni impersonali sono terribili, ma c'è un meccanismo costruito in Windows per "impersonare gli utenti". Ecco come Run as Administrator svolge i suoi compiti. Tuttavia, per concedere questo privilegio è necessario fornire le credenziali dell'amministratore in qualche modo. Se il malware è già al punto di essere in grado di assegnarsi questo permesso / privilegio, allora hai già un sacco di problemi.

Token di accesso

I token di accesso sono un modo per consentire a thread / processi / utenti di accedere a determinate parti del sistema operativo. I token di sicurezza vengono passati a quasi tutte le funzioni di livello inferiore utilizzate in Windows. Poiché i servizi sono generalmente in esecuzione con privilegi più elevati, vengono concessi i privilegi per la creazione di token di accesso. Quando interagiscono con il desktop, probabilmente interagiscono con oggetti a livello utente. Avranno bisogno di accedere, modificare e creare token per questo.

Tutto questo comportamento non è fuori dall'ordinario. I servizi sono programmi di basso livello con elevati privilegi di sistema. I privilegi che menzioni sono tutti i privilegi standard per i servizi. Un sacco di malware tenterà di impersonare, o utilizzare servizi per ottenere l'accesso al sistema a causa di questo. Vedi la mia risposta qui per ulteriori informazioni su tale argomento.

    
risposta data 01.10.2014 - 13:35
fonte

Leggi altre domande sui tag