Esiste un modo per sovrascrivere un file utilizzato da un servizio senza autorizzazioni di gestione del servizio?

1

Sto cercando di dimostrare un exploit e qui è lo scenario:

Un servizio è in esecuzione con i privilegi di SISTEMA in cui l'eseguibile che sta eseguendo (binpath) può essere modificato da qualsiasi utente. L'exploit consiste nel sostituire il binario di destinazione con uno maligno in modo tale che all'avvio della macchina l'eseguibile malevolo sia lanciato con i privilegi di SISTEMA invece di quello originale. Il problema, tuttavia, è che il servizio binario non può essere sostituito poiché viene utilizzato dal servizio in questione mentre il computer è in esecuzione. In genere solo gli amministratori possono interrompere i servizi, quindi interrompere il servizio prima di cambiare i binari renderebbe il tipo di demo moot.

La mia domanda è:

C'è un modo per sostituire il binario (con il quale dispongo di permessi completi) senza autorizzazioni per interrompere il servizio?

    
posta trallgorm 17.09.2018 - 17:38
fonte

3 risposte

2

In generale, i binari possono essere rinominati mentre sono in esecuzione, a meno che il processo (o qualche altro processo) non preveda esplicitamente questo. Basta rinominare il file binario e quindi rilasciare uno malevolo con il vecchio nome. Quando il computer si riavvia (o il servizio si riavvia), verrà eseguita la tua versione.

Un altro approccio è l'impianto di DLL. Trova una DLL che l'app utilizza (idealmente non una DLL di sistema, e sicuramente non una che viene caricata solo come file di risorse) che non viene caricata dal percorso esplicito e sostituiscila con una versione malevola. Puoi utilizzare il trucco di rinomina sopra menzionato, o semplicemente prendere una DLL che viene normalmente caricata da un'altra posizione (come System32) e inserire la tua copia dannosa nella directory di installazione del servizio (o nella directory di lavoro, se diversa è scrivibile).

In realtà questo tipo di arma è lasciato al lettore, naturalmente, ma penso che sia importante pubblicare questa risposta perché molte persone non si rendono conto che l'esecuzione di un binario di Windows non NON impediscono intrinsecamente che il binario venga rinominato.

    
risposta data 18.09.2018 - 10:26
fonte
0

Da una prospettiva infosec, sì, ci sono diversi modi per farlo a seconda del livello di accesso al server. Non è possibile considerare attendibili i binari per rimanere statici una volta installati e quindi HIPS / HIDS o whitelisting sono importanti livelli di difesa.

Le autorizzazioni errate sull'eseguibile consentono già a chiunque di sovrascriverlo se il servizio si arresta normalmente o si arresta in modo anomalo.

Poiché questo sito scoraggia domande / risposte che facilitano l'uso inappropriato, non entrerò nei dettagli su altri metodi. Questa domanda è un eccellente esempio del perché la difesa in profondità e la minaccia da insider sono principi di sicurezza di base.

    
risposta data 18.09.2018 - 00:25
fonte
0

Bene, hai bisogno di sovrascrivere il file in primo luogo?

  • Il percorso binario ha spazi e ampli; è non quotato?
  • Il servizio ti consente di eseguire il dirottamento delle DLL?

È possibile arrestare il servizio, il sistema operativo o eseguire un ripristino del sistema in modo che le opzioni sopra elencate siano ancora valide?

    
risposta data 18.09.2018 - 01:44
fonte

Leggi altre domande sui tag