Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SQLRecon — عدة أدوات بلغة C# لقواعد بيانات MS SQL، مصممة للاستطلاع الهجومي وعمليات ما بعد الاستغلال. | Kitploit
أدوات/GitHubGitHub/xforcered/sqlrecon
تصعيد الامتيازاتالاستطلاعهجمات كلمات المرورالاستغلالالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالفريق الأحمرأمن قواعد البيانات
GitHubxforcered/sqlrecon

SQLRecon

عدة أدوات بلغة C# لقواعد بيانات MS SQL، مصممة للاستطلاع الهجومي وعمليات ما بعد الاستغلال.

399389منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

  licence badge wiki Badge stars badge forks badge issues badge

SQLRecon

SQLRecon عبارة عن مجموعة أدوات لخادم Microsoft SQL Server مصمّمة للاستطلاع الهجومي وما بعد الاستغلال. للحصول على معلومات مفصّلة حول كيفية استخدام كل تقنية، راجع الويكي.

يمكنك تنزيل نسخة من SQLRecon من صفحة الإصدارات. أو يمكنك تجميع الحل بنفسك؛ يجب أن يكون الأمر سهلاً مثل استنساخ المستودع، والنقر المزدوج على ملف الحل، ثم البناء.

كما تم توفير إرشادات الوقاية والكشف والتخفيف لجميع المدافعين.

اطّلع على مقالتي على موقع IBM Security Intelligence. وإذا كنت تفضّل الفيديوهات، فشاهد عرضي في Black Hat.

وحدات التعداد

لا تتطلب وحدات التعداد توفير موفِّر مصادقة. يجب تمرير هذه الوحدات إلى علامة وحدة التعداد (/e:, /enum:). يحتوي الويكي على تفاصيل حول استخدام وحدات التعداد.``` Info - Show information about the SQL server. /h:, /host -> SQL server hostname or IP. Multiple hosts supported. /port: -> (OPTIONAL) Defaults to 1434 (UDP). /t:, timeout: -> (OPTIONAL) Defaults to 3s.

SqlSpns - Use the current user token to enumerate the AD domain for MSSQL SPNs. /d:, /domain: -> (OPTIONAL) NETBIOS name or FQDN of domain.

root@kitploit:~
# مزودو المصادقة

يدعم SQLRecon مجموعة متنوعة من مزودي المصادقة (`/a:, /auth:`) لتمكين التفاعل مع خادم Microsoft SQL Server.```
WinToken   - Use the current users token to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP

WinDomain  - Use AD credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> NETBIOS name or FQDN of domain.
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

Local      - Use local SQL credentials to authenticate against the SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

EntraID    - Use Azure EntraID credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /d:, /domain:   -> FQDN of domain (DOMAIN.COM).
             /u:, /username: -> Username for domain user.
             /p:, /password: -> Password for domain user.

AzureLocal - Use local SQL credentials to authenticate against the Azure SQL database
             /h:, /host:     -> SQL server hostname or IP. Multiple hosts supported.
             /u:, /username: -> Username for local SQL user.
             /p:, /password: -> Password for local SQL user.

موفرو المصادقة - تفاصيل إضافية

  • المضيفون (Hosts): علامة المضيف (/h:, host:) مطلوبة وتسمح بخادم SQL واحد أو أكثر. إذا أردت تنفيذ وحدة نمطية ضد خوادم SQL متعددة، فافصل بين المضيفين بفاصلة، على سبيل المثال /h:SQL01,10.10.10.2,SQL03.
  • قاعدة البيانات (Database): يتصل SQLRecon بقاعدة البيانات master افتراضيًا، ومع ذلك يمكن تغيير ذلك اختياريًا عن طريق توفير اسم قاعدة بيانات مخصص عبر علامة قاعدة البيانات (/database:).
  • التصحيح (Debug): علامة /debug اختيارية وتعرض جميع استعلامات SQL التي ينفذها الوحدة النمطية، دون تنفيذها فعليًا على المضيف (المضيفين) البعيدين. يمكن العثور على مثال على ذلك في الويكي.
  • المنفذ (Port): في بعض الحالات، قد لا يستمع خادم Microsoft SQL Server إلى منفذ TCP قياسي. بعض الأمثلة هي تجميع تجاوز الفشل لخادم Microsoft SQL Server، أو منافذ TCP الديناميكية. يتصل SQLRecon بقواعد البيانات عبر منفذ TCP 1433 افتراضيًا، ومع ذلك يمكن تغيير ذلك اختياريًا باستخدام علامة /port:.
  • المهلة (Timeout): وقت الاتصال الافتراضي لقاعدة بيانات SQL هو 3 ثوانٍ، ومع ذلك يمكن تغيير هذه القيمة اختياريًا عن طريق توفير قيمة مهلة (/t:, /timeout:) تتوافق مع عدد الثواني قبل إنهاء محاولة الاتصال.
  • وضع التفصيل (Verbose): علامة اختيارية وتعرض جميع استعلامات SQL التي ينفذها الوحدة النمطية قبل تنفيذها على المضيف (المضيفين) البعيدين. يمكن العثور على مثال على ذلك في .

يُرجى ملاحظة أن موفر المصادقة EntraID يتطلب وجود مكتبة مصادقة Azure Active Directory (ADAL) أو مكتبة مصادقة Microsoft (MSAL) على النظام الذي يتم تنفيذ SQLRecon منه. وذلك لوظائف مصادقة Azure EntraID والترخيص.

وحدات SQL النمطية

يتم تنفيذ وحدات SQL النمطية ضد مثيل واحد أو أكثر من خادم Microsoft SQL. يجب تمرير هذه الوحدات إلى علامة الوحدة النمطية (/m:, /module:).

وحدات SQL النمطية - القياسية

علامة المضيف (/h:, host:) مطلوبة وتسمح بخادم SQL واحد أو أكثر. إذا أردت تنفيذ وحدة نمطية ضد خوادم SQL متعددة، فافصل بين المضيفين بفاصلة، على سبيل المثال /h:SQL01,10.10.10.2,SQL03.

يحتوي الويكي على تفاصيل حول استخدام كل وحدة نمطية تدعم التنفيذ على مثيل واحد أو أكثر من SQL Server.

وحدات SQL النمطية - الانتحال

يتم تنفيذ وحدات الانتحال ضد مثيل واحد أو أكثر من خادم Microsoft SQL، في سياق مستخدم SQL منتحل. جميع وحدات الانتحال لها الحد الأدنى التالي من المتطلبات:

  • يجب تحديد مستخدم الانتحال (/i:, /iuser:).
  • يجب تحديد وحدة نمطية تدعم الانتحال (/m:, /module:).

يحتوي الويكي على تفاصيل حول استخدام كل وحدة نمطية تدعم التنفيذ باستخدام الانتحال.

وحدات SQL النمطية - المرتبطة

يتم تنفيذ الوحدات المرتبطة على مثيل واحد أو أكثر من خادم Microsoft SQL مرتبط. جميع الوحدات المرتبطة لها الحد الأدنى التالي من المتطلبات:

  • يجب تحديد خادم SQL مرتبط (/l:, /link:). تسمح علامة الارتباط بخادم SQL مرتبط واحد أو أكثر. على سبيل المثال، إذا كان SQL01 لديه ارتباط بـ SQL02، وSQL01 لديه ارتباط بـ DB04، يمكنك فصل المضيفين المرتبطين بفاصلة، وسيتم تنفيذ وحدة نمطية على كل خادم SQL مرتبط، على سبيل المثال /l:SQL02,DB04.
  • يجب تحديد وحدة نمطية تدعم التنفيذ المرتبط (/m:, /module:).

يحتوي الويكي على تفاصيل حول استخدام كل وحدة نمطية تدعم التنفيذ على مثيل واحد أو أكثر من خادم SQL مرتبط.

وحدات SQL النمطية - السلسلة المرتبطة

يتم تنفيذ وحدات السلسلة المرتبطة على خادم Microsoft SQL النهائي في سلسلة خوادم مرتبطة. جميع وحدات السلسلة المرتبطة لها الحد الأدنى التالي من المتطلبات:

  • يجب تحديد سلسلة خوادم SQL مرتبطة في علامة /l:, /link:. إذا كان SQL01 لديه ارتباط بـ SQL02، وSQL02 لديه ارتباط بـ PAYMENTS01، وتريد تنفيذ وحدة نمطية على PAYMENTS01، فإن الوسيطة ستكون /l:SQL02,PAYMENTS01.
  • يجب تضمين علامة /chain لتنفيذ الوحدة النمطية ضد خادم SQL النهائي في السلسلة المرتبطة المقدمة.
  • يجب تحديد وحدة نمطية تدعم تنفيذ السلسلة المرتبطة (/m:, /module:).

يحتوي الويكي على تفاصيل حول استخدام كل وحدة نمطية تدعم التنفيذ على خادم SQL النهائي المقدم في سلسلة خوادم SQL مرتبطة.

وحدات SCCM النمطية

لدى SQLRecon عدة وحدات نمطية يمكن أن تساعد في تعداد ومهاجمة Microsoft System Center Configuration Manager (SCCM) و Microsoft Endpoint Configuration Manager (ECM). سيحتاج خادم SCCM أو ECM إلى وجود قاعدة بيانات Microsoft SQL مكشوفة محليًا أو عن بُعد.

يجب تمرير وحدات SCCM النمطية إلى علامة وحدة SCCM (/s:, /sccm:).

يمكن تنفيذ معظم وحدات SCCM النمطية في سياق مستخدم SQL منتحل (/i:, /iuser:).

يحتوي الويكي على تفاصيل حول استخدام كل وحدة نمطية ضد قاعدة بيانات SCCM/ECM.

وحدات SCCM النمطية - تفاصيل إضافية
  • تعرض وحدة Users جميع المستخدمين في جدول RBAC_Admins. هؤلاء هم جميع المستخدمين الذين تم تكوينهم بمستوى معين من الوصول إلى SCCM.
  • تعرض وحدة Sites جميع المواقع الأخرى التي تحتوي على بيانات مخزنة في جدول DPInfo في قواعد بيانات SCCM. يمكن أن يوفر هذا مسارات هجوم إضافية حيث يمكن تكوين مواقع مختلفة بطرق مختلفة (غير آمنة).
  • تستعلم وحدة Logons من جدول Computer_System_DATA لاسترداد جميع عملاء SCCM المرتبطين مع المستخدم الذي سجل الدخول إليهم آخر مرة. ملاحظة: يتم تحديث هذا مرة واحدة فقط في الأسبوع افتراضيًا ولن يكون محدثًا بنسبة 100%. استخدم /option: كوسيطة اختيارية (غير مطلوبة) لتصفية عملاء SCCM.
  • توفر وحدة TaskList قائمة بجميع تسلسلات المهام المخزنة في قاعدة بيانات SCCM، ولكنها لا تصل إلى محتويات بيانات المهام الفعلية.
  • تسترجع وحدة TaskData جميع تسلسلات المهام المخزنة في قاعدة بيانات SCCM وتفك تشفيرها إلى نص واضح. يمكن أن تحتوي تسلسلات المهام على بيانات اعتماد لضم الأنظمة إلى المجالات، وتعيين المشاركات، وتشغيل الأوامر، وما إلى ذلك.
  • تعرض وحدة Credentials بيانات الاعتماد التي حفظتها SCCM لاستخدامها في وظائف مختلفة. لا يمكن فك تشفير هذه البيانات عن بُعد لأن المفتاح مخزن على خادم SCCM. ومع ذلك، توفر هذه الوحدة معلومات استخباراتية حول ما إذا كان من المنطقي محاولة الحصول على المفتاح.

توسيع SQLRecon

إذا كنت مهتمًا بتوسيع SQLRecon، فيرجى الرجوع إلى قسم المساهمة والتوسيع في الويكي.

أشجعك على فتح issue إذا كان لديك أي اقتراحات أو أفكار.

خارطة الطريق

الهدف هو تحسين SQLRecon باستمرار. فيما يلي بعض مجالات البحث المخطط لها:

  • تنفيذ دعم المصادقة المستندة إلى تجزئة NTLM.
  • استكشاف وظائف enablerpc/disablerpc لخوادم SQL المرتبطة والمتسلسلة الارتباط.

شكر وتقدير

ساهم الأشخاص التاليون بشكل مباشر أو غير مباشر في جوانب مختلفة من SQLRecon.

  • Adam Chester (xpn)
  • Azaël Martin (n3rada)
  • Daniel Duggan (rasta-mouse)
  • Dave Cossa (G0ldenGunSec)
  • Dwight Hohnstein (djhohnstein)
  • Joshua Magri (passthehashbrowns)

سجل التغييرات

v3.9
  • أضاف قواعد البيانات التي يملك المستخدم حق الوصول إليها في وحدة whoami (JBalanza).
  • صحح مشكلة في وحدة adsi حيث لا يحتاج خادم LDAP إلى الإضافة إلى قاعدة بيانات msdb، كما يتم الآن إسقاط الدالة المنشأة بشكل صحيح.
  • صحح مشكلة حيث تفشل استعلامات RPC التي تحتوي على عبارة AT على الخادم الوجهة إذا كان اسم المضيف المقدم هو FQDN.
  • تحديث README.
  • تحديث الويكي.
v3.8
  • أضاف منطقًا لدعم تنفيذ تجميعات CLR على SQL Server 2016 والإصدارات الأقدم. هذا لوحدة clr. التنفيذ مدعوم في جميع السياقات.
  • أضاف منطقًا لتحميل تجميع CLR لخادم LDAP على SQL Server 2016 والإصدارات الأقدم. هذا لوحدة adsi. التنفيذ مدعوم في جميع السياقات.
  • تحديث README.
  • تحديث الويكي.
v3.7
  • إعادة هيكلة كاملة لقاعدة التعليمات البرمجية.
  • تحديث الوثائق (تعليقات التعليمات البرمجية، README، والويكي)
  • التنفيذ ضد سلسلة خوادم SQL مرتبطة. على سبيل المثال، إذا كان SQL01 لديه ارتباط بـ SQL02، وSQL02 لديه ارتباط بـ SQL03، وSQL03 لديه ارتباط بـ PAYMENTS01. أصبح من الممكن الآن تنفيذ أوامر من SQL01 على PAYMENTS01 باستخدام سلسلة الخوادم المرتبطة (/link:SQL02,SQL03,PAYMENTS01 /chain). الفضل يعود إلى Azaël Martin (n3rada).
  • إزالة وحدات 'l' و 'i'، وإدخال منطق السياق بحيث يمكن أن تكون أسماء الوحدات متماثلة عبر التنفيذ القياسي والانتحال والمرتبط والمتسلسل.
  • إضافة دعم السلسلة إلى جميع الوحدات المرتبطة.
  • إضافة دعم للتصحيح (/debug)، والذي سيعرض معلومات تصحيح متنوعة وجميع استعلامات SQL التي سينفذها الوحدة النمطية، دون تنفيذها.
v3.6
  • التنفيذ ضد خوادم SQL متعددة المقدمة في علامة /host أو /h أصبح مدعومًا الآن باستخدام قيم مفصولة بفواصل.
  • التنفيذ ضد خوادم SQL مرتبطة متعددة المقدمة في علامة /link أو /l أصبح مدعومًا الآن باستخدام قيم مفصولة بفواصل.
  • تغيير /lhost إلى /link.
  • إزالة وحدات 's' وإنشاء مفتاح /s و /sccm لوحدات SCCM.
  • إضافة دعم الانتحال إلى جميع وحدات SCCM، باستثناء DecryptCredentials.
  • إضافة وحدة تعداد (/enum) جديدة تسمى info والتي يمكنها استخدام سياق غير مصادق للحصول على معلومات خادم SQL، بما في ذلك اسم المثيل ومنفذ TCP باستخدام بروتوكول UDP.
  • نقل منطق الوسائط إلى طرق فردية داخل ModuleHandler.cs لتعزيز التبسيط وقابلية التوسعة.
v3.5
  • إصلاح خطأ حيث كان تنفيذ adsi المرتبط لا يزيل خادم LDAP.
  • إزالة تنفيذ وظائف الوكيل من adsi المرتبط، لصالح openquery/rpc.
  • تغيير /lhost إلى /adsi في وحدة adsi.
  • تغيير /rhost إلى /unc في وحدة smb.
  • إزالة CaptureHash.cs وتبسيط المنطق.
  • إزالة SetEnumerationType.cs وتبسيط المنطق.
  • إعادة تسمية Impersonation.cs إلى Impersonate.cs.
  • إعادة تسمية OleCmdExec.cs إلى OleAutomation.cs.
v3.4
  • إضافة دعم الانتحال لوحدة smb.
  • إضافة دعم الانتحال لوحدة info.
  • إضافة الدعم المرتبط لوحدة info.
v3.3
  • إنشاء وحدات rows و iRows و lRows.
  • تحديث sLogons لتضمين عامل تصفية اختياري.
  • إصلاح خطأ حيث لم تكن وحدات xp_cmdshell تطبع مخرجات الأوامر إلى وحدة التحكم.
  • تنظيف قائمة المساعدة.
v3.2
  • إصلاح شامل لتحليل وسائط سطر الأوامر.
  • تحديث README وحالات الاختبار والويكي بأمثلة جديدة.
  • إعادة صياغة تحليل الوسائط القائم على التعداد والمصادقة.
  • إنشاء SetEnumerationType.cs.
  • تغيير وحدة التعداد domain إلى SqlSpns.
v3.1* غيّر مُنشئ `SetAuthenticationType.cs` إلى طريقة جديدة تسمى `EvaluateAuthenticationType`. * أنشأ `CreateSqlConnectionObject` في `SetAuthenticationType.cs`، والذي يوسّع SQLRecon لدعم كائنات اتصال SQL متعددة في الوقت نفسه. * أنشأ `ADSI.cs`، والذي يدمج هجمات بيانات اعتماد ADSI كما هو موصوف [هنا](https://www.tarlogic.com/blog/linked-servers-adsi-passwords/). * أنشأ وحدات `adsi` و`iAdsi` و`lAdsi`. * أنشأ وحدتي `lLinks` و`iLinks`. * حدّث ملف README وحالات الاختبار والويكي بأمثلة جديدة.
v3.0
  • نفّذ التحقق من الأخطاء للمستخدمين غير الموجودين الذين يتم انتحال هويتهم.
  • أنشأ ExecuteImpersonationQuery وExecuteImpersonationCustomQuery.
  • حذف Impersonate.cs.
  • أضاف وحدة checkRpc.
  • أضاف وحدة iCheckRpc.
  • أضاف وحدة lCheckRpc.
  • أعاد هيكلة وحدات SCCM.
  • أعاد هيكلة تحليل وسائط SCCM.
  • حوّل أوامر قائمة المساعدة إلى صيغة Camel Case لتسهيل القراءة.
  • حدّث الاختبارات بالوحدات الجديدة.
v2.9
  • أعاد تسمية EnableDisable.cs إلى ConfigureOptions.cs.
  • أعاد هيكلة تكوينات الخيارات المتقدمة بشكل شامل.
  • نفّذ التحقق من أخطاء RPC أينما تم استدعاء ExecuteLinkedCustomQueryRpcExec.
v2.8
  • أنشأ PrintUtils.cs، والذي ينفّذ فئة طباعة لمخرجات موحّدة.
  • نقل TablePrinter من Help.cs إلى PrintUtils.cs.
  • وحّد تنسيق الطباعة لجميع مخرجات وحدة التحكم باستخدام فئة PrintUtils.
  • غيّر معدّلات الوصول للفئات ومتغيرات الفئات.
  • أضاف فحصًا لمعرفة ما إذا كانت النتيجة فارغة لكل من:
    • query
    • search
    • tables
    • lColumns
    • lQuery
    • lSearch
    • lTables
    • iColumns
v2.7
  • غيّر مصادقة Azure إلى AzureAD.
  • أنشأ مصادقة AzureLocal.
  • أضاف وحدة disableRpc.
  • أضاف وحدة enableRpc.
  • أضاف وحدة iEnableRpc.
  • أضاف وحدة iDisableRpc.
  • أزال وحدة lEnableRpc.
  • أزال وحدة lDisbleRpc.
  • حدّث الاختبارات بالوحدات الجديدة.
v2.6.1
  • إصلاحات أخطاء lAgentCmd.
  • أصلح استقرار clr وiClr وlClr باستخدام SqlCommand.ExecuteNonQuery عند إنشاء الإجراء المخزّن.
  • أصلح خطأ lClr حيث لم يكن يزيل التجميعات أو الإجراءات المخزّنة التي تم إنشاؤها.
v2.6
  • أضاف وحدة columns.
  • أضاف وحدة iColumns.
  • أضاف وحدة iDatabases.
  • أضاف وحدة iSearch.
  • أضاف وحدة iTables.
  • أضاف وحدة lColumns.
  • أضاف وحدة lSearch.
v2.5
  • إصلاحات أخطاء متنوعة في وحدات SCCM.
  • نظّم قائمة المساعدة باستخدام جدول.
  • حسّن المخرجات التي يوفرها ExecuteLinkedCustomQueryRpcExec.
  • حسّن التعليقات البرمجية في جميع أنحاء الكود.
  • حسّن اتساق أسماء الطرق عبر دوال تنفيذ الأوامر.
  • حسّن النمطية من خلال استخدام أفضل للبرمجة كائنية التوجه.
  • غيّر علامة منفذ خادم SQL المخصص إلى x.
  • نقل Random.cs إلى دليل utilities.
  • وحّد أسلوب الطباعة ليكون أكثر اتساقًا عبر جميع الوحدات.
  • أنشأ أُطر اختبار قياسية، وأُطر انتحال هوية، وأُطرًا للخوادم المرتبطة.
v2.4
  • غيّر مصادقة Windows إلى WinToken.
  • أنشأ مصادقة WinDomain، والتي تستخدم اسم مستخدم وكلمة مرور نطاق Active Directory للمصادقة عبر انتحال الهوية. اطّلع على Impersonation.cs.
  • أعاد هيكلة تحليل الوسائط ومعالجتها عبر ArgumentLogic.cs, SQLAuthentication.cs وModuleHandler.cs.
  • لم يعد ModuleHandler.cs يستخدم عبارة if/else if/else ضخمة لتنفيذ الوحدات. بدلاً من ذلك، يُستخدم الآن الانعكاس (reflection) لاستدعاء الطرق المطابقة لأسماء وحدات الأوامر.
  • أضاف دليل commands، الذي يحتوي على متغيرات عامة تُستخدم في جميع أنحاء البرنامج.
  • دمج جميع موفري المصادقة في SQLAuthentication.cs.
  • نقل تحليل الوسائط من Program.cs إلى ArgumentLogic.cs.
v2.3
  • أضاف وظائف SCCM.
  • أضاف وحدات SCCM، والتي يمكن تنفيذها باستخدام أمر sccm.
  • أصلح التحقق من حالة RPC على خوادم SQL المرتبطة.
  • أضاف القدرة على تنزيل تجميعات .NET عبر HTTP/S.
v2.2
  • وسّع الأدوار التي يتم الاستعلام عنها في وحدات roles وiRoles وlRoles.
  • أنشأ وحدات users وiUsers وlUsers.
  • أصلح عدم إسقاط التجزئة (hash) من sp_drop_trusted_assembly في وحدتي clr وiClr.
  • أنشأ وحدة lAgentCmd.
  • أنشأ وحدة lClr.
v2.1.6
  • أضاف وحدة info.
  • تصحيحات في قائمة المساعدة.
  • حلّ مشكلات الوسائط الإلزامية مع مصادقة Local وAzure.
v2.1.5
  • أضاف وحدة لتعداد أسماء الخدمات الرئيسية (SPNs) الخاصة بالنطاق (-e domain).
v2.1.4
  • أصلح مشكلة بسيطة في تنسيق السلاسل النصية.
v2.1.3
  • أضاف علامة -r إلى وضعي المصادقة Windows وLocal بحيث يمكن توفير منافذ TCP غير قياسية.
v2.1.2
  • حسّن المنطق المتعلق بسلاسل الاتصال الفارغة (null).
v2.1.1
  • أزال Environment.Exit من TestAuthentication.cs.
v2.1
  • أنشأ AgentJobs.cs.
  • أنشأ agentStatus.
  • أنشأ iAgentStatus.
  • أنشأ lAgentStatus.
  • أنشأ agentCmd.
  • أنشأ iAgentCmd.
v2.0
  • أنشأ clr.
  • أنشأ iEnableClr.
  • أنشأ iDisbleClr.
  • أنشأ iClr.
  • أنشأ iWhoami.
  • أنشأ iMapped.
  • أنشأ iRoles.
  • أنشأ lEnableRpc.
  • أنشأ lDisableRpc.
  • أنشأ lWhoai.
  • أنشأ lEnableXp.
  • أنشأ lDisableXp.
  • أنشأ lEnableOle.
  • أنشأ lDisableOle.
v1.2
  • أنشأ وحدة lSmb.
  • أنشأ وحدة lWhoami.
  • أنشأ وحدة lRoles.
v1.1
  • أصلح وحدة oldCmd.
  • أصلح وحدة iOleCmd.
  • أصلح وحدة lDatabases.
  • أصلح وحدة lTables.
  • نظّف قاعدة الكود.
  • صحّح التناقضات في قائمة المساعدة.
تنزيل الأداة
/v, /verbose
الويكي
اسم الوحدة النمطيةالوصفالانتحالالتنفيذ المرتبطتنفيذ السلسلة المرتبطةيتطلب سياقًا مميزًا
CheckRpcالحصول على قائمة بالخوادم المرتبطة وحالة RPC الخاصة بها.✅✅✅❎
Databasesعرض جميع قواعد البيانات.✅✅✅❎
Impersonateتعداد حسابات المستخدمين التي يمكن انتحالها.✅✅✅❎
Infoعرض معلومات حول خادم SQL.✅✅✅❎
Linksتعداد خوادم SQL المرتبطة.✅✅✅❎
Usersعرض حسابات المستخدمين والمجموعات التي يمكنها المصادقة ضد قاعدة البيانات.✅✅✅❎
Whoamiعرض صلاحياتك.✅✅✅❎
Query /c:QUERYتنفيذ استعلام SQL.✅✅✅❎
Smb /unc:UNC_PATHالتقاط تجزئة NetNTLMv2.✅✅✅❎
Columns /db:DATABASE /table:TABLEعرض جميع الأعمدة في قاعدة البيانات والجدول المقدمين.✅✅✅❎
Rows /db:DATABASE /table:TABLEعرض عدد الصفوف في جدول قاعدة البيانات المقدم.✅✅✅❎
Search /keyword:KEYWORDالبحث في أسماء الأعمدة في الجدول المقدم لقاعدة البيانات التي تتصل بها.✅✅✅❎
Tables /db:DATABASEعرض جميع الجداول في قاعدة البيانات المقدمة.✅✅✅❎
EnableRpc /rhost:LINKED_HOSTتمكين RPC و RPC الصادر على خادم مرتبط.✅❌❌✔️
EnableClrتمكين تكامل CLR.✅✅✅✔️
EnableOleتمكين إجراءات أتمتة OLE.✅✅✅✔️
EnableXpتمكين xp_cmdshell.✅✅✅✔️
DisableRpc /rhost:LINKED_HOSTتعطيل RPC و RPC الصادر على خادم مرتبط.✅❌❌✔️
DisableClrتعطيل تكامل CLR.✅✅✅✔️
DisableOleتعطيل إجراءات أتمتة OLE.✅✅✅✔️
DisableXpتعطيل xp_cmdshell.✅✅✅✔️
AgentStatusعرض ما إذا كان وكيل SQL قيد التشغيل والحصول على وظائف الوكيل.✅✅✅✔️
AgentCmd /c:COMMANDتنفيذ أمر نظام باستخدام وظائف الوكيل.✅✅✅✔️
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORTالحصول على بيانات اعتماد ADSI بنص واضح من خادم ADSI مرتبط.✅✅✅✔️
Clr /dll:DLL /function:FUNCTIONتحميل وتنفيذ تجميع .NET في إجراء مخزن مخصص.✅✅✅✔️
OleCmd /c:COMMAND /subsystem:(OPTIONAL)تنفيذ أمر نظام باستخدام إجراءات أتمتة OLE.✅✅✅✔️
XpCmd /c:COMMANDتنفيذ أمر نظام باستخدام xp_cmdshell.✅✅✅✔️
اسم الوحدة النمطيةالوصفالانتحاليتطلب سياقًا مميزًا
Usersعرض جميع مستخدمي SCCM.✅❎
Sitesعرض جميع المواقع الأخرى التي تحتوي على بيانات مخزنة.✅❎
Logonsعرض جميع عملاء SCCM المرتبطين وآخر مستخدم سجل الدخول.✅❎
Credentialsعرض بيانات الاعتماد المشفرة المخزنة بواسطة SCCM.✅❎
TaskListعرض جميع تسلسلات المهام، ولكن دون الوصول إلى محتويات بيانات المهام.✅❎
TaskDataفك تشفير جميع تسلسلات المهام إلى نص واضح.✅❎
DecryptCredentialsفك تشفير كتلة بيانات اعتماد SCCM. يجب تنفيذه في عملية ذات سلامة عالية أو عملية SYSTEM على خادم SCCM.❌✔️
AddAdmin /user:DOMAIN\USERNAME /sid:SIDرفع حساب مقدم إلى 'مسؤول كامل' في SCCM.✅✔️
RemoveAdmin /user:ADMIN_ID /remove:STRINGإزالة صلاحيات مستخدم، أو إزالة مستخدم بالكامل من قاعدة بيانات SCCM.✅✔️
  • تحاول وحدة DecryptCredentials فك تشفير كتل بيانات اعتماد SCCM المستردة. يجب تشغيل هذه الوحدة في عملية ذات سلامة عالية أو عملية SYSTEM على خادم SCCM.
  • ترفع وحدة AddAdmin الحساب المحدد إلى 'مسؤول كامل' داخل SCCM. إذا كان المستخدم المستهدف مستخدم SCCM بالفعل، فستضيف هذه الوحدة بدلاً من ذلك الصلاحيات اللازمة للرفع. قدم وسيطتين، إما /user:current /sid:current إذا كنت تسعى لإضافة المستخدم الذي ينفذ حاليًا عملية SQLRecon كـ'مسؤول كامل' في SCCM. إذا كنت تسعى لإضافة مستخدم آخر كـ'مسؤول كامل' في SCCM، فحدد اسم مستخدم المجال الخاص به ومعرّف SID الكامل /user:DOMAIN\USERNAME /sid:S-1-5-.... تتطلب هذه الوحدة صلاحيات sysadmin أو ما شابه ذلك حيث أن الكتابة إلى جداول قاعدة بيانات SCCM مطلوبة.
  • تزيل وحدة RemoveAdmin صلاحيات مستخدم عن طريق إزالة مستخدم مضاف حديثًا بالكامل من قاعدة بيانات SCCM. إذا كان المستخدم موجودًا بالفعل بشكل ما، فإن هذه الوحدة تزيل فقط الأدوار الثلاثة التي تمت إضافتها إلى الحساب عبر الكتابة إلى جدول الصلاحيات. استخدم الوسيطات المقدمة من مخرجات أمر sAddAdmin لتشغيل هذا الأمر. تتطلب هذه الوحدة صلاحيات sysadmin أو ما شابه ذلك حيث أن الكتابة إلى جداول قاعدة بيانات SCCM مطلوبة.
  • إضافة وضع التفصيل (/verbose, /v)، والذي سيعرض جميع استعلامات SQL التي سيتم تنفيذها أثناء تنفيذ الوحدة النمطية.
  • إضافة المهلة (/timeout, /t)، والتي تأخذ قيمة عدد صحيح لمهلة اتصال قاعدة بيانات خادم SQL.
  • تحسين وحدة links لتشمل معلومات مفصلة. الفضل يعود إلى Azaël Martin (n3rada).
  • تحسين وحدة whoami لتشمل كيانات Windows ومستخدمي قاعدة البيانات. الفضل يعود إلى Azaël Martin (n3rada).
  • تحسين وحدة impersonation لتشمل كيانات Windows ومستخدمي قاعدة البيانات. الفضل يعود إلى Azaël Martin (n3rada).
  • إضافة استرداد عنوان IP إلى وحدة التعداد sqlspns. الفضل يعود إلى Azaël Martin (n3rada).
  • توحيد مخرجات وحدة التحكم إلى markdown حيثما أمكن. الفضل يعود إلى Azaël Martin (n3rada).
  • إضافة دعم DNS إلى وحدة /enum:info.
  • إضافة وسيطة /subsystem اختيارية إلى وحدة olecmdexec، والتي تقبل التنفيذ باستخدام الأنظمة الفرعية لأتمتة OLE CmdExec أو PowerShell.
  • تحديث منصات الاختبار لتعكس تغييرات سطر الأوامر والوحدات الجديدة.
  • تغيير مصادقة AzureAD إلى EntraID.
  • نقل جميع استعلامات SQL إلى Queries.cs.
  • إنشاء EnumerationModules.cs.
  • إنشاء FormatQuery.cs.
  • إنشاء SccmModules.cs.
  • إعادة تسمية ModuleHandler.cs إلى SqlModules.cs.
  • إعادة تسمية PrintUtils.cs إلى Print.cs.
  • إعادة تسمية SQLServerInfo.cs إلى Info.cs.
  • iQuery
  • iSearch
  • اختبار موسّع للموثوقية والوظائف ضد جميع موفري المصادقة والوحدات.
  • أزال دليل authentication.
  • غيّر نمط الكود ليتوافق بشكل أفضل مع دليل أنماط كود C#/.NET من Microsoft.
  • غيّر Help.cs من طريقة إلى مُنشئ.
  • غيّر CaptureHash.cs من طريقة إلى مُنشئ.
  • غيّر Impersonate.cs من طريقة إلى مُنشئ.
  • أعاد هيكلة قاعدة الكود بالكامل.
  • أنشأ lEnableClr.
  • أنشأ lDisableClr.
  • أنشأ lXpCmd.
  • أنشأ lXpOle.
  • أنشأ Random.cs.
  • أنشأ EnableDisable.cs.
  • نفّذ أسماء تجميعات مولّدة عشوائيًا لوحدة clr.
  • نفّذ أسماء متغيرات وطرق مولّدة عشوائيًا لوحدة ole.
  • دمج وحدتي mapped وroles في whoami.
  • دمج وحدتي lMapped وlRoles في lWhoami.
  • دمج وحدتي iMapped وiRoles في iWhoami.
  • أعاد هيكلة قاعدة الكود بالكامل.