
مجموعة أدوات C# لـ MS SQL مصممة للاستطلاع الهجومي والاستغلال اللاحق.
SQLRecon هي مجموعة أدوات لخادم SQL من مايكروسوفت مصممة للاستطلاع الهجومي وما بعد الاستغلال. للحصول على معلومات مفصلة حول كيفية استخدام كل أسلوب، راجع الويكي.
يمكنك تنزيل نسخة من 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.
# مزودو المصادقة
يدعم 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.
Pth - Authenticate using an NT hash (pass-the-hash) over raw TDS/NTLM. Elevated privileges or SeImpersonate is not required.
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> NETBIOS domain name.
/u:, /username: -> Domain username.
/hash: -> NT hash (32 hex chars, 8846f7eaee8fb117ad06bdd830b7586c) or LM:NT format.
/h:, host:) مطلوبة وتسمح بخادم SQL واحد أو أكثر. إذا كنت ترغب في تنفيذ وحدة ضد خوادم SQL متعددة، فافصل بين المضيفين بفاصلة، على سبيل المثال /h:SQL01,10.10.10.2,SQL03.master افتراضيًا، ومع ذلك، يمكن تغيير ذلك اختياريًا عن طريق توفير اسم قاعدة بيانات مخصص عبر علامة قاعدة البيانات (/database:)./debug اختيارية وتعرض جميع استعلامات SQL التي يتم تنفيذها بواسطة وحدة، دون تنفيذها فعليًا على المضيف (المضيفين) البعيد. يمكن العثور على مثال على ذلك في الويكي.1433 افتراضيًا، ومع ذلك، يمكن تغيير ذلك اختياريًا باستخدام علامة /port:.3 ثوانٍ، ومع ذلك، يمكن تغيير هذه القيمة اختياريًا عن طريق توفير قيمة مهلة (/t:, /timeout:) والتي تقابل عدد الثواني قبل إنهاء محاولة الاتصال./v, /verbose اختيارية وتعرض جميع استعلامات SQL التي يتم تنفيذها بواسطة وحدة قبل تنفيذها على المضيف (المضيفين) البعيد. يمكن العثور على مثال على ذلك في .يرجى ملاحظة أن موفر المصادقة EntraID يتطلب وجود مكتبة مصادقة Azure Active Directory (ADAL) أو مكتبة مصادقة Microsoft (MSAL) على النظام الذي يتم تنفيذ SQLRecon منه. هذا لوظيفة المصادقة والترخيص لـ Azure EntraID.
يتم تنفيذ وحدات SQL ضد مثيل واحد أو أكثر من خادم Microsoft SQL. يجب تمرير هذه الوحدات إلى علامة الوحدة (/m:, /module:).
علامة المضيف (/h:, host:) مطلوبة وتسمح بخادم SQL واحد أو أكثر. إذا كنت ترغب في تنفيذ وحدة ضد خوادم SQL متعددة، فافصل بين المضيفين بفاصلة، على سبيل المثال /h:SQL01,10.10.10.2,SQL03.
تفاصيل استخدام كل وحدة تدعم التنفيذ على مثيل واحد أو أكثر من خادم SQL موجودة في الويكي.
يتم تنفيذ وحدات انتحال الشخصية ضد مثيل واحد أو أكثر من خادم Microsoft SQL، في سياق مستخدم SQL منتحل. جميع وحدات انتحال الشخصية لديها المتطلبات الدنيا التالية:
/i:, /iuser:)./m:, /module:).تفاصيل استخدام كل وحدة تدعم التنفيذ باستخدام انتحال الشخصية موجودة في الويكي.
يتم تنفيذ الوحدات المرتبطة على مثيل واحد أو أكثر من خادم Microsoft SQL مرتبط. جميع الوحدات المرتبطة لديها المتطلبات الدنيا التالية:
/l:, /link:). تسمح علامة الارتباط بخادم SQL مرتبط واحد أو أكثر. على سبيل المثال، إذا كان SQL01 لديه رابط إلى SQL02، و SQL01 لديه رابط إلى DB04، يمكنك فصل المضيفين المرتبطين بفاصلة، وسيتم تنفيذ وحدة على كل خادم SQL مرتبط، على سبيل المثال /l:SQL02,DB04./m:, /module:).تفاصيل استخدام كل وحدة تدعم التنفيذ على مثيل واحد أو أكثر من خادم SQL مرتبط موجودة في الويكي.
يتم تنفيذ وحدات السلسلة المرتبطة على خادم Microsoft SQL النهائي في سلسلة خوادم مرتبطة. جميع وحدات السلسلة المرتبطة لديها المتطلبات الدنيا التالية:
/l:, /link:. إذا كان SQL01 لديه رابط إلى SQL02، و SQL02 لديه رابط إلى PAYMENTS01، وتريد تنفيذ وحدة على PAYMENTS01، فسيكون الوسيط /l:SQL02,PAYMENTS01./chain لتنفيذ الوحدة ضد خادم SQL النهائي في السلسلة المرتبطة المقدمة./m:, /module:).تفاصيل استخدام كل وحدة تدعم التنفيذ على خادم SQL النهائي المقدم في سلسلة خوادم SQL مرتبطة موجودة في الويكي.
يحتوي 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 موجودة في الويكي.
Users بإدراج جميع المستخدمين في جدول RBAC_Admins. هؤلاء هم جميع المستخدمين المهيئين لمستوى معين من الوصول إلى SCCM.Sites بإدراج جميع المواقع الأخرى مع البيانات المخزنة في جدول DPInfo الخاص بقواعد بيانات SCCM. يمكن أن يوفر هذا طرق هجوم إضافية حيث يمكن تكوين مواقع مختلفة بطرق مختلفة (غير آمنة).Logons جدول Computer_System_DATA لاسترداد جميع عملاء SCCM المرتبطين مع المستخدم الذي سجل الدخول إليهم آخر مرة. ملاحظة: يتم تحديث هذا مرة واحدة في الأسبوع افتراضيًا ولن يكون محدثًا بنسبة 100%. استخدم /option: كوسيط اختياري (غير مطلوب) لتصفية عملاء SCCM.TaskList قائمة بجميع تسلسلات المهام المخزنة في قاعدة بيانات SCCM، ولكنها لا تصل إلى محتويات بيانات المهمة الفعلية.TaskData جميع تسلسلات المهام المخزنة في قاعدة بيانات SCCM وتقوم بفك تشفيرها إلى نص عادي. يمكن أن تحتوي تسلسلات المهام على بيانات اعتماد لضم الأنظمة إلى المجالات، ومشاركات الخرائط، وتشغيل الأوامر، وما إلى ذلك.Credentials بإدراج بيانات الاعتماد المخزنة بواسطة SCCM لاستخدامها في وظائف مختلفة. لا يمكن فك تشفير بيانات الاعتماد هذه عن بُعد لأن المفتاح مخزن على خادم SCCM. ومع ذلك، توفر هذه الوحدة معلومات استخباراتية حول ما إذا كان من المنطقي محاولة الحصول على المفتاح.إذا كنت مهتمًا بتوسيع SQLRecon، فيرجى الرجوع إلى قسم المساهمة والتوسيع في الويكي.
أشجعك على فتح issue إذا كان لديك أي اقتراحات أو أفكار.
الهدف هو تحسين SQLRecon باستمرار. فيما يلي بعض مجالات البحث المخطط لها:
ساهم الأشخاص التاليون بشكل مباشر أو غير مباشر في جوانب مختلفة من SQLRecon.
/auth:pth). ينفذ مصادقة TDS/NTLM الخام عبر PTHTdsConnection و NtlmHelper و PthState بحيث تعمل جميع الوحدات دون بيانات اعتماد نصية أو امتيازات مرتفعة. تتضمن الإصلاحات الرئيسية خيارات جلسة ANSI بعد تسجيل الدخول، وتقسيم TDS متعدد الحزم، ومعالجة حالة الجمود في تدفق TCP لاتصالات CLR المتزامنة، وتوافق تدوين الأقواس لـ OPENQUERY._linkedChainRpcQuerySystem.Byte[] بشكل صحيح وطباعته على وحدة التحكم.credentialobjectss و proxies (jakxx).agentcmd (jakxx).role الذي لا يعمل بشكل صحيح عبر السلسلة المرتبطة (passthehashbrowns).impersonate بشكل صحيح عبر السلسلة المرتبطة (passthehashbrowns).EnableRpc/DisableRpc عبر السلاسل المرتبطة (passthehashbrowns).XpCmd عبر السلاسل المرتبطة، كما تدعم الإخراج الآن (passthehashbrowns).EXEC AT ما لم تكن محاطة بأقواس، مما يسبب مشاكل إذا كان اسم الخادم المرتبط هو عنوان IP أو FQDN (passthehashbrowns)..First التي ترجع "0". لقد قمت بتحديثه بحيث تقوم دالة LinkedChainQuery بإنشاء مصفوفة جديدة مع "0" في المقدمة ثم تستدعي المنطق الحالي في دالة منفصلة، تسمى الآن LinkedChainQueryRecurse (passthehashbrowns).impersonate للتعامل مع حالات sysadmin بشكل صحيح (n3rada).scriptdata و cidata (G0ldenGunSec).auditstatus للتحقق من وجود تدقيق SQL (chryzsh).whoami (JBalanza).adsi حيث لا يحتاج خادم LDAP إلى الإضافة إلى قاعدة البيانات msdb، كما تم إسقاط الوظيفة التي تم إنشاؤها بشكل صحيح الآن./host أو /h أصبح مدعومًا الآن باستخدام قيم مفصولة بفاصلة./link أو /l أصبح مدعومًا الآن باستخدام قيم مفصولة بفاصلة./lhost إلى /link.s' وإنشاء المفتاح /s، /sccm لوحدات SCCM.DecryptCredentials./enum) جديدة تسمى info والتي يمكنها استخدام سياق غير مصادق عليه للحصول على معلومات خادم SQL، بما في ذلك اسم المثيل ومنفذ TCP باستخدام بروتوكول UDP.ModuleHandler.cs لتعزيز التبسيط وقابلية التوسعة.adsi المرتبط لا يزيل خادم LDAP.adsi المرتبط، لصالح openquery/rpc./lhost إلى /adsi في وحدة adsi./rhost إلى /unc في وحدة smb.CaptureHash.cs وتبسيط المنطق.SetEnumerationType.cs وتبسيط المنطق.Impersonation.cs إلى Impersonate.cs.OleCmdExec.cs إلى OleAutomation.cs.smb.info.info.rows، iRows و lRows.sLogons ليشمل عامل تصفية اختياري.xp_cmdshell لا تطبع إخراج الأمر إلى وحدة التحكم.SetEnumerationType.cs.domain إلى SqlSpns.SetAuthenticationType.cs إلى طريقة جديدة تسمى EvaluateAuthenticationType.CreateSqlConnectionObject في SetAuthenticationType.cs والذي يوسع SQLRecon لدعم كائنات اتصال SQL متعددة متزامنة.ADSI.cs، والذي يدمج هجمات بيانات اعتماد ADSI كما هو موضح هنا.adsi، iAdsi، و lAdsi.lLinks و iLinks.ExecuteImpersonationQuery و ExecuteImpersonationCustomQuery.Impersonate.cscheckRpc.iCheckRpc.lCheckRpc.EnableDisable.cs إلى ConfigureOptions.csExecuteLinkedCustomQueryRpcExec.PrintUtils.cs، الذي ينفذ فئة طباعة لإخراج موحد.TablePrinter من Help.cs إلى PrintUtils.cs.PrintUtils.querysearchtableslColumnslQuerylSearchlTablesiColumnsAzure إلى AzureAD.AzureLocal.disableRpc.enableRpc.iEnableRpc.iDisableRpc.lEnableRpc.lDisbleRpc.lAgentCmd.clr، iClr و lClr باستخدام SqlCommand.ExecuteNonQuery عند إنشاء الإجراء المخزن.lClr حيث لم يكن يزيل التجميعات أو الإجراءات المخزنة المنشأة.columns.iColumns.iDatabases.iSearch.iTables.lColumns.lSearch.ExecuteLinkedCustomQueryRpcExec.x.Random.cs إلى دليل utilities.Windows إلى WinToken.WinDomain، والتي تستخدم اسم مستخدم وكلمة مرور مجال AD للمصادقة عبر انتحال الشخصية. تحقق من Impersonation.cs.ArgumentLogic.cs، SQLAuthentication.cs و ModuleHandler.cs.ModuleHandler.cs لم يعد يستخدم جملة if/else if/else ضخمة لتنفيذ الوحدات. بدلاً من ذلك، يتم الآن استخدام الانعكاس لاستدعاء الطرق المطابقة لأسماء وحدات الأوامر.commands، الذي يحتوي على متغيرات عامة تُستخدم في جميع أنحاء البرنامج.SQLAuthentication.cs.Program.cs إلى ArgumentLogic.cs.sccm.roles، iRoles و lRoles.users، iUsers و lUsers.sp_drop_trusted_assembly في وحدتي clr و iClr.lAgentCmd.lClr.info.Local و Azure.-e domain).-r إلى وضعي مصادقة Windows و Local بحيث يمكن توفير منافذ TCP غير قياسية.Environment.Exit من TestAuthentication.cs.AgentJobs.cs.agentStatus.iAgentStatus.lAgentStatus.agentCmd.iAgentCmd.clr.iEnableClr.iDisbleClr.iClr.iWhoami.iMapped.iRoles.lEnableRpc.lDisableRpc.lWhoami.lEnableXp.lDisableXp.lEnableOle.lDisableOle.lSmb.lWhoami.lRoles.oldCmd.iOleCmd.lDatabases.lTables.| اسم الوحدة | الوصف | انتحال الشخصية | التنفيذ المرتبط | التنفيذ المتسلسل المرتبط | يتطلب سياقًا متميزًا |
|---|
AuditStatus | التحقق من وجود تدقيق SQL. | ✅ | ✅ | ✅ | ❎ |
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 out على خادم مرتبط. | ✅ | ❌ | ❌ | ✔️ |
EnableClr | تمكين تكامل CLR. | ✅ | ✅ | ✅ | ✔️ |
EnableOle | تمكين إجراءات أتمتة OLE. | ✅ | ✅ | ✅ | ✔️ |
EnableXp | تمكين xp_cmdshell. | ✅ | ✅ | ✅ | ✔️ |
DisableRpc /rhost:LINKED_HOST | تعطيل RPC و RPC out على خادم مرتبط. | ✅ | ❌ | ❌ | ✔️ |
DisableClr | تعطيل تكامل CLR. | ✅ | ✅ | ✅ | ✔️ |
DisableOle | تعطيل إجراءات أتمتة OLE. | ✅ | ✅ | ✅ | ✔️ |
DisableXp | تعطيل xp_cmdshell. | ✅ | ✅ | ✅ | ✔️ |
AgentStatus | عرض ما إذا كان وكيل SQL قيد التشغيل والحصول على مهام الوكيل. | ✅ | ✅ | ✅ | ✔️ |
AgentCmd /c:COMMAND /subsystem:(OPTIONAL) /proxy:(OPTIONAL) | تنفيذ أمر نظام باستخدام مهام الوكيل. اختياريًا، حدد نظامًا فرعيًا باستخدام /subsystem:، الافتراضي هو 'PowerShell'. اختياريًا، حدد حساب وكيل SQL باستخدام /proxy:. | ✅ | ✅ | ✅ | ✔️ |
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORT | الحصول على بيانات اعتماد ADSI بنص واضح من خادم ADSI مرتبط. | ✅ | ✅ | ✅ | ✔️ |
Clr /dll:DLL /function:FUNCTION | تحميل وتنفيذ تجميع .NET في إجراء مخزن مخصص. | ✅ | ✅ | ✅ | ✔️ |
CredentialObjects | الحصول على كائنات بيانات الاعتماد من sys.credentials. | ✅ | ✅ | ✅ | ✔️ |
OleCmd /c:COMMAND /subsystem:(OPTIONAL) | تنفيذ أمر نظام باستخدام إجراءات أتمتة OLE. | ✅ | ✅ | ✅ | ✔️ |
Proxies | الحصول على معلومات وكيل SQL. | ✅ | ✅ | ✅ | ✔️ |
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. | ✅ | ✔️ |
ScriptData | إرجاع جميع البرامج النصية المهيأة للتشغيل في SCCM. | ✅ | ✔️ |
CIData | إرجاع جميع CIs المهيأة لتشغيل البرامج النصية في 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 مطلوبة.Queries.cs.EnumerationModules.cs.FormatQuery.cs.SccmModules.cs.ModuleHandler.cs إلى SqlModules.cs.PrintUtils.cs إلى Print.cs.SQLServerInfo.cs إلى Info.cs.iQueryiSearchauthentication.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.