GNU/Linux >> Linux Esercitazione >  >> Linux

Escalation dei privilegi utilizzando il file passwd

Le password sono normalmente memorizzate in /etc/shadow , che non è leggibile dagli utenti. Tuttavia, storicamente, sono stati archiviati nel file leggibile da tutti /etc/passwd insieme a tutte le informazioni sull'account. Per compatibilità con le versioni precedenti, se è presente un hash della password nella seconda colonna in /etc/passwd , ha la precedenza su quello in /etc/shadow .

Storicamente, un secondo campo vuoto in /etc/passwd significa che l'account non ha password, cioè chiunque può accedere senza password (usata per gli account guest). Questo a volte è disabilitato. Se gli account senza password sono disabilitati, puoi inserire l'hash di una password a tua scelta. Puoi usare il crypt funzione per generare gli hash delle password, ad esempio perl -le 'print crypt("foo", "aa")' per impostare la password su foo .

È possibile ottenere l'accesso root anche se puoi aggiungere solo a /etc/passwd e non sovrascrivere il contenuto. Questo perché è possibile avere più voci per lo stesso utente, purché abbiano nomi diversi:gli utenti sono identificati dal loro ID, non dal loro nome, e la caratteristica che definisce l'account root non è il suo nome ma il fatto che ha l'ID utente 0. Quindi puoi creare un account root alternativo aggiungendo una riga che dichiari un account con un altro nome, una password a tua scelta e l'ID utente 0.


Basta digitare:

echo root::0:0:root:/root:/bin/bash > /etc/passwd

su

e tu sei root.

(Rimozione di x significa che root non richiede più password, puoi usare sed comando invece di echo tuttavia questo è sufficiente per ottenere la shell di root)


Puoi utilizzare questo metodo non distruttivo:

# to generate hash of the password
openssl passwd mrcake
hKLD3431415ZE

# to create a second root user with "mrcake" password
echo "root2:WVLY0mgH0RtUI:0:0:root:/root:/bin/bash" >> /etc/passwd

# to switch to a root2
su root2
Password: mrcake 

Linux
  1. Come cambiamo la password di root?

  2. Come automatizzare i trasferimenti di file sftp utilizzando l'utilità Expect

  3. Consentire l'esecuzione automatica dei comandi come root su Linux utilizzando SSH

  4. sudo e .profile/.bashrc consentono una banale escalation dei privilegi?

  5. Recuperare la password di root

Utilizzo del file di configurazione SSH

Utilizzo di PHP-FPM con Apache su Ubuntu 16.04

Come proteggere con password un file usando Vim su Linux

Crea un elenco di parole personalizzato (file di dump del generatore di password) utilizzando Crunch

Come modificare la password di root utilizzando WHM?

Come proteggere con password i file usando l'editor Vim in Ubuntu