
أدوات مطورة ذاتيًا للحركة الجانبية/تنفيذ الأكواد
تم إنشاء هذا المستودع بناءً على MiscTool الموجود بالفعل، لذا تحية كبيرة لـ rasta-mouse على إصدارها وعلى إعطائي الدافع المناسب للعمل عليها.
تنفيذ الأوامر / الحركة الجانبية عبر وظائف مشابهة لـ PsExec. يجب تشغيله في سياق مستخدم متميز. الأداة مبنية على CsExec من rasta-mouse، لكنها صُممت لتوفير تحكم إضافي في إنشاء الخدمة، وتحديدًا:
CheeseExec.exe <targetMachine> <serviceName> <binPath> <action>
انظر أيضًا TikiService.
CheesePS هو إطار عمل لتنفيذ الأوامر / الحركة الجانبية. يعتمد على System.Management.Automation.PowerShell لتحميل وتنفيذ كود عشوائي عبر PowerShell.
الأداة قادرة بشكل أصلي على تجاوز القيود الشائعة عن طريق إنشاء واستخدام مساحات تشغيل PowerShell على الأهداف المحلية أو البعيدة.
يجب تشغيلها في سياق مستخدم متميز (إذا كان يستخدم PowerShell Remoting).
تم إنشاء الأداة في الأصل كتحسين لـ CsPosh من rasta_mouse، لكنها نمت بما يكفي لتصبح إطار عمل بذاتها، ويمكن استخدامها الآن كأداة حقن عامة لـ PowerShell.
تم تلخيص الفكرة وراء هذه الأداة في المقالة التالية:
الوظائف الرئيسية المنفذة هي:
لقطة الشاشة التالية هي مخطط دقيق إلى حد ما لوصف سير عمل الأداة:

الاستخدام:
-t, --target=VALUE الجهاز الهدف
-c, --code=VALUE الكود المراد تنفيذه
-e, --encoded يشير إلى أن الكود المقدم مشفر بـ base64
-a, --am-si-bypass=VALUE يستخدم سكربت PowerShell المعطى لتجاوز A-M-S-
I (fs, smb o http[s])
--aX, --encrypted-am-si
يشير إلى أن تجاوز A.M.S.I المقدم مشفر
-i, --import=VALUE يستورد وحدات PowerShell إضافية (fs, smb o http[s])
--iX, --encrypted-imports
يشير إلى أن وحدات PowerShell المقدمة مشفرة
-o, --outstring إلحاق Out-String بالكود
-r, --redirect إعادة توجيه stderr إلى stdout
-d, --domain=VALUE المجال لبيانات الاعتماد البديلة
-u, --username=VALUE اسم المستخدم لبيانات الاعتماد البديلة
-p, --password=VALUE كلمة المرور لبيانات الاعتماد البديلة
-X, --encrypt=VALUE تشفير سكربت بمفتاح ثابت
-D, --decrypt=VALUE اختبار فك تشفير سكربت بمفتاح ثابت
-n, --skip-bypass=VALUE تخطي تقنيات تجاوز A.M.S.I (A)، WLDP (W) أو الكل (*)
-l, --lockdown-escape محاولة تمكين وضع FullLanguage لـ PowerShell باستخدام REGINI
-w, --wldp-bypass=VALUE يستخدم سكربت PowerShell المعطى لتجاوز WLDP (fs, smb o http[s])
--wX, --encrypted-wldp يشير إلى أن تجاوز WLDP المقدم مشفر
-x, --executable=VALUE [تنزيل و] تنفيذ ملف تنفيذي معين
--xX, --encrypted-executable
يشير إلى أن الملف التنفيذي/DLL المقدم مشفر
--xCS, --executable-csharp
يشير إلى أن الملف التنفيذي المقدم هو C# - (.NET)
-R, --reflective-injection يستخدم Invoke-ReflectivePEInjection لتحميل التجميع من الذاكرة (يتطلب استيراد Invoke-ReflectivePEInjection!)
-P, --powershell-decrypt فرض استخدام فك التشفير القائم على PowerShell
-k, --encryption-key=VALUE يستخدم المفتاح المقدم للتشفير/فك التشفير
--ssl فرض استخدام SSL
-h, -?, --help عرض المساعدة
ملاحظة: إذا تم التنفيذ بدون هدف، فسيتم تنفيذ السكربت ضد الجهاز المحلي
انظر أيضًا AmsiBypass.
تنفيذ الأوامر / الحركة الجانبية عبر DCOM. يجب تشغيله في سياق مستخدم متميز. هذه الأداة مبنية على CsDCOM من rasta-mouse، لكنها تم تحسينها بإضافة طرق إضافية، والتكيف مع الأبحاث الجديدة التي أجراها Philip Tsukerman. هناك أيضًا طريقة تجريبية "لإصلاح" المحاولات المحتملة لتعطيل كائنات DCOM المتأثرة عبر dcomcfg، لكنها تتطلب بعض الشروط المسبقة لتعمل بشكل صحيح.
تم تلخيص الفكرة وراء هذه الأداة في المقالة التالية:
الطرق الحالية: MMC20.Application, ShellWindows, ShellBrowserWindow, ExcelDDE, VisioAddonEx,
OutlookShellEx, ExcelXLL, VisioExecLine, OfficeMacro.
الاستخدام:
-t, --target=VALUE الجهاز الهدف
-b, --binary=VALUE الملف الثنائي: powershell.exe
-a, --args=VALUE الوسائط: -enc <blah>
-m, --method=VALUE الطرق: MMC20Application, ShellWindows,
ShellBrowserWindow, ExcelDDE, VisioAddonEx,
OutlookShellEx, ExcelXLL, VisioExecLine,
OfficeMacro
-r, --reg, --registry تمكين معالجة السجل
-h, -?, --help عرض المساعدة
ملاحظة: إذا تم التنفيذ باستخدام -t .، فسيتم تنفيذ السكربت ضد الجهاز المحلي
انظر أيضًا الحركة الجانبية باستخدام كائنات DCOM و C#
سارق بيانات اعتماد RDP عبر حقن DLL عاكس (RDI). يجب تشغيله في سياق مستخدم متميز، أو مستخدم لديه صلاحية SeImpersonatePrivilege.
هذه الأداة مبنية على RdpThief من MDSec، لكنها مغلفة بالكامل في ملف C# واحد لتمكين تشغيلها عبر .NET Reflection (Assembly.Load وما شابه). بهذه الطريقة، يمكن تشغيلها عبر Covenant دون عناء رفع DLL على النظام الهدف.
الاستخدام:
CheeseRDP [إجراءات]
الإجراءات:
wait: الاستمرار في الاستماع لأي عملية mstsc.exe جديدة إلى أجل غير مسمى (توقف بـ ctrl-C)
clean: حذف ملف تفريغ بيانات الاعتماد إذا كان موجودًا
dump: تفريغ محتوى الملف إذا كان موجودًا، مع تحليل بيانات الاعتماد بتنسيق مضغوط
ملاحظة: إذا تم التنفيذ بدون خيارات، سيحاول البرنامج الحقن في عملية mstsc.exe نشطة (وقت الانتظار الافتراضي هو 10 ثوانٍ)
تنفيذ الأوامر / الحركة الجانبية عبر ثقة MSSQL. تم تطوير هذه الأداة للتغلب على بعض القيود التي توفرها الأدوات الموجودة مثل esc، خاصة فيما يتعلق بانتحال شخصية MSSQL. علاوة على ذلك، تم تعديل CheeseSQL خصيصًا ليعمل من Covenant (عبر التحميل العاكس)، ولأتمتة أهم مراحل إساءة استخدام ثقة MSSQL. المثير للاهتمام بشكل خاص هو تنفيذ إساءة استخدام CLR، الذي يسمح للمستخدم بتجميع ورفع امتداد MSSQL أثناء التنقل باستخدام Roslyn لتحقيق تنفيذ الأوامر. فيما يلي عرض توضيحي صغير جدًا، الأمر المنفذ هو أداة تنزيل مشفرة لـ PowerShell Covenant):

