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