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-NetGPOGet-DomainPolicy#Bizə sistemə giriş və ya kerberos haqqında Domenin siyasət konfiqurasiyalarını göstərəcəkGet-DomainPolicy|Select-Object-ExpandProperty SystemAccessGet-DomainPolicy|Select-Object-ExpandProperty KerberosPolicy#Maşının yerli Admin qrupunun bir hissəsi olan istifadəçiləri əldə edinFind-GPOComputerAdmin-ComputerName <ComputerName>
Get-NetUserGet-NetUser-SamAccountName <user>Get-NetUser| select cnGet-UserProperty#Son parol dəyişikliyini yoxlayırGet-UserProperty-Properties pwdlastset#İstifadəçinin atributunda xüsusi "sətir" əldə edinFind-UserField-SearchField Description -SearchTerm "wtver"#Maşına daxil olan istifadəçini sadalayınGet-NetLoggedon-ComputerName <ComputerName>#Maşın üçün Sessiya Məlumatını sadalayınGet-NetSession-ComputerName <ComputerName>#Bütün Domen İstifadəçilərini faylda saxlaGet-DomainUser|Out-File-FilePath .\DomainUsers.txt#Müəyyən istifadəçinin xüsusi xassələrini qaytaracaqGet-DomainUser-Identity [username] -Properties DisplayName, MemberOf |Format-List#Maşına daxil olan istifadəçini sadalayırGet-NetLoggedon-ComputerName <ComputerName>#Maşın üçün Sessiya Məlumatını sadalayırGet-NetSession-ComputerName <ComputerName>#Xüsusi istifadəçilərin daxil olduğu cari/müəyyən edilmiş domenin domen maşınlarını sadalayırFind-DomainUserLocation-Domain <DomainName>|Select-Object UserName, SessionFromName
# bütün userləri göstərirGet-NetUser| select cn #Bütün Domen Qruplarını faylda saxla:Get-DomainGroup|Out-File-FilePath .\DomainGroup.txt#Xüsusi Qrup üzvlərini qaytarınGet-DomainGroup-Identity '<GroupName>'|Select-Object-ExpandProperty MemberGet-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 edirGet-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
Paylaşımları Sadalayın:
#Domen Paylaşımlarını SadalayırFind-DomainShareInvoke-ShareFinder#Domainə Cari istifadəçinin girişi olan paylaşımları sadalayırFind-DomainShare-CheckShareAccess#Əlçatan paylaşımlarda "Maraqlı" Faylları sadalayırFind-InterestingDomainShareFile-Include *passwords*
Qrup Policies sıralama(enum):
Get-DomainGPO-Properties DisplayName |Sort-Object-Property DisplayName#Bütün GPO-ları xüsusi kompüterə sadalayırGet-DomainGPO-ComputerIdentity <ComputerName>-Properties DisplayName |Sort-Object-Property DisplayName#Maşının yerli Admin qrupunun bir hissəsi olan istifadəçiləri əldə edirGet-DomainGPOComputerLocalGroupMapping-ComputerName <ComputerName>
Organizational Units sadalanması(enum):
Get-DomainOU-Properties Name |Sort-Object-Property Name
Access Control List(ACL) sadalanması:
#Göstərilən hesabla əlaqəli ACL-ləri qaytarırGet-DomaiObjectAcl-Identity <AccountName>-ResolveGUIDs#Maraqlı ACE-ləri axtarırFind-InterestingDomainAcl-ResolveGUIDs#Müəyyən edilmiş yol ilə əlaqəli ACL-ləri yoxlayır (məsələn, smb paylaşımı)Get-PathAcl-Path "\\Path\Of\A\Share"#Maraqlı ACE-ləri axtarınInvoke-ACLScanner-ResolveGUIDs
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-DomainTrustGet-DomainTrust-Domain <DomainName>#cari domain üçün və tapdıqı digər domeinlər üçün Trust-ları sadalayırGet-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ırFind-LocalAdminAccess-Verbose#Domenin bütün maşınlarında yerli adminləri tapınFind-DomainLocalGroupMember-Verbose#Local adminin və ya userin sessiyası olan kompüterləri tapınFind-DomainUserLocation|Select-Object UserName, SessionFromName#Admin girişini təsdiqləyinTest-AdminAccess