Πίνακας περιεχομένων:
Βίντεο: Privacy, Security, Society - Computer Science for Business Leaders 2016 2024
Στην περίπτωση αυτή, ο Chip Andrews, ειδικός στην ασφάλεια του SQL Server, μοιράστηκε αυτή την εμπειρία (ηθικής) βάσης δεδομένων για να αποκαλύψουν τα ελαττώματα ασφαλείας. Αυτό το παράδειγμα παρέχει μια προειδοποιητική ιστορία για να προστατεύσει τις σημαντικές πληροφορίες σας, επιμένοντας στην καλή ασφάλεια της βάσης δεδομένων.
Η κατάσταση
Κατά τη διάρκεια μιας δοκιμής διείσδυσης ρουτίνας, ο κ. Andrews πραγματοποίησε τις υποχρεωτικές αναζητήσεις στο Google, την έρευνα ονομάτων τομέα, την αποτύπωση δακτυλικών αποτυπωμάτων του λειτουργικού συστήματος και τις ανιχνεύσεις θυρών, αλλά ο συγκεκριμένος ιστότοπος ήταν κλειστός. Προχωρώντας στην εφαρμογή που βασίζεται στον ιστό που εκτελείται στο σύστημα, αντιμετώπισε αμέσως μια σελίδα σύνδεσης χρησιμοποιώντας κρυπτογραφημένο έλεγχο ταυτότητας μορφής SSL.
Ελέγχοντας την πηγή της ιστοσελίδας, διαπίστωσε ότι ένα κρυφό πεδίο App_Name μεταβιβάστηκε στην εφαρμογή όποτε ένας χρήστης προσπάθησε να συνδεθεί στον ιστότοπο. Μήπως οι προγραμματιστές ίσως δεν κατάφεραν να εκτελέσουν σωστή επικύρωση εισόδου σε αυτήν την παράμετρο αθώου εμφάνισης; Το κυνήγι ήταν επάνω.
Το αποτέλεσμα
Πρώτον, ήρθε η ώρα να συγκεντρωθεί η εργαλειοθήκη. Κατά τη διάρκεια αυτού του τεστ διείσδυσης, ο κ. Andrews προτίμησε να χρησιμοποιήσει τα εξής: Paros Proxy, Absinthe, Cain & Abel, Thief Data και το Microsoft SQL Server Management Studio / SQL Server (Express Edition).
Για αρχάριους, χρησιμοποίησε το Proxy Proxy για να επιτρέψει τον μεγαλύτερο έλεγχο και την προβολή των αιτημάτων ιστού που γίνονται στον web server.
Αφού σπάσει τον ιστότοπο για διαθέσιμες σελίδες και διενεργήσει γρήγορο έλεγχο ευπάθειας για ένεση SQL, επιβεβαιώθηκε ότι η παράμετρος App_Name φαίνεται να προκαλεί στην εφαρμογή να ρίξει μια εξαίρεση του Error 500, υποδεικνύοντας μια αποτυχία εφαρμογής. Οι δοκιμές διείσδυσης είναι μία από τις σπάνιες περιπτώσεις όπου μια αποτυχία εφαρμογής είναι επιθυμητό αποτέλεσμα.
Επειδή η αποτυχία της εφαρμογής έδειξε ότι ο κ. Andrews μπορούσε να εισάγει ανεπιθύμητους χαρακτήρες στον κώδικα SQL που αποστέλλεται από την εφαρμογή στη βάση δεδομένων, μπορούσε να δει αν ήταν μια εκμεταλλεύσιμη κατάσταση.
Μια κοινή δοκιμή που λειτουργεί με βάσεις δεδομένων του Microsoft SQL Server είναι η έγχυση μιας εντολής, όπως WAITFOR DELAY '00: 00: 10 ', η οποία αναγκάζει τον διακομιστή βάσης δεδομένων να σταματήσει για 10 δευτερόλεπτα. Σε μια εφαρμογή που συνήθως επιστρέφει μια σελίδα σε ένα δευτερόλεπτο ή λιγότερο, μια συνεχής καθυστέρηση 10 δευτερολέπτων είναι μια καλή ένδειξη ότι μπορείτε να εισάγετε εντολές στη ροή SQL.
Στη συνέχεια, ο κ. Andrews προσπάθησε να χρησιμοποιήσει το εργαλείο κλέφτης δεδομένων για να επιτεθεί στη σελίδα σύνδεσης.Αυτό το εργαλείο επιχειρεί να αναγκάσει τη βάση δεδομένων να χρησιμοποιήσει μια εντολή OPENROWSET για την αντιγραφή δεδομένων από τη βάση δεδομένων προορισμού στη βάση δεδομένων του κ. Andrews που βρίσκεται στο Internet.
Αυτός είναι συνήθως ένας πολύ αποτελεσματικός τρόπος για να συγκεντρωθούν μεγάλα ποσά δεδομένων από ευάλωτες βάσεις δεδομένων, αλλά σε αυτή την περίπτωση, η επίθεσή του εξουδετερώθηκε! Ο διαχειριστής της βάσης δεδομένων στο στόχο είχε απενεργοποιήσει τη λειτουργία OPENROWSET ρυθμίζοντας σωστά την επιλογή Disable Adhoc Distributed Queries.
Με επιμέλεια ως σύνθημα, ο κ. Andrews συνέχισε με το επόμενο εργαλείο - Absinthe. Αυτό το εργαλείο χρησιμοποιεί μια τεχνική που ονομάζεται τυφλή SQL ένεση για να κάνει προσδιορισμούς δεδομένων χρησιμοποιώντας απλά ναι ή όχι ερωτήσεις της βάσης δεδομένων. Για παράδειγμα, το εργαλείο μπορεί να ζητήσει από τη βάση δεδομένων αν το πρώτο γράμμα ενός πίνακα είναι μικρότερο από "L. "
Αν ναι, η εφαρμογή μπορεί να μην κάνει τίποτα, αλλά αν όχι, η εφαρμογή μπορεί να κάνει εξαίρεση. Χρησιμοποιώντας αυτή την απλή δυαδική λογική, είναι δυνατόν να χρησιμοποιήσετε αυτήν την τεχνική για να αποκαλύψετε ολόκληρη τη δομή της βάσης δεδομένων και ακόμη και τα δεδομένα που είναι αποθηκευμένα μέσα - αν και πολύ αργά. Χρησιμοποιώντας το εργαλείο, εντόπισε έναν πίνακα ευαίσθητων πληροφοριών πελατών και κατέβαλε αρκετές εκατοντάδες εγγραφές για να δείξει στον πελάτη.
Τέλος, ήρθε η ώρα να επιχειρήσουμε μια τελευταία πράξη απροσεξίας της βάσης δεδομένων. Κατ 'αρχάς, ο κ. Andrews φόρτωσε το εργαλείο που ονομάζεται Cain & Abel και το έβαλε για να εισέλθει στη λειτουργία sniffing. Στη συνέχεια, χρησιμοποιώντας το Paros Proxy και την ήδη προσδιορισμένη ευάλωτη παράμετρο, χρησιμοποίησε την εκτεταμένη αποθηκευμένη διαδικασία xp_dirtree, η οποία είναι διαθέσιμη στους χρήστες βάσεων δεδομένων του SQL Server, για να επιχειρήσει να δείξει έναν κατάλογο στο μηχάνημά του συνδεδεμένο στο Internet, χρησιμοποιώντας μια διαδρομή συμβατικής ονομασίας.
Αυτό υποχρέωσε τη βάση δεδομένων προορισμού να επιχειρήσει πραγματικά να εξακριβώσει την ταυτότητά της κατά της μηχανής του κ. Andrews. Επειδή ο Cain & Abel άκουγε το σύρμα, έλαβε το hash της πρόκλησης που χρησιμοποιήθηκε για τον έλεγχο της ταυτότητας του εκτεθειμένου μεριδίου αρχείων.
Με το πέρασμα αυτού του κατακερματισμού στον κρουαζιέρα κωδικού πρόσβασης που είναι ενσωματωμένος στον Cain & Abel, ο κ. Andrews θα είχε το όνομα χρήστη και τον κωδικό πρόσβασης του λογαριασμού κάτω από τον οποίο ο ευάλωτος SQL Server εκτελούσε μόνο ένα θέμα χρόνου.
Θα χρησιμοποιούσε αυτόν τον κωδικό πρόσβασης τον ίδιο κωδικό πρόσβασης με τον λογαριασμό διαχειριστή της εφαρμογής ιστού; Ο κωδικός αυτός θα είναι ο ίδιος με τον λογαριασμό τοπικού διαχειριστή στον κεντρικό υπολογιστή; Αυτά ήταν ερωτήσεις για μια άλλη μέρα. Ήταν καιρός να συγκεντρώσουμε όλα τα δεδομένα που συλλέξαμε, να ετοιμάσουμε μια αναφορά για τον πελάτη και να βάλουμε τα εργαλεία για άλλη μια μέρα.
Ο Chip Andrews είναι συνιδρυτής της εταιρείας συμβούλων ασφαλείας Special Ops Security, Inc. και ιδιοκτήτης του SQLSecurity. com, η οποία διαθέτει πολλούς πόρους σχετικά με την ασφάλεια του Microsoft SQL Server, συμπεριλαμβανομένου του εργαλείου SQLPing3. Ένας συν-συγγραφέας για πολλά βιβλία σχετικά με την ασφάλεια του SQL Server και έναν παρουσιαστή Black Hat, ο κ. Andrews προωθεί την ασφάλεια του SQL Server και την εφαρμογή από το 1999.