Usando 'sudo vim' per generare una shell

5

Recentemente ho letto qui una risposta di un utente sul modo in cui ha hackerato un server in un concorso CTF. Ad un certo punto nella descrizione, ha detto che ha fatto sudo vim e poi generato una shell tramite VIM usando la password che ha catturato prima (suppongo che abbia fatto :!bash in vim).

Sono un po 'confuso perché ha usato questo specifico vettore per generare una shell ... Avrebbe potuto semplicemente eseguire un sudo bash . Perché usare Vim per fare questo?

    
posta Tiago 12.04.2013 - 13:00
fonte

2 risposte

9

Una possibilità è che sudo è stato configurato per eseguire solo determinate applicazioni - puoi trovare esempi di questo nel manuale sudo .

Se uno di questi era vim , ma bash non era un'opzione allora l'utente non poteva eseguire sudo -i o sudo bash ma sarebbe in grado di eseguire sudo vim . Tuttavia, una volta fatto, vim avrebbe un efficace uid / gid di 0/0 e abbastanza felicemente ti permetterà di eseguire una shell bash di base.

Questo significa, come ti aspetteresti, che puoi effettivamente modificare il file sudoers per rimuovere quella restrizione.

Naturalmente, un'altra cosa da notare su questo trucco è la mancanza di registrazione. Sudo ha eseguito vim, e registrerà questo fatto, ma non registrerà tutti i processi che vim sceglie di generare dopo quello! Quindi, anche se non sei limitato nell'esecuzione della shell, questo è un modo per mascherare quello che stai facendo.

    
risposta data 12.04.2013 - 13:17
fonte
2

Puoi limitare i comandi che un utente sudo può eseguire nel file sudoers, l'apertura di una shell tramite vim sarebbe un modo per aggirarlo. VIM non è spesso limitato perché le autorizzazioni di file e directory limitano il danno che si può fare con esso, quindi è una scelta ideale per l'esecuzione di una shell illecita.

    
risposta data 12.04.2013 - 13:40
fonte

Leggi altre domande sui tag