SSH Accesso tramite chiavi private

1

Sto cercando di praticare l'hacking etico nel mio laboratorio. Ho una shell limitata in una scatola fedora, inoltre sono in grado di leggere i file root come / etc / shadow attraverso un'altra vulnerabilità.

Ora, ho bisogno di ottenere il root della scatola, ho cercato di rompere l'hash di root in / etc / shadow ma senza fortuna. Mi sembra di entrare usando le chiavi ssh.

Sono riuscito a ottenere il contenuto di /root/.ssh/authorized_keys e ho pensato che posso usarlo per l'autenticazione senza password. tuttavia, quando ho emesso il seguente comando:

     root@kali:~/Desktop# ssh -o BatchMode=yes -i ~/Desktop/x.pem [email protected]

Autorizzazione negata (chiave pubblica, gssapi-con-mic, password).

Ho ricevuto l'errore sopra - dove x.pem è solo un file che ho usato per salvare una copia della chiave trovata in authorized_keys così come è nella macchina vittima. qualche idea qual è il problema? o un altro modo suggerito per ottenere i privilegi di root?

Grazie

    
posta Ahmed Taher 14.10.2013 - 22:53
fonte

2 risposte

5

~/.ssh/authorized_keys contiene la chiave pubblica, per accedere è necessaria la chiave privata corrispondente. Le chiavi private di solito sono come ~/.ssh/id_rsa , ~/.ssh/id_dsa , ~/.ssh/something.id_rsa , ecc.

Purtroppo non hai inserito abbastanza informazioni sui privilegi che hai esattamente / sulle possibilità offerte dalla tua vulnerabilità (puoi leggere solo i file come root, puoi eseguire qualcosa come root?).

    
risposta data 14.10.2013 - 23:04
fonte
2

Come sottolinea @RSchulze, è necessaria la chiave privata per accedere, non la chiave pubblica. In particolare, il server sshd concederà l'accesso se il client dimostra il controllo (calcolando una firma su una sfida) della chiave privata corrispondente a una delle chiavi pubbliche memorizzate in .ssh/authorized_keys .

Nota che questo implica che se puoi scrivere in .ssh/authorized_keys , non solo leggerlo, puoi inserire qui una chiave pubblica di tua scelta, ad es. uno per cui conosci la chiave privata (perché l'hai generata). In alternativa, se questa casella era destinata a essere hackerata per scopi didattici, allora è possibile che ci sia una chiave pubblica debole nel .ssh/authorized_keys messo lì apposta (dipende dal fatto che chi ha installato questo sistema volesse educarti in modo specifico alla crittografia ).

Si noti inoltre che in molti sistemi, il login di root tramite SSH è disattivato. Vedi il file /etc/ssh/sshd_config ; questa è l'opzione PermitRootLogin . Potresti volerlo controllare prima di proseguire su questa strada. Anche se l'utente root locale ha un .ssh/authorized_keys , probabilmente l'accesso root è permesso (il file non avrebbe molto senso altrimenti).

    
risposta data 15.10.2013 - 14:37
fonte

Leggi altre domande sui tag