Posso confrontare le autorizzazioni utente di Linux senza accesso root?

7

Ho compromesso due account utente Linux su una macchina RHEL (nessuno dei quali ha i permessi di root) e voglio determinare quale account è più 'utile' per me in termini di accesso e privilegi. Esiste un modo per confrontare rapidamente e facilmente le autorizzazioni / l'accesso tra questi due account?

    
posta NULLZ 10.09.2013 - 03:26
fonte

2 risposte

6

Esegui sudo -l come utente per vedere quali privilegi supplementari l'utente può ottenere eseguendo sudo . Dovrai conoscere o raccogliere la password dell'utente per utilizzare questi privilegi, a meno che una delle regole sudoers sia codificata NOPASSWD .

Esegui id per vedere a quali gruppi appartiene l'utente. Potresti quindi guardarti intorno per vedere cosa valgono questi gruppi .

Questi due sono metodi comuni per aumentare l'accesso e semplificare il confronto. Qui ci sono alcune altre aree che puoi guardare con più lavoro necessario per ottenere risultati utili.

Guardati intorno per vedere a quali file può accedere l'utente. Le autorizzazioni possono essere concesse tramite gli elenchi di controllo di accesso, non solo la proprietà e l'appartenenza al gruppo. I seguenti comandi elencano i file che sono rispettivamente leggibili, scrivibili ed eseguibili dall'utente ma non da tutti gli utenti. I primi due escludono la home directory dell'utente (dove non è sorprendente avere file a cui altri non possono accedere), mentre la terza individua solo gli eseguibili setuid / setgid. Questi comandi funzionano solo sul filesystem di root, aggiungono altri percorsi se ci sono più filesystem montati (o rimuovi -xdev ed escludi /proc e forse /sys ).

find -xdev / -path ~ -prune -o -readable ! -perm -a+r
find -xdev / -path ~ -prune -o -writable
find -xdev / -perm /u+s,g+s -executable ! -perm -a+x

Controlla il log dell'utente e i file di configurazione per vedere che tipo di cose relative all'amministrazione hanno fatto: comandi di shell in ~/.bash_history (o altri file in base alla scelta di shell e configurazione dell'utente), alias in ~/.bashrc (allo stesso modo, o altri file), script in ~/bin , ...

Controlla se l'utente ha chiavi SSH (in ~/.ssh/ ) che puoi usare per aumentare l'accesso ad altre macchine (o occasionalmente ad altri account sulla stessa macchina). Potresti essere in grado di vedere quali siti l'utente ha effettuato l'accesso controllando ~/.ssh/known_hosts , ma per impostazione predefinita gli indirizzi vengono sottoposti a hash, quindi puoi solo verificare le ipotesi.

Se si tratta di un computer desktop, verificare la presenza di un gestore di password in esecuzione. È improbabile che ne trovi uno su un server, ma invece controlli la presenza di una connessione SSH esistente che potresti essere in grado di utilizzare (ad esempio tramite l'inoltro X11).

Le e-mail possono anche dare un indizio. Verifica a chi sono indirizzate le email amministrative ( /etc/aliases ) e chi ha una cassetta postale locale in /var/mail o /var/spool/mail .

    
risposta data 10.09.2013 - 17:14
fonte
4

Verifica in quali gruppi è presente l'utente. Verifica a quali gruppi hanno accesso con

find / -group yourgroup

Puoi anche ottenere tutti i file utilizzati da un singolo utente utilizzando

find / -user user

Ora confronta questi risultati. Da qui prova a vedere quali file in /etc e /var sono leggibili in tutto il mondo. Cerca di vedere se c'è qualcosa di interessante anche nei log (se puoi accedervi).

    
risposta data 10.09.2013 - 08:08
fonte

Leggi altre domande sui tag