389,636,3268,3269-Pentesting LDAP
Last updated
Last updated
LDAP (Lightweight Directory Access Protocol) istər ictimai İnternetdə, istərsə də korporativ intranetdə hər kəsə təşkilatları, şəxsləri və fayl və qurğular kimi şəbəkədəki digər resursları tapmaq imkanı verən proqram protokoludur. LDAP Kataloq Giriş Protokolunun (DAP) "yüngül" (daha az miqdarda kod) versiyasıdır.
Default port: 389 və 636 (ldaps). Qlobal Kataloq (Active Directory-də LDAP) standart olaraq 3268 və LDAPS üçün 3269 portlarında mövcuddur.
Script ldap-search
LDAP axtarışını həyata keçirməyə cəhd edir və bütün uyğunluqları qaytarır.
Skriptə heç bir istifadəçi adı və parol təqdim edilmədikdə, Nmap reyestrinə müraciət edilir. Ldap-brute skripti seçilibsə və etibarlı hesab tapıbsa, bu hesab istifadə olunacaq. Deyilsə, anonim bağlama son cəhd kimi istifadə olunacaq.
SCRIPTS
ldap.searchattrib
'Xüsusi' qfiltr ilə istifadə edildikdə, bu parametr istifadəçiyə axtarış meyarları kimi fərdi atribut və dəyəri təyin etməyə imkan vermək üçün ldap.searchvalue ilə birlikdə işləyir.
ldap.maxobjects
Əgər təyin edilərsə, skript tərəfindən qaytarılan obyektlərin sayını əvəz edir (defolt 20). -1 dəyəri limiti tamamilə aradan qaldırır.
ldap.qfilter
Quraşdırılıbsa, sürətli filtri təyin edir. Kitabxana real LDAP filtrlərinin təhlilini dəstəkləmir. Filtr parametri üçün aşağıdakı dəyərlər etibarlıdır: kompüter, istifadəçilər, ad_dcs, xüsusi və ya hamısı. Heç bir dəyər göstərilməyibsə, defolt olaraq hamıya verilir.
ldap.attrib
Əgər təyin edilərsə, axtarışa yalnız göstərilən atributlar daxil olacaq. Tək atribut üçün sətir dəyəri istifadə oluna bilər, əgər birdən çox atributun verilməsi lazımdırsa, bunun əvəzinə cədvəldən istifadə edilməlidir.
ldap.searchvalue
'Xüsusi' qfiltr ilə istifadə edildikdə, bu parametr istifadəçiyə axtarış meyarları kimi fərdi atribut və dəyəri təyin etmək imkanı vermək üçün ldap.searchattrib ilə birlikdə işləyir. Bu parametr '*' ulduz işarəsinin joker işarə kimi istifadəsinə İCAZƏ VERİR.
ldap.password
Quraşdırılıbsa, LDAP serverinə autentifikasiya etmək üçün istifadəçi adı ilə birlikdə istifadə olunur
ldap.savesearch
Əgər təyin edilərsə, skript çıxışı göstərilən yol və adla başlayan faylda saxlayacaqdır. .CSV fayl şəkilçisi, eləcə də host adı və port seçilmiş çıxış növü əsasında avtomatik əlavə olunacaq.
ldap.username
Quraşdırılıbsa, skript istifadəçi adı və paroldan istifadə edərək LDAP bağlamasını yerinə yetirməyə çalışacaq
ldap.base
Əgər təyin edilərsə, skript onu axtarış üçün əsas kimi istifadə edəcək. Defolt olaraq defaultNamingContext alınır və istifadə olunur. Əgər defaultNamingContext mövcud deyilsə, skript mövcud adlandırma kontekstləri üzərində təkrarlanır.
nmap -p 389 --script ldap-search --script-args 'ldap.username="cn=ldaptest,cn=users,dc=cqure,dc=net",ldap.password=ldaptest, ldap.qfilter=users,ldap.attrib=sAMAccountName' <host>
Ldapdomaindump
Search LDAP
cn - Common Name
dc - Domain Component
ou - Organizational Unit
Credentiallar varsa, Active Directory məlumatını LDAP vasitəsilə əldə edə bilərsiniz.
Unauthenticated Bind Enumeration (DN with no password)
DN cn=admin,dc=acme,dc=com
və parol olmadan istifadə edərək kataloq alt ağacında bütün istifadəçi identifikatorlarını axtarmağa cəhd edək.
Doğrulanmamış Bağlamalara yalnız Anonim Bağlamalar da aktiv olduqda icazə verilir.
Authenticated Bind Enumeration
Doğrulanmış LDAP bağlaması üçün bəzi parolları, tercihen ldap administratorlarını sındırmalıyıq. Biz həmçinin md5 və s. kimi istifadə edilən identifikasiyanı müəyyən etməliyik.
Saxta paroldan istifadə edərək və daxil olmağa çalışaraq identifikasiya metodunu əldə edə bilərik
Etibarlı istifadəçiləri tapmaq üçün attack
Aşağıdakı sadə skript etibarlı istifadəçiləri axtarır və tapılarsa, seçilən adı qaytarır. Bu, bu axtarışda tapdığımız hesablar üçün parolları təxmin etmək olan növbəti addımımızda bizə kömək edəcək.
İndi skripti işlədirik
Metasploit
LDAP Enumeration