Annota la password in chiaro scritta nella directory / tmp

3

Recentemente ho letto di Ansible e del modo in cui gestisce le password sudo. Più in particolare:

When using become_user to a user other than root, the module arguments are briefly written into a random tempfile in /tmp. These are deleted immediately after the command is executed. This only occurs when changing privileges from a user like ‘bob’ to ‘timmy’, not when going from ‘bob’ to ‘root’, or logging in directly as ‘bob’ or ‘root’. If it concerns you that this data is briefly readable (not writable), avoid transferring unencrypted passwords with become_user set. In other cases, /tmp is not used and this does not come into play. Ansible also takes care to not log password parameters.

Non è questo un rischio per la sicurezza? Un utente non privilegiato può scrivere uno script watchdog che annusa il contenuto dei file appena creati nella directory / tmp?

    
posta bergercookie 09.04.2017 - 00:21
fonte

2 risposte

3

Un possibile attaccante può anche usare il meccanismo inotify del kernel di linux per tracciare gli eventi del filesystem nella directory /tmp .

Se viene creato un nuovo file, creare anche un collegamento fisico a questo file. Risulterà che il file sarà ancora presente sul disco rigido, anche dopo che il software attaccato pensa che sia già stato eliminato.

Questa è una soluzione orientata agli eventi, che avviene sul posto dopo la creazione del file, è invisibile per il software attaccato, e ottenere l'evento e creare il collegamento richiede solo 2 chiamate al kernel. È più veloce di qualsiasi cosa possa fare il software attaccato.

Il codice richiesto è di circa 30 righe in C. La maggior parte dei rootkit probabilmente contiene questa funzionalità, ma in un ambiente non indurito non è necessario il root per questo.

    
risposta data 09.04.2017 - 03:26
fonte
1

Sì, se conoscessi il nome del file che stai scrivendo potresti scrivere un semplice ciclo per tentare rapidamente una lettura del file. Se il nome del file è casuale, è necessario calcolare l'algoritmo utilizzato dal software per ricavare il nome del file o tentare di eseguire rapidamente una statistica e quindi copiare o leggere i file in / tmp.

Se è possibile forzare il software a eseguire questa operazione in successione, si passa a una condizione di competizione tra forzare l'azione e leggere il file. Ciò aumenterebbe la probabilità di successo.

    
risposta data 09.04.2017 - 00:30
fonte

Leggi altre domande sui tag