Durante un normale test di penna per un cliente mi sono imbattuto in una scatola con OpenSSH 7.2p1 in esecuzione.
Attraverso una ricerca su Google ho scoperto questa vulnerabilità con la precedente versione di OpenSSH
Sono andato a indagare ulteriormente. Sono stato in grado di comprendere alcuni dettagli della vulnerabilità e l'exploit stesso. Tuttavia, ho bisogno di aiuto per capire altre cose.
Ho una conoscenza di base di come funziona esattamente SSH. Questo è una risorsa che è molto in sincronia con capendo che ho.
Ora esaminando ulteriormente il problema, da quello che capisco è che sul server X11Forwarding yes
è richiesto nel file di configurazione sshd. Poiché ho accesso SSH alla scatola, ho verificato che questa condizione era soddisfatta.
Quindi la mia comprensione al riguardo è che è necessario che un account con la shell impostata su /bin/false
o un account utente con comandi forzati sia in grado di dimostrare lo sfruttamento stesso.
Inoltre, in aggiunta, l'utente sopra deve essere già autenticato. (Questa comprensione è corretta?)
Quindi sono entrato nel box e ho cercato di vedere se c'è un utente di questo tipo che soddisfi le condizioni di cui sopra.
Ho fatto un cat /etc/passwd | grep /bin/false
e ha estratto un elenco di utenti con la shell impostata su / bin / false. Uno di questi utenti era l'utente denominato mongodb
, che aveva la directory home impostata su /home/mongodb
e inoltre era protetta da una password come indicato da x
nel file passwd
.
Ho letto dell'installazione di mongodb e sono venuto a sapere che viene installato con il proprio utente.
Ora qualcosa che ho bisogno di aiuto con la comprensione:
- A che cosa serve questo utente di
mongodb
? Ho guardato in modo approfondito / home e non sono riuscito a trovare una directory home per questo utente nonostante fosse menzionato nel file passwd. - Come e quando viene autenticato questo utente?
- C'è un modo in cui quando questo utente si autentica con il sistema, può essere sfruttato per sfruttare il bug di injection xauth di comando autenticato da OpenSSH?
Per favore perdonami la mia scarsa comprensione degli utenti Linux o SSH e fammi sapere se ci sono risorse che potrebbero aiutarmi a capire meglio queste basi.