PowerView, Active Directory (AD) mühitində pentesting (penetrasyon testi) ve təhlükəsizlik dəyərləndirmələri üçün yaradılmış bir PowerShell moduludu. Bu modul AD üzərində kəşfiyyat aparmaq, məlumat toplamaq və təhlükəsizlik zəifliklərini aşkar etmək üçün istifadə olunur.
Digər domainləri enumeration etmək üçün:Get-Domain -Domain
SİD dəyərini tapmaq üçün: Get-DomainSID
Note:SID (Security Identifier) hər bir təhlükəsizlik obyektini (istifadəçi hesabları, qruplar, kompüterlər və s.) unikal şəkildə müəyyən edən Windows əməliyyat sistemlərində istifadə olunan sətirdir. SID-lər hər bir obyektin unikal identifikatoru kimi çıxış edir və Windows-un təhlükəsizlik modelində mühüm rol oynayır.
Domain Policy əldə etmək üçün:
Get-NetGPO
Get-DomainPolicy
#Bizə sistemə giriş və ya kerberos haqqında Domenin siyasət konfiqurasiyalarını göstərəcək
Get-DomainPolicy | Select-Object -ExpandProperty SystemAccess
Get-DomainPolicy | Select-Object -ExpandProperty KerberosPolicy
#Maşının yerli Admin qrupunun bir hissəsi olan istifadəçiləri əldə edin
Find-GPOComputerAdmin -ComputerName <ComputerName>
Domain Controllers haqqda məlumat:
Get-DomainController
Get-DomainController -Domain <DomainName>
# Domain controller və domaindəki komputerlərin ƏS göstərir
Get-NetComputer -fulldata | select operatingsystem
Domen İstifadəçilərini Sadalanması(enumeration):
Get-NetUser
Get-NetUser -SamAccountName <user>
Get-NetUser | select cn
Get-UserProperty
#Son parol dəyişikliyini yoxlayır
Get-UserProperty -Properties pwdlastset
#İstifadəçinin atributunda xüsusi "sətir" əldə edin
Find-UserField -SearchField Description -SearchTerm "wtver"
#Maşına daxil olan istifadəçini sadalayın
Get-NetLoggedon -ComputerName <ComputerName>
#Maşın üçün Sessiya Məlumatını sadalayın
Get-NetSession -ComputerName <ComputerName>
#Bütün Domen İstifadəçilərini faylda saxla
Get-DomainUser | Out-File -FilePath .\DomainUsers.txt
#Müəyyən istifadəçinin xüsusi xassələrini qaytaracaq
Get-DomainUser -Identity [username] -Properties DisplayName, MemberOf | Format-List
#Maşına daxil olan istifadəçini sadalayır
Get-NetLoggedon -ComputerName <ComputerName>
#Maşın üçün Sessiya Məlumatını sadalayır
Get-NetSession -ComputerName <ComputerName>
#Xüsusi istifadəçilərin daxil olduğu cari/müəyyən edilmiş domenin domen maşınlarını sadalayır
Find-DomainUserLocation -Domain <DomainName> | Select-Object UserName, SessionFromName
# bütün userləri göstərir
Get-NetUser | select cn
#Bütün Domen Qruplarını faylda saxla:
Get-DomainGroup | Out-File -FilePath .\DomainGroup.txt
#Xüsusi Qrup üzvlərini qaytarın
Get-DomainGroup -Identity '<GroupName>' | Select-Object -ExpandProperty Member
Get-DomainGroupMember -Identity '<GroupName>' | Select-Object MemberDistinguishedName
#Yerli (və ya uzaqdan) maşında yerli qrupları sadalayın. Uzaq maşında yerli admin hüquqlarını tələb edir
Get-NetLocalGroup | Select-Object GroupName
#Yerli (və ya uzaq) maşında xüsusi yerli qrupun üzvlərini sadalayır. Həmçinin uzaq maşında yerli admin hüquqları tələb olunur
Get-NetLocalGroupMember -GroupName Administrators | Select-Object MemberName, IsGroup, IsDomain
#Məhdudlu Qruplar və ya Qrup Siyasəti Tərcihləri vasitəsilə yerli qrup üzvlüklərini dəyişdirən domendəki bütün GPO-ları qaytarır
Get-DomainGPOLocalGroup | Select-Object GPODisplayName, GroupName
Get-DomainGPO -Properties DisplayName | Sort-Object -Property DisplayName
#Bütün GPO-ları xüsusi kompüterə sadalayır
Get-DomainGPO -ComputerIdentity <ComputerName> -Properties DisplayName | Sort-Object -Property DisplayName
#Maşının yerli Admin qrupunun bir hissəsi olan istifadəçiləri əldə edir
Get-DomainGPOComputerLocalGroupMapping -ComputerName <ComputerName>
Organizational Units sadalanması(enum):
Get-DomainOU -Properties Name | Sort-Object -Property Name
Note: ACL (Access Control List) kompüter faylı, resursu və ya obyektində girişə nəzarət siyahısını müəyyən edən strukturdur. Bu siyahı müəyyən istifadəçilərin və ya qrupların müəyyən resurslara (fayllar, qovluqlar, qeydlər, printerlər və s.) hansı növ daxil ola biləcəyini müəyyənləşdirir.
Get-DomainTrust
Get-DomainTrust -Domain <DomainName>
#cari domain üçün və tapdıqı digər domeinlər üçün Trust-ları sadalayır
Get-DomainTrustMapping
Note:Güvən əlaqələri domenin Active Directory (AD) mühitində başqa bir domen və ya təhlükəsizlik domeni ilə əlaqəsinə istinad edir. Bu əlaqə iki fərqli təhlükəsizlik məhdudiyyəti və ya fərqli təhlükəsizlik siyasətlərinə malik domenlər arasında autentifikasiya və giriş icazələrini təmin etməyi asanlaşdırır.
Forest-ləri sıralamaq üçün istifadə olunan əmrlər:
Note:"Forest" Active Directory (AD) mühitində bir-birinə güvənən və eyni konfiqurasiya və təhlükəsizlik siyasətini paylaşan bir və ya bir neçə domenin birləşməsindən yaranan strukturdur.
İstifadəci məlumatlarının oğurlanması:
#Cari istifadəçinin yerli admin girişinə malik olduğu cari domendəki bütün maşınları tapır
Find-LocalAdminAccess -Verbose
#Domenin bütün maşınlarında yerli adminləri tapın
Find-DomainLocalGroupMember -Verbose
#Local adminin və ya userin sessiyası olan kompüterləri tapın
Find-DomainUserLocation | Select-Object UserName, SessionFromName
#Admin girişini təsdiqləyin
Test-AdminAccess