Τι είναι ένα περιορισμένο κέλυφος και γιατί έχουν σημασία οι επιθέσεις κέλυφους με άλματα
Τα περιορισμένα κελύφη χρησιμοποιούνται για τον έλεγχο των εντολών που μπορούν να εκτελέσουν οι χρήστες, συχνά αποτρέποντας ενέργειες όπως cd, εκκινώντας νέα κελύφη ή εξάγοντας μεταβλητές περιβάλλοντος. Συνήθως αναπτύσσονται σε CI/CD πράκτορες ή δημιουργούν περιβάλλοντα για τον περιορισμό της συμπεριφοράς των χρηστών. Ωστόσο, οι επιτιθέμενοι αναζητούν τρόπους για να εκτελέσουν ένα jumping shell, μια μέθοδο που χρησιμοποιείται για να ξεφύγουν από περιορισμένα περιβάλλοντα shell και να αποκτήσουν πρόσβαση σε απεριόριστα shells όπως bin/bashΜόλις μπεις μέσα it, ο εισβολέας έχει πλήρη έλεγχο μέσω της γραμμής εντολών, παρακάμπτοντας όλους τους περιορισμούς του περιορισμένου περιβάλλοντος.
Πώς λειτουργεί το Jumping Shell: Από το Restricted στο bin/bash
Στόχος ενός jumping shell είναι να εκμεταλλευτεί τις αδυναμίες σε περιορισμένα περιβάλλοντα και να προκαλέσει μια διαφυγή shell που οδηγεί σε bin/bashΟι συνήθεις τεχνικές για διαφυγή από επιθέσεις περιορισμένης οβίδας περιλαμβάνουν:
$ ls /bin/bash $ /bin/bashIf bin/bash είναι προσβάσιμο, αυτή η απλή επίκληση ολοκληρώνει το it.
Μια άλλη κοινή μέθοδος:
$ echo "/bin/bash" > run.sh $ sh run.sh Οι επιτιθέμενοι μπορούν επίσης να εκμεταλλευτούν συντάκτες όπως vi or μείον:
vi :set shell=/bin/bash :shell Αυτές οι μέθοδοι καταδεικνύουν πόσο εύκολα μπορεί να οδηγήσει ένα άλμα σε ένα κέλυφος bin/bash εκτέλεση, παρακάμπτοντας αποτελεσματικά τις περιορισμένες προστασίες κελύφους.
Οι πραγματικοί κίνδυνοι αυτών των επιθέσεων στο DevOps
Σε κοινόχρηστο CI/CD σε περιβάλλοντα, χρησιμοποιούνται περιορισμένα κελύφη για την απομόνωση κατασκευών και τη μείωση του κινδύνου. Αλλά όταν ένας εισβολέας πετυχαίνει με ένα πηδώντας κέλυφος και φτάσει bin/bash, το μοντέλο ασφαλείας καταρρέει.
Οι κίνδυνοι περιλαμβάνουν:
- Μη εξουσιοδοτημένη πρόσβαση σε περιβαλλοντικά μυστικά
- Κλιμάκωση προνομίων μέσω απεριόριστης πρόσβασης bin/bash
- Παραποίηση της κατασκευής pipelineή αντικείμενα
- Ανάπτυξη μόνιμων εργαλείων εντός του pipeline
Το κέλυφος διαφυγής περιόρισε σε bin/bash ανοίγει την πόρτα σε πλήρη συμβιβασμό του συστήματος, συχνά την πρώτη κίνηση σε ένα ευρύτερο πλαίσιο Επίθεση DevSecOps.
Παρακολούθηση και ανίχνευση Jumping Shell και bin/bash Escapes
Για την ανίχνευση της συμπεριφοράς βλήματος που προκαλείται από άλματα και την παρεμπόδιση των προσπαθειών διαφυγής, οι ομάδες ασφαλείας πρέπει:
- Καταγραφή όλης της δραστηριότητας του κελύφους, ειδικά / bin / bash εκτέλεση
- Παρακολούθηση κατάχρησης προγράμματος επεξεργασίας και χρήσης σεναρίου ως διανύσματα δημιουργίας κελύφους
- Παρακολούθηση πρόσβασης σε αρχεία διαμόρφωσης κελύφους όπως .bashrc or .bash_profile
Συμπεριφορικά πρότυπα όπως η εκτόξευση bin/bash από ένα περιορισμένο περιβάλλον θα πρέπει να θεωρούνται ειδοποιήσεις υψηλής προτεραιότητας. Η έγκαιρη ανίχνευσή τους μπορεί να αποτρέψει βαθύτερη πλευρική κίνηση.
Πρόληψη επιθέσεων και εκμεταλλεύσεων με περιορισμένη χρήση κελύφους διαφυγής
Για τον μετριασμό των κινδύνων που προκαλούνται από βλήματα και την αποτροπή της εκτόξευσης από επιτιθέμενους bin/bash:
- Σκληρύνετε τα περιορισμένα κελύφη: Αφαιρέστε ή μπλοκάρετε τα πρόσβαση
- Χρησιμοποιήστε το AppArmor ή το SELinux για να περιορίσετε την εκτέλεση εντολών
- Επιβολή ελαχίστων προνομίων σε όλη την έκταση CI/CD ρόλοι και δρομείς
- Κατασκευές σε κοντέινερ με εικόνες χωρίς διανομή που δεν έχουν κελύφη όπως bin/bash
- Επικύρωση περιβαλλόντων πριν και μετά τις κατασκευές για τον εντοπισμό ανωμαλιών
Η πρόληψη σεναρίων περιορισμένου κελύφους διαφυγής απαιτεί πολυεπίπεδους ελέγχους, όχι μόνο εξάρτηση από περιορισμένα κελύφη. Μην υποθέτετε ότι τα περιορισμένα κελύφη είναι ασφαλή εάν bin/bash είναι ακόμη και δυνητικά προσβάσιμο.
Συμπέρασμα: Οι αποδράσεις από τα κοχύλια είναι σημεία εισόδου
Τα περιορισμένα κελύφη αποτελούν ένα αμυντικό επίπεδο, όχι εγγύηση. Οι επιθέσεις με κελύφη που πηδούν στοχεύουν σε ασθενή απομόνωση και κακή επικύρωση. Μόλις εισέλθουν μέσα / bin / bash, οι εισβολείς μπορούν να αλλάξουν κατεύθυνση, να επιμείνουν και να θέσουν σε κίνδυνο την υποδομή DevSecOps.
Η ανίχνευση και η απομόνωση είναι απαραίτητες. Ο συνδυασμός της καταγραφής εντολών, των περιορισμένων περιβαλλόντων και του σωστού καθαρισμού των διαχειριστών πακέτων μειώνει την έκθεση.
Τέλος, εργαλεία όπως Ξυγένη προσφέρουν ορατότητα σε αυτούς τους κινδύνους. Βοηθούν στην ενίσχυση της ακεραιότητας του κώδικα, στην ανίχνευση ασυνήθιστης συμπεριφοράς του κελύφους και ασφαλίστε το δικό σας pipelineαπό εσωτερικές και εξωτερικές απειλές, συμπεριλαμβανομένων εκείνων που ξεκινούν με ένα απλό κέλυφος άλματος για να / bin / bash ή προσπαθεί να ξεφύγει από περιορισμένα περιβάλλοντα κελύφους.






