389, 636, 3268, 3269 - Pentesting LDAP
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)
Η χρήση του LDAP (Πρωτόκολλο Ελαφριάς Πρόσβασης Καταλόγου) είναι κυρίως για την τοποθέτηση διαφόρων οντοτήτων όπως οργανισμοί, άτομα και πόροι όπως αρχεία και συσκευές εντός δικτύων, τόσο δημόσιων όσο και ιδιωτικών. Προσφέρει μια απλοποιημένη προσέγγιση σε σύγκριση με τον προκάτοχό του, DAP, έχοντας μικρότερο αποτύπωμα κώδικα.
Οι καταλόγοι LDAP είναι δομημένοι ώστε να επιτρέπουν τη διανομή τους σε αρκετούς διακομιστές, με κάθε διακομιστή να φιλοξενεί μια αντιγραμμένη και συγχρονισμένη έκδοση του καταλόγου, που αναφέρεται ως Διευθυντής Συστήματος Καταλόγου (DSA). Η ευθύνη για την επεξεργασία των αιτημάτων ανήκει εξ ολοκλήρου στον διακομιστή LDAP, ο οποίος μπορεί να επικοινωνεί με άλλους DSA κατά ανάγκη για να παραδώσει μια ενιαία απάντηση στον αιτούντα.
Η οργάνωση του καταλόγου LDAP μοιάζει με μια ιεραρχία δέντρου, ξεκινώντας από τον ριζικό κατάλογο στην κορυφή. Αυτό διακλαδίζεται σε χώρες, οι οποίες χωρίζονται περαιτέρω σε οργανισμούς, και στη συνέχεια σε οργανωτικές μονάδες που αντιπροσωπεύουν διάφορες διευθύνσεις ή τμήματα, φτάνοντας τελικά στο επίπεδο των ατομικών οντοτήτων, συμπεριλαμβανομένων τόσο των ανθρώπων όσο και των κοινών πόρων όπως αρχεία και εκτυπωτές.
Προεπιλεγμένη θύρα: 389 και 636(ldaps). Ο Παγκόσμιος Κατάλογος (LDAP στο ActiveDirectory) είναι διαθέσιμος από προεπιλογή στις θύρες 3268 και 3269 για LDAPS.
LDIF (LDAP Data Interchange Format) ορίζει το περιεχόμενο του καταλόγου ως ένα σύνολο εγγραφών. Μπορεί επίσης να αναπαριστά αιτήματα ενημέρωσης (Προσθήκη, Τροποποίηση, Διαγραφή, Μετονομασία).
Γραμμές 1-3 ορίζουν το τοπικό τομέα κορυφής
Γραμμές 5-8 ορίζουν τον τομέα πρώτης βαθμίδας moneycorp (moneycorp.local)
Γραμμές 10-16 ορίζουν 2 οργανωτικές μονάδες: dev και sales
Γραμμές 18-26 δημιουργούν ένα αντικείμενο του τομέα και αναθέτουν χαρακτηριστικά με τιμές
Σημειώστε ότι αν μπορείτε να τροποποιήσετε τιμές, θα μπορούσατε να εκτελέσετε πραγματικά ενδιαφέρουσες ενέργειες. Για παράδειγμα, φανταστείτε ότι μπορείτε να αλλάξετε την πληροφορία "sshPublicKey" του χρήστη σας ή οποιουδήποτε χρήστη. Είναι πολύ πιθανό ότι αν αυτό το χαρακτηριστικό υπάρχει, τότε το ssh διαβάζει τα δημόσια κλειδιά από το LDAP. Αν μπορείτε να τροποποιήσετε το δημόσιο κλειδί ενός χρήστη, θα μπορείτε να συνδεθείτε ως αυτός ο χρήστης ακόμα και αν η αυθεντικοποίηση με κωδικό πρόσβασης δεν είναι ενεργοποιημένη στο ssh.
If LDAP is used without SSL you can sniff credentials in plain text in the network.
Also, you can perform a MITM attack in the network between the LDAP server and the client. Here you can make a Downgrade Attack so the client with use the credentials in clear text to login.
If SSL is used you can try to make MITM like the mentioned above but offering a false certificate, if the user accepts it, you are able to Downgrade the authentication method and see the credentials again.
According to this writeup just by accessing the LDAP server with an arbitrary domain name (like company.com) he was able to contact the LDAP service and extract information as an anonymous user:
LDAP anonymous binds επιτρέπουν στους μη αυθεντικοποιημένους επιτιθέμενους να ανακτούν πληροφορίες από το domain, όπως μια πλήρη λίστα χρηστών, ομάδων, υπολογιστών, χαρακτηριστικών λογαριασμού χρηστών και την πολιτική κωδικών πρόσβασης του domain. Αυτή είναι μια παλαιά ρύθμιση, και από το Windows Server 2003, μόνο οι αυθεντικοποιημένοι χρήστες επιτρέπεται να ξεκινούν αιτήματα LDAP. Ωστόσο, οι διαχειριστές μπορεί να χρειάστηκε να ρυθμίσουν μια συγκεκριμένη εφαρμογή για να επιτρέψουν ανώνυμες συνδέσεις και να έχουν δώσει περισσότερη από την προοριζόμενη πρόσβαση, δίνοντας έτσι στους μη αυθεντικοποιημένους χρήστες πρόσβαση σε όλα τα αντικείμενα στο AD.
Αν έχετε έγκυρα διαπιστευτήρια για να συνδεθείτε στον LDAP server, μπορείτε να εξάγετε όλες τις πληροφορίες σχετικά με τον Domain Admin χρησιμοποιώντας:
Χρησιμοποιώντας αυτό, θα είστε σε θέση να δείτε τις δημόσιες πληροφορίες (όπως το όνομα τομέα):
Windapsearch είναι ένα σενάριο Python χρήσιμο για να καταγράψει χρήστες, ομάδες και υπολογιστές από ένα Windows domain χρησιμοποιώντας LDAP ερωτήματα.
Ελέγξτε αν οι διαπιστευτήριες είναι κενές ή αν οι διαπιστευτήριές σας είναι έγκυρες:
Αν βρείτε κάτι που λέει ότι το "bind πρέπει να ολοκληρωθεί" σημαίνει ότι τα διαπιστευτήρια είναι λανθασμένα.
Μπορείτε να εξάγετε τα πάντα από ένα τομέα χρησιμοποιώντας:
Ανακτήστε χρήστες:
Εξαγωγή υπολογιστών:
Ανακτήστε τις πληροφορίες μου:
Ανακτήστε Domain Admins:
Εξαγωγή Domain Users:
Εξαγωγή Enterprise Admins:
Εξαγωγή Διαχειριστών:
Απο extraction Remote Desktop Group:
Για να δείτε αν έχετε πρόσβαση σε οποιονδήποτε κωδικό πρόσβασης, μπορείτε να χρησιμοποιήσετε το grep μετά την εκτέλεση ενός από τους ερωτήσεις:
Παρακαλώ, σημειώστε ότι οι κωδικοί πρόσβασης που μπορείτε να βρείτε εδώ μπορεί να μην είναι οι πραγματικοί...
Μπορείτε να κατεβάσετε το pbis από εδώ: https://github.com/BeyondTrust/pbis-open/ και συνήθως εγκαθίσταται στο /opt/pbis
.
Pbis σας επιτρέπει να αποκτάτε βασικές πληροφορίες εύκολα:
Κατεβάστε το Apache Directory από εδώ. Μπορείτε να βρείτε ένα παράδειγμα για το πώς να χρησιμοποιήσετε αυτό το εργαλείο εδώ.
Μπορείτε να κατεβάσετε μια γραφική διεπαφή με LDAP server εδώ: http://www.jxplorer.org/downloads/users.html
Από προεπιλογή εγκαθίσταται στο: /opt/jxplorer
Το Godap είναι μια διαδραστική διεπαφή χρήστη τερματικού για LDAP που μπορεί να χρησιμοποιηθεί για αλληλεπίδραση με αντικείμενα και χαρακτηριστικά σε AD και άλλους LDAP servers. Είναι διαθέσιμο για Windows, Linux και MacOS και υποστηρίζει απλές συνδέσεις, pass-the-hash, pass-the-ticket & pass-the-cert, μαζί με πολλές άλλες εξειδικευμένες δυνατότητες όπως αναζήτηση/δημιουργία/αλλαγή/διαγραφή αντικειμένων, προσθήκη/αφαίρεση χρηστών από ομάδες, αλλαγή κωδικών πρόσβασης, επεξεργασία δικαιωμάτων αντικειμένων (DACLs), τροποποίηση DNS που είναι ενσωματωμένο στο Active Directory (ADIDNS), εξαγωγή σε αρχεία JSON, κ.λπ.
Μπορείτε να το αποκτήσετε από https://github.com/Macmod/godap. Για παραδείγματα χρήσης και οδηγίες διαβάστε το Wiki.
Το Ldapx είναι ένας ευέλικτος LDAP proxy που μπορεί να χρησιμοποιηθεί για να επιθεωρήσει & να μετασχηματίσει την κίνηση LDAP από άλλα εργαλεία. Μπορεί να χρησιμοποιηθεί για να αποκρύψει την κίνηση LDAP για να προσπαθήσει να παρακάμψει τα εργαλεία προστασίας ταυτότητας & παρακολούθησης LDAP και υλοποιεί τις περισσότερες από τις μεθόδους που παρουσιάζονται στην ομιλία MaLDAPtive.
Μπορείτε να το αποκτήσετε από https://github.com/Macmod/ldapx.
Χρησιμοποιώντας το ldapsearch
μπορείτε να αυθεντικοποιηθείτε μέσω kerberos αντί για NTLM χρησιμοποιώντας την παράμετρο -Y GSSAPI
Εάν μπορείτε να έχετε πρόσβαση στα αρχεία όπου περιέχονται οι βάσεις δεδομένων (μπορεί να είναι στο /var/lib/ldap). Μπορείτε να εξάγετε τους κατακερματισμούς χρησιμοποιώντας:
Μπορείτε να τροφοδοτήσετε τον john με το hash του κωδικού πρόσβασης (από '{SSHA}' σε 'structural' χωρίς να προσθέσετε 'structural').
Γενικά
containers.ldif
ldap.cfg
ldap.conf
ldap.xml
ldap-config.xml
ldap-realm.xml
slapd.conf
IBM SecureWay V3 server
V3.sas.oc
Microsoft Active Directory server
msadClassesAttrs.ldif
Netscape Directory Server 4
nsslapd.sas_at.conf
nsslapd.sas_oc.conf
OpenLDAP directory server
slapd.sas_at.conf
slapd.sas_oc.conf
Sun ONE Directory Server 5.1
75sas.ldif
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)