Common Binary Exploitation Protections & Bypasses
Ενεργοποίηση Αρχείων Core
Τα αρχεία Core είναι ένας τύπος αρχείου που δημιουργείται από ένα λειτουργικό σύστημα όταν ένας διεργασία καταρρέει. Αυτά τα αρχεία καταγράφουν την εικόνα μνήμης της διεργασίας που κατέρρευσε κατά τη στιγμή της τερματισμού της, συμπεριλαμβανομένης της μνήμης της διεργασίας, των καταχωρητών και της κατάστασης του μετρητή προγράμματος, μεταξύ άλλων λεπτομερειών. Αυτή η στιγμιότυπη κατάσταση μπορεί να είναι εξαιρετικά χρήσιμη για αποσφαλμάτωση και κατανόηση του λόγου για τον οποίο συνέβη ο κρατικός πτώσης.
Ενεργοποίηση Δημιουργίας Αρχείων Core Dump
Από προεπιλογή, πολλά συστήματα περιορίζουν το μέγεθος των αρχείων core σε 0 (δηλαδή δεν δημιουργούν αρχεία core) για να εξοικονομήσουν χώρο στο δίσκο. Για να ενεργοποιήσετε τη δημιουργία αρχείων core, μπορείτε να χρησιμοποιήσετε την εντολή ulimit
(σε κέλυφος bash ή παρόμοια κέλυφη) ή να διαμορφώσετε ρυθμίσεις σε επίπεδο συστήματος.
Χρησιμοποιώντας το ulimit: Η εντολή
ulimit -c unlimited
επιτρέπει στην τρέχουσα συνεδρία κέλυφους να δημιουργεί αρχεία core με απεριόριστο μέγεθος. Αυτό είναι χρήσιμο για συνεδρίες αποσφαλμάτωσης αλλά δεν είναι μόνιμο σε επανεκκινήσεις ή νέες συνεδρίες.
Μόνιμη διαμόρφωση: Για μια πιο μόνιμη λύση, μπορείτε να επεξεργαστείτε το αρχείο
/etc/security/limits.conf
για να περιλαμβάνει μια γραμμή όπως* soft core unlimited
, η οποία επιτρέπει σε όλους τους χρήστες να δημιουργούν αρχεία πυρήνα με μη περιορισμένο μέγεθος χωρίς την ανάγκη να ορίζουν χειροκίνητα το ulimit στις συνεδρίες τους.
Ανάλυση Αρχείων Core με το GDB
Για να αναλύσετε ένα αρχείο core, μπορείτε να χρησιμοποιήσετε εργαλεία αποσφαλμάτωσης όπως το GDB (ο GNU Debugger). Υποθέτοντας ότι έχετε ένα εκτελέσιμο αρχείο που παρήγαγε ένα core dump και το αρχείο core έχει το όνομα core_file
, μπορείτε να ξεκινήσετε την ανάλυση με:
Αυτή η εντολή φορτώνει το εκτελέσιμο και το αρχείο πυρήνα στο GDB, επιτρέποντάς σας να επιθεωρήσετε την κατάσταση του προγράμματος στη στιγμή του κρασαρίσματος. Μπορείτε να χρησιμοποιήσετε εντολές GDB για να εξερευνήσετε τη στοίβα, να εξετάσετε μεταβλητές και να κατανοήσετε τον λόγο του κρασαρίσματος.
Last updated