Esecuzione di programmi e script con privilegi amministrativi

Talvolta può succedere che un utente senza privilegi amministrativi debba eseguire programmi o script con privilegi amministrativi ma non deve conoscere le credenziali amministrative e quindi la funzionalità “Esegui come” non può essere applicata in questi scenari. Si pensi ad esempio a normali utenti che debbano ad esempio poter riavviare un servizio o eseguire attività che richiedono diritti amministrativi per risolvere issue in via temporanea, un esempio classico è il riavvio dello spooler di stampa necessario a causa di problemi nel driver per cui non è ancora disponibile un aggiornamento che risolva i problemi.

Metodo 1: Utilizzare un’operazione pianificata

Un primo approccio può essere quello di creare un’operazione pianifica che esegue l’o script o l’applicazione con un utente amministrativo tramite l’account di sistema “NT Authority\System”. Tramite questo approccio non è però possibile eseguire applicazioni che prevedano interfaccia grafica, ma sono applicazioni a riga di comando o script.

Per creare un’operazione pianificata che esegue applicazioni o script con privilegi amministrativi da un utente senza privilegi amministrativi è possibile seguire la procedura illustrata di seguito.

Passo 1: Creare l’operazione pianificata dall’utente senza privilegi amministrativi, in questo modo l’operazione pianificata potrà essere eseguita dall’utente:

Passo 2: Aprire la gestione delle operazioni pianificate da un utente con privilegi amministrativi per impostarla in modo che possa eseguire lo script o l’applicazione con privilegi elevati tramite l’utente “NT Authority\System”:

Passo 3 creare uno script per l’avvio dell’operazione schedulata in modo che possa essere eseguita in modo rapida dall’utente senza dover aprire la gestione delle operazioni pianificate tramite il comando:

schtasks /run /tn “Riavvio Spooler”

Metodo 2: Utilizzare un tool per l’esecuzione di applicazioni e script tramite credenziali differenti

Tramite questo approccio dovrebbe anche essere essere possibile eseguire applicazioni che prevedano interfaccia grafica oltre ad applicazioni a riga di comando e script. Ovviamente va precisato che questi tool di solito si basano sulla memorizzazione di credenziali amministrative e quindi occorre prima analizzare gli aspetti di sicurezza di questi tool approfondendo il loro funzionamento.

Un esempio di questi tool è RunAsTool freeware e portable che al momento è disponibile in versione 1.0 e anche se è stato sviluppato nel 2015 può essere eseguito in Windows 10 oltre che in Windows 8.1 ,Windows 8 , Windows 7 , Windows Vista e Windows Xp.

 

Un altro tool interessante è Ruast (RunAs Taskbar) anch’esso portable e Open Sorce che permette di realizzare una Taskbar composta dai bottoni che avviano le applicazioni, i comandi e gli scripts che si desidera, quindi se si esegue Ruast con privilegi amministrativi le applicazioni, i comandi e gli scripts saranno anch’essi avviati con privilegi amministrativi.

Quindi per consentire all’utente di avere rapidamente disponibili applicazioni e scripts da eseguire in base alle necessità con privilegi amministrativi è possibile configurare un’operazione pianificata che esegue Ruast al logon dell’utente con privilegi amministrativi in modo analogo a quanto descritto nel Metodo 1.

Considerazioni

Sebbene l’esecuzione di applicazioni o script con privilegi amministrativi possa essere comodo per utente normale, va considerato che questo può comportare problemi di sicurezza in quanto l’utente potrebbe avere accesso a funzionalità che non gli sono necessarie tramite cui potrebbe modificare le configurazione del sistema. Oppure l’utente potrebbe essere oggetto di un attacco e la possibilità di eseguire applicazioni o script con privilegi amministrativi potrebbe essere sfruttata da un attaccante per eseguire privilege escalation.

Quindi occorre prestare attenzione ai seguenti aspetti:

  • Permette l’esecuzione tramite privilegi amministrativi delle sole funzionalità necessarie, quindi se non necessario evitare di concedere l’utilizzo di applicazioni o tool (come ad esempio prompt dei comandi e regedit), ma se possibile creare script appositi.
  • Bloccare la possibilità che l’utente possa modificare gli script o sostituire le applicazioni che vengono eseguiti con privilegi amministrativi