
أداة رش كلمات المرور غير المتزامنة بلغة C# لبيئات ويندوز
SharpHose هي أداة رش كلمات مرور مكتوبة بلغة C#، مصممة لتكون سريعة وآمنة وقابلة للاستخدام عبر execute-assembly الخاص بـ Cobalt Strike. توفر طريقة مرنة للتفاعل مع Active Directory باستخدام سياقات الانضمام إلى المجال وعدمه، مع إمكانية استهداف نطاقات ووحدات تحكم مجال محددة. تراعي SharpHose سياسة كلمة مرور المجال، بما في ذلك سياسات كلمات المرور الدقيقة، في محاولة لتجنب إقفال الحسابات. يتم تعداد سياسات كلمات المرور الدقيقة للمستخدمين والمجموعات التي تنطبق عليها السياسة. إذا كانت السياسة تنطبق أيضًا على المجموعات، يتم التقاط مستخدمي المجموعة. ثم يتم تصنيف جميع مستخدمي المجال المفعلين وفقًا لسياسات كلمات المرور الخاصة بهم، بالترتيب حسب الأولوية، ووضع علامة عليهم كآمنين أو غير آمنين. يتم تصفية المستخدمين المتبقين مقابل قائمة استثناء مقدمة من المستخدم اختياريًا.
بالإضافة إلى الرش فقط، يمكن لمشغلي الفريق الأحمر عرض جميع سياسات كلمات المرور لمجال، وجميع المستخدمين المتأثرين بالسياسة، أو مجرد عرض مستخدمي المجال المفعلين. يمكن إرسال المخرجات مباشرة إلى وحدة التحكم أو إلى مجلد إخراج يقدمه المستخدم.
تابعني على تويتر لمزيد من إصدارات الأدوات قريبًا! @ustayready
الفوهات هي طرق مدمجة للرش. على الرغم من أنها تدعم حاليًا فوهة واحدة فقط (LDAP)، إلا أنها مكتوبة بطريقة تجعلها قابلة للتوسيع بسهولة.
فوهة رش Active Directory باستخدام بروتوكول LDAP
رش غير متزامن للحصول على نتائج أسرع، ولكن ليست سريعة جدًا
رش مع الانضمام إلى المجال وبدون انضمام
تكامل محكم مع سياسات كلمات مرور المجال وسياسات كلمات المرور الدقيقة
منع ذكي للإقفال (lockoutThreshold n-1 لمزيد من الأمان)
رش اختياري لنطاقات ووحدات تحكم مجال محددة
عرض سياسات كلمات المرور والمستخدمين المتأثرين
MSOL
OWA/EWS
Lync
بُني باستخدام Visual Studio 2019 Community Edition
.NET Framework 4.5
مستخدمو Cobalt Strike
تأكد من استخدام --auto لتجنب المطالبات التفاعلية في SharpHose. أيضًا، قم بإعداد وسائطك محليًا حتى تتمكن من قراءة الوصف قبل التشغيل. إذا لم تقم بتمرير أي وسائط عبر execute-assembly، فسوف يلقي SharpHose استثناء "Missing Argument Exception" ولن يعيد Cobalt Strike أي مخرجات. ستعرف أن هذا يحدث عندما ترى [-] Invoke_3 on EntryPoint failed. سيتم إصلاح هذا في النهاية.
رش مع الانضمام إلى المجال دون تفاعل SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto
رش مع الانضمام إلى المجال مع استثناءات SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --exclude c:\temp\exclusion_list.txt
رش بدون الانضمام إلى المجال SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --domain lab.local --username demo --password DemoThePlanet --output c:\temp\
عرض السياسات مع الانضمام إلى المجال
يخزن Active Directory المدد كقيم صحيحة كبيرة سالبة يجب أن تنقضي بعد تجاوز lockoutThreshold الأخير. في الإصدارات المستقبلية ستتم تنسيقها بشكل أنظف.
SharpHose.exe --action GET_POLICIES --output c:\temp\
عرض مستخدمي السياسة مع الانضمام إلى المجال SharpHose.exe --action GET_POLICY_USERS --policy lab --output c:\temp\
عرض جميع المستخدمين مع الانضمام إلى المجال SharpHose.exe --action GET_ENABLED_USERS --output c:\temp\
رش مع الانضمام إلى المجال باستخدام Cobalt Strike execute-assembly /path/to/SharpHose.exe --action SPRAY_USERS --spraypassword Spring2020! --output c:\temp\ --auto