وفقًا لقاعدتي في "تقديم الفضل دائمًا لمن يستحقه"، تم تطوير هذه الأداة بدءًا من مشروع موجود بالفعل لـ Jb05s، يسمى SharpSQL، لذا تحية كبيرة لجيريمي على عمله.
أيضًا، أوصي بشدة برؤية جميع الأدوات من NetSPI فيما يتعلق بتدقيق واستغلال MSSQL، لأنها رائعة حقًا:
[*] قائمة الأوامر المتاحة:
- findspn : العثور على مثيلات MSSQL باستخدام SPNs المجال
- listdb : سرد قواعد البيانات المتاحة على الخادم
- gethash : إرسال تجزئة Net-NTLM لحساب الخدمة إلى عنوان IP عشوائي
- getlogin : استرداد عمليات تسجيل الدخول SQL المتاحة للانتحال
- getdbuser : استرداد معلومات حول تسجيل دخول SQL، والمستخدم المعين حاليًا، وأدوار المستخدم المتاحة
- getlinked : استرداد معلومات حول الخوادم المرتبطة
- getserverinfo : استرداد القيم الحالية لـ 'xp_cmdshell', 'ole automation procedures' و 'clr enabled'
- xp : تنفيذ أمر PowerShell مشفر عبر 'xp_cmdshell'
- ole : تنفيذ أمر PowerShell مشفر عبر 'sp_OACreate' و 'sp_OAMethod'
- clr : تنفيذ أمر PowerShell مشفر عبر تجميعات .NET مخصصة
- rpc : تكوين خادم SQL مرتبط للسماح باتصالات RPC
- linkedquery : تنفيذ أمر PowerShell مشفر على خادم SQL مرتبط عبر 'OPENQUERY'
- openquery : تنفيذ استعلام عشوائي باستخدام 'OPENQUERY'
[*] للاستخدام المفصل، اكتب:
- CheeseSQL <command> /help