Linux Post-Exploitation
Καταγραφή Κωδικών Σύνδεσης με το PAM
Ας διαμορφώσουμε ένα PAM module για να καταγράφει κάθε κωδικό πρόσβασης που χρησιμοποιεί ο κάθε χρήστης για να συνδεθεί. Εάν δεν γνωρίζετε τι είναι το PAM, ελέγξτε:
pagePAM - Pluggable Authentication ModulesΓια περισσότερες λεπτομέρειες, ανατρέξτε στην αρχική ανάρτηση. Αυτό είναι απλώς ένα σύνοψη:
Επισκόπηση Τεχνικής: Τα Pluggable Authentication Modules (PAM) προσφέρουν ευελιξία στη διαχείριση της πιστοποίησης σε συστήματα βασισμένα σε Unix. Μπορούν να ενισχύσουν την ασφάλεια προσαρμόζοντας τις διαδικασίες σύνδεσης, αλλά μπορούν επίσης να δημιουργήσουν κινδύνους εάν χρησιμοποιηθούν εσφαλμένα. Αυτή η σύνοψη περιγράφει μια τεχνική για την καταγραφή διαπιστευτηρίων σύνδεσης χρησιμοποιώντας το PAM, μαζί με στρατηγικές αντιμετώπισης.
Καταγραφή Διαπιστευτηρίων:
Δημιουργείται ένα bash script με το όνομα
toomanysecrets.sh
για να καταγράφει τις προσπάθειες σύνδεσης, καταγράφοντας την ημερομηνία, το όνομα χρήστη ($PAM_USER
), τον κωδικό πρόσβασης (μέσω stdin) και την απομακρυσμένη διεύθυνση IP του υπολογιστή ($PAM_RHOST
) στο/var/log/toomanysecrets.log
.Το script καθίσταται εκτελέσιμο και ενσωματώνεται στη διαμόρφωση του PAM (
common-auth
) χρησιμοποιώντας το modulepam_exec.so
με επιλογές για να εκτελείται αθόρυβα και να αποκαλύπτει το διαπιστευτήριο πιστοποίησης στο script.Η προσέγγιση δείχνει πώς μπορεί να εκμεταλλευτεί ένας παραβιασμένος Linux υπολογιστής για να καταγράψει διαπιστευτήρια σύνδεσης απόκρυφα.
Τοποθέτηση πίσω πόρτας στο PAM
Για περισσότερες λεπτομέρειες, ανατρέξτε στην αρχική ανάρτηση. Αυτό είναι απλώς ένα σύνοψη:
Το Pluggable Authentication Module (PAM) είναι ένα σύστημα που χρησιμοποιείται στο Linux για την αυθεντικοποίηση των χρηστών. Λειτουργεί με βάση τρεις βασικές έννοιες: όνομα χρήστη, κωδικό πρόσβασης και υπηρεσία. Τα αρχεία ρυθμίσεων για κάθε υπηρεσία βρίσκονται στον κατάλογο /etc/pam.d/
, όπου κοινόχρηστες βιβλιοθήκες χειρίζονται την αυθεντικοποίηση.
Στόχος: Τροποποιήστε το PAM για να επιτρέπει την αυθεντικοποίηση με έναν συγκεκριμένο κωδικό πρόσβασης, παρακάμπτοντας τον πραγματικό κωδικό πρόσβασης του χρήστη. Αυτό επικεντρώνεται ιδιαίτερα στην κοινόχρηστη βιβλιοθήκη pam_unix.so
που χρησιμοποιείται από το αρχείο common-auth
, το οποίο συμπεριλαμβάνεται από σχεδόν όλες τις υπηρεσίες για τον έλεγχο του κωδικού πρόσβασης.
Βήματα για την τροποποίηση του pam_unix.so
:
pam_unix.so
:Εντοπίστε την Οδηγία Αυθεντικοποίησης στο αρχείο
common-auth
:
Η γραμμή που είναι υπεύθυνη για τον έλεγχο του κωδικού πρόσβασης του χρήστη καλεί το
pam_unix.so
.
Τροποποιήστε τον Πηγαίο Κώδικα:
Προσθέστε μια συνθήκη στον πηγαίο κώδικα του αρχείου
pam_unix_auth.c
που επιτρέπει την πρόσβαση εάν χρησιμοποιείται ένας προκαθορισμένος κωδικός πρόσβασης, διαφορετικά συνεχίζει με την κανονική διαδικασία αυθεντικοποίησης.
Επαναμεταγλωττίστε και Αντικαταστήστε την τροποποιημένη βιβλιοθήκη
pam_unix.so
στον κατάλληλο κατάλογο.Δοκιμή:
Η πρόσβαση επιτρέπεται σε διάφορες υπηρεσίες (σύνδεση, ssh, sudo, su, screensaver) με τον προκαθορισμένο κωδικό πρόσβασης, ενώ οι κανονικές διαδικασίες αυθεντικοποίησης παραμένουν ανέπαφες.
Μπορείτε να αυτοματοποιήσετε αυτήν τη διαδικασία με το https://github.com/zephrax/linux-pam-backdoor
Last updated