
أداة هجومية لـ MSSQL مكتوبة بلغة Python، مستندة إلى SQLRecon
PySQLRecon
PySQLRecon هو نسخة بلغة بايثون من المشروع الرائع SQLRecon الذي قام به @sanjivkawa. راجع قسم الأوامر لمعرفة قائمة الإمكانيات.
منشور يوضح SCCM TAKEOVER-1 باستخدام PySQLRecon.
يمكن تثبيت PySQLRecon باستخدام pip3 install pysqlrecon أو عن طريق استنساخ هذا المستودع وتشغيل pip3 install .
جميع الوحدات الرئيسية من SQLRecon لها أوامر مكافئة. الأوامر المُشار إليها بـ [PRIV] تتطلب صلاحيات مرتفعة أو صلاحيات مسؤول النظام لتشغيلها. بدلاً من ذلك، الأوامر المُشار إليها بـ [NORM] يمكن عادةً تشغيلها بواسطة المستخدمين العاديين ولا تتطلب صلاحيات مرتفعة.
دعم الانتحال ([I]) أو التنفيذ على الخوادم المرتبطة ([L]) يُشار إليه في نهاية وصف الأمر.
adsi [PRIV] الحصول على بيانات اعتماد ADSI من خادم مرتبط بـ ADSI [I,L]
agentcmd [PRIV] تنفيذ أمر نظام باستخدام وظائف الوكيل [I,L]
agentstatus [PRIV] تعداد حالة الوكيل ووظائف SQL [I,L]
checkrpc [NORM] تعداد حالة RPC للخوادم المرتبطة [I,L]
clr [PRIV] تحميل وتنفيذ تجميع .NET في إجراء مخزن [I,L]
columns [NORM] تعداد الأعمدة داخل جدول [I,L]
databases [NORM] تعداد قواعد البيانات على خادم [I,L]
disableclr [PRIV] تعطيل تكامل CLR [I,L]
disableole [PRIV] تعطيل إجراءات أتمتة OLE [I,L]
disablerpc [PRIV] تعطيل RPC وRPC Out على خادم مرتبط [I]
disablexp [PRIV] تعطيل xp_cmdshell [I,L]
enableclr [PRIV] تمكين تكامل CLR [I,L]
enableole [PRIV] تمكين إجراءات أتمتة OLE [I,L]
enablerpc [PRIV] تمكين RPC وRPC Out على خادم مرتبط [I]
enablexp [PRIV] تمكين xp_cmdshell [I,L]
impersonate [NORM] تعداد المستخدمين الذين يمكن انتحالهم
info [NORM] جمع معلومات حول خادم SQL
links [NORM] تعداد الخوادم المرتبطة [I,L]
olecmd [PRIV] تنفيذ أمر نظام باستخدام إجراءات أتمتة OLE [I,L]
query [NORM] تنفيذ استعلام SQL مخصص [I,L]
rows [NORM] الحصول على عدد الصفوف في جدول [I,L]
sample [NORM] الاستعلام عن عينة من بيانات الجدول [I,L]
sccm [SUBM] وحدة فرعية لأوامر SCCM المحددة
search [NORM] البحث في جدول عن اسم عمود [I,L]
smb [NORM] إجبار مصادقة NetNTLM عبر xp_dirtree [I,L]
tables [NORM] تعداد الجداول داخل قاعدة بيانات [I,L]
users [NORM] تعداد المستخدمين الذين لديهم وصول إلى قاعدة البيانات [I,L]
whoami [NORM] جمع المستخدم المسجل دخوله والمستخدم المعيّن والأدوار [I,L]
xpcmd [PRIV] تنفيذ أمر نظام باستخدام xp_cmdshell [I,L]
يمكن العثور على أوامر SCCM عن طريق تشغيل pysqlrecon [OPTIONS] sccm -h (يجب تحديد العلامات العامة المطلوبة لكي يعمل هذا - راجع الاستخدام)
addadmin [PRIV] رفع حساب إلى مسؤول كامل [I]
credentials [NORM] عرض بيانات الاعتماد المشفرة [I]
logons [NORM] عرض عملاء SCCM وآخر مستخدم سجل دخوله [I]
removeadmin [PRIV] إزالة حساب مرفوع أو صلاحيات مرفوعة [I]
sites [NORM] جمع معلومات موقع SCCM [I]
taskdata [NORM] فك تشفير تسلسلات المهام [I]
tasklist [NORM] عرض تسلسلات المهام [I]
users [NORM] تعداد مستخدمي SCCM [I]
يحتوي PySQLRecon على خيارات عامة (متاحة لأي أمر)، مع إدخال بعض الأوامر علامات إضافية. يجب تحديد جميع الخيارات العامة قبل اسم الأمر:
pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]
عرض الخيارات العامة:
pysqlrecon --help
عرض الخيارات الخاصة بأمر معين:
pysqlrecon [GLOBAL_OPTS] COMMAND --help
تغيير قاعدة البيانات التي يتم المصادقة عليها، أو المستخدمة في بعض أوامر PySQLRecon (query, tables, columns rows)، باستخدام العلامة --database.
استهداف تنفيذ أمر PySQLRecon على خادم مرتبط (بدلاً من خادم SQL الذي يتم المصادقة عليه) باستخدام العلامة --link.
انتحال حساب مستخدم أثناء تشغيل أمر PySQLRecon باستخدام العلامة --impersonate.
--link و --impersonate غير متوافقين.
ntlmrelayxيمكن استخدام PySQLRecon مع proxychains للاستفادة من المصادقة المُعاد توجيهها التي تستهدف خدمة mssql://. نظرًا لطريقة عمل جلسات ntlmrelayx، لن يتم احترام المعامل --database عند تشغيل PySQLRecon (ستكون جلسة التوجيه متصلة دائمًا بقاعدة البيانات الرئيسية). قد يظهر هذا الأمر خاصة عند استخدام وحدات SCCM، التي تتطلب تحديد قاعدة بيانات الموقع. لإصلاح ذلك، قم أولاً بتغيير سياق قاعدة البيانات باستخدام وحدة query (سيستمر هذا عبر أي استخدام لاحق لـ PySQLRecon، مع نفس جلسة التوجيه). مثال:
proxychains4 pysqlrecon -t <target> -d <DOMAIN> -u <username> -p FAKE query --query 'use new_db_name'
يمكنك الآن تشغيل وحدات/استعلامات تستهدف الموارد داخل تلك القاعدة المحددة، حتى بدون تحديد --database، من نفس جلسة ntlmrelayx.
يستخدم pysqlrecon uv لإدارة التبعيات. قم بالتثبيت من المصدر والإعداد للتطوير باستخدام:
# تثبيت uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# تثبيت pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help
PySQLRecon قابل للتوسيع بسهولة - راجع القالب والتعليمات في الموارد