Δευτέρα, 23 Οκτώβριος 2017, 11:04 πμ

Seagate: Zero-Day ευπάθεια σε NAS προϊόντα της

seagate vulnerability

Η δημοφιλής εταιρεία πώλησης hardware Seagate έχει μια σοβαρή ευπάθεια zero-day στις Network Attached Storage (NAS) συσκευές της, που πιθανότατα άφησε αρκετούς χιλιάδες πελάτες της ευάλωτους σε επιθέσεις hacker.

Το προϊόν της Business Storage 2-Bay NAS, που χρησιμοποιείται τόσο σε οικιακά όσο και επαγγελματικά δίκτυα, παρουσιάζει ευπάθεια τύπου zero-day Remote Code Execution, που επί του παρόντος επηρεάζει περισσότερες από 2.500 συσκευές εκτεθειμένες στο public Διαδίκτυο.

Η Seagate είναι η δεύτερη μεγαλύτερη εταιρεία παγκοσμίως που εξειδικεύεται σε λύσεις αποθήκευσης, μετά την Western Digital.

Ο ερευνητής ασφαλείας Oj Reeves ανακάλυψε την ευπάθεια στις 7 Οκτωβρίου του 2014 και ενημέρωσε σχετικά στην εταιρεία Seagate με καλή θέληση (white hat). Ακόμα, όμως, και μετά από 130 μέρες, το zero-day bug παραμένει, χωρίς η εταιρεία να έχει προχωρήσει στη δημοσίευση κάποιου patch.

Για να εκμεταλλευθεί κάποιος την ευπάθεια, θα πρέπει να βρίσκεται στο ίδιο δίκτυο με την εκτεθειμένη συσκευή, ώστε να μπορεί να έχει πρόσβαση επιπέδου root, χωρίς τη χρήση κάποιου κωδικού πρόσβασης. Ο Reeves επίσης δημιούργησε ένα exploit σε γλώσσα python μαζί με την αντίστοιχη έκδοση Metasploit, που είναι διαθέσιμο στο Github.

Προέλευση της ευπάθειας Zero-Day

Τα προϊόντα Business Storage 2-Bay NAS της Seagate συνοδεύονται από μια εφαρμογή διαχείρισης μέσω web, που επιτρέπει στους διαχειριστές να ρυθμίζουν λειτουργίες της συσκευής, όπως προσθήκη χρηστών, έλεγχο εισόδου, διαχείριση αρχείων και πολλά άλλα.

Η web εφαρμογή κατασκευάστηκε με τρεις βασικές τεχνολογίες: την PHP version 5.2.13, το CodeIgniter version 2.1.0 και το Lighttpd version 1.4.28. Και οι τρεις είναι απαρχαιωμένες.

Ειδικότερα:

  • Η έκδοση 5.2.13 της PHP παρουσιάζει ευπάθεια (CVE-2006-7243) που επιτρέπει στα user-controlled δεδομένα να τερματίζουν πρώιμα τις διαδρομές των αρχείων, επιτρέποντας έτσι τον πλήρη έλεγχο της επέκτασης του αρχείου.
  • Η έκδοση 2.2.0 του CodeIgniter παρουσιάζει ευπάθεια (CVE-2014-8686) που επιτρέπει σε έναν επιτιθέμενο να εξάγει το κλειδί κρυπτογράφησης και να αποκρυπτογραφήσει το περιεχόμενο ενός cookie. Μόλις το αποκρυπτογραφήσει, ο επιτιθέμενος μπορεί να τροποποιήσει το περιεχόμενό του και να το κρυπτογραφήσει ξανά, τοποθετώντας το ξανά στον server.

Για την αυθεντικοποίηση του χρήστη, η web εφαρμογή λαμβάνει υπόψη της τα cookies του browser, και συγκεκριμένα τις τρεις ακόλουθες παραμέτρους:

  • username: το όνομα χρήστη που χρησιμοποιήθηκε
  • is_admin: αν ο χρήστης είναι διαχειριστής ή όχι
  • language: τη γλώσσα που έχει επιλέξει

Ο ερευνητής εξήγησε ότι δεν υπάρχει περαιτέρω επικύρωση των credentials του χρήστη από την πλευρά του server μόλις δημιουργηθεί το cookie με το username, κάτι που σημαίνει ότι ένας επιτιθέμενος θα μπορούσε εύκολα να δημιουργήσει ένα ψεύτικο.

Η παράμετρος “is admin” μπορεί να ρυθμιστεί στο “Yes”, ώστε ο επιτιθέμενος να αποκτήσει δικαιώματα – προνόμια διαχειριστή στην web εφαρμογή.

Πρακτικά, αν ο χρήστης κάνει login ως admin σε ένα instance, μπορεί να είναι admin σε οποιοδήποτε άλλο instance, αφού σε όλα τα instance χρησιμοποιείται το ίδιο κλειδί κρυπτογράφησης του στατικού session.

Η παράμετρος της γλώσσας μπορεί να βοηθήσει κάποιον να εκμεταλλευθεί μια local file inclusion ευπάθεια. Τέλος, η web εφαρμογή εκτελείται σε ένα instance του Lighttpd που τρέχει σε επίπεδο root χρήστη.

Όταν ο επιτιθέμενος αποστείλει ένα request με το cookie που έχει «κατασκευάσει», αυτό οδηγεί σε μια αυθαίρετη εκτέλεση κώδικα όπου ο επιτιθέμενος γίνεται root χρήστης. Άρα, αν ο επιτιθέμενος εκμεταλλευθεί σωστά την ευπάθεια, μπορεί να αποκτήσει τον έλεγχο της συσκευής με δικαιώματα root χρήστη.

Ποια προϊόντα παρουσιάζουν ευπάθειες;

Δύο διαφορετικές συσκευές network storage που κατασκευάζονται από τη Seagate φαίνεται ότι έχουν πρόβλημα:

  • Business Storage 2-Bay NAS version 2014.00319
  • Business Storage 2-Bay NAS version 2013.60311

Δεν αποκλείεται όμως πρόβλημα να παρουσιάζουν και όλες οι εκδόσεις του Business Storage 2-Bay NAS της Seagate πριν την 2014.00319.

Διαθέσιμο Metasploit module

Στο Github υπάρχουν διαθέσιμα το Metasploit module και το Python script που επιτρέπουν σε κάποιον να εκμεταλλευθεί την ευπάθεια των συσκευών. Κάθε ένα από τα scripts είναι ικανό να πραγματοποιήσει τα ακόλουθα:

  • Συνδέεται στην προβληματική NAS συσκευή και εξάγει το ci_session cookie.
  • Αποκρυπτογραφεί το cookie χρησιμοποιώντας στο στατικό κλειδί κρυπτογράφησης και εξάγει το PHP hash.
  • Τροποποιεί το σειριοποιημένο PHP hash ώστε η τιμή του username να είναι admin και το “is_admin” πεδίο να περιέχει την τιμή “yes”.
  • Κρυπτογραφεί την ενημερωμένη PHP hash ώστε να είναι έτοιμη να χρησιμοποιηθεί ως ci_session cookie.
  • Εκτελεί ένα request για εξαγωγή της παραμετροποίησης του host, που περιλαμβάνει την περιγραφή της συσκευής.
  • Τροποποιεί το configuration του host, ώστε η περιγραφή της συσκευής να περιλαμβάνει ένα μικρό ψεύτικο payload.
  • Εκτελεί ένα request για να ενημερώσει το configuration του host με τα νέα δεδομένα, ώστε το ψεύτικο payload να γραφτεί στο /etc/devicedesc.
  • Τροποποιεί ξανά το PHP hash, ώστε η παράμετρος της γλώσσας να περιέχει την τιμή ../../../../etc/devicedesc\x00.
  • Κρυπτογραφεί το νέο PHP hash που είναι έτοιμη για μελλοντική χρήση ως ci_sesion cookie.
  • Πραγματοποιεί ένα request στο NAS χρησιμοποιώντας το cookie που δημιουργήθηκε στο προηγούμενο βήμα, που καλεί το ψεύτικο payload που γράφτηκε νωρίτερα στο δίσκο. Με αυτό το request γίνεται post ενός μεγαλύτερου payload, που γράφεται στο δίσκο στον κατάλογο root του web server.
  • Εκτελεί ακόμα ένα request που κάνει reset την παραμετροποίηση του host στην προηγούμενη – αρχική κατάσταση.

Σύμφωνα με τον Reeves, δεν υπήρξε ενημερωμένη έκδοση με τα αναγκαία patches για το συγκεκριμένο λογισμικό, παρά την επίμονη επικοινωνία του με την Seagate.

Τι πρέπει να κάνετε;

Αν χρησιμοποιείτε τα προϊόντα Business Storage NAS της Seagate, τότε θα πρέπει βεβαιωθείτε ότι οι συσκευές σας δεν είναι προσβάσιμες μέσω του public Διαδικτύου και ότι βρίσκονται πίσω από firewall που έχουν παραμετροποιηθεί ώστε μόνο συγκεκριμένες έμπιστες IP διευθύνσεις να μπορούν να συνδέονται στο web interface.

Δείτε επίσης:

Ένα εργαλείο αποκρυπτογράφησης αρχείων που έχουν μολυνθεί από το WannaCry ransomware κοινοποίησε χθες η Europol μέσω του λογαριασμού που διατηρεί ο οργανισμός στο Twitter. Η λύση ακούει στο όνομα WanaKiwi και φαίνεται ότι λειτουργεί ικανοποιητικά σε ένα μεγάλο ποσοστό περιπτώσεων.

WanaKiwi: Βρέθηκε λύση για το WannaCry ransomware

Ένα εργαλείο αποκρυπτογράφησης αρχείων που έχουν μολυνθεί από το WannaCry ransomware κοινοποίησε χθες η Europol …