تكمن المشكلة في أن الحسابات المحلية غالبًا لا تنتهي صلاحيتها ، ولا يتم التحقق من تعقيدها ، ولا تزال تتمتع بامتياز الوصول. بالإضافة إلى ذلك ، لا تسمح سياسات كلمات المرور دائمًا بالتكوين المرن للمتطلبات ، على سبيل المثال ، لا تحظر استخدام كلمات مرور القاموس (تذكر P @ ssw0rd المفضلة لدى الجميع).
واجهنا في QIWI مشكلات مماثلة ، وفي محاولة لحلها ، جربنا حلولًا مختلفة لفحص قاعدة بيانات كاملة. للأسف ، فهي تهدف بشكل أساسي إلى التحقق من تكوين نظام إدارة قواعد البيانات وليس أكثر. في نفس الوقت ، فإن سعر هذا الماسح الضوئي مثير للإعجاب.
وإذا تحدثنا بشكل عام عن ماسح أمني يمكنه فحص بنيتك التحتية بحثًا عن نقاط الضعف ، فأنت بحاجة إلى مجموعة من هذه الماسحات الضوئية ، وهي مكلفة للغاية.
في هذا المنشور سأتحدث عما استخدمناه في مهامنا وكيف توصلنا في هذه العملية إلى استنتاج مفاده أنه من الأفضل والأسهل أن نصنع مهامنا. وسأشارك الحل مع الجميع.
نحن نستخدم ماسحًا ضوئيًا شائعًا إلى حد ما. ولكن كان من الصعب تنفيذ الوظيفة التي كنا نحتاجها عليها - كان علينا إنشاء ملفات تدقيق لكل قاعدة بيانات (نظرًا لأن لدينا تكوينات مختلفة في DBMS) ، بالإضافة إلى إنشاء العديد من الحسابات للمسح ، ثم إضافة حسابات جديدة ، ومرة أخرى تغيير المدققين يدويًا.
بالإضافة إلى ذلك ، لا يعرف هذا الماسح الضوئي كيفية إخفاء كلمات المرور في وضع عدم الاتصال ، وهي مشكلة. وهذا هو السبب.
يمكن تنفيذ القوة الغاشمة في وضعين - عبر الإنترنت وغير متصل. إذا كنا نتحدث عن القوة الغاشمة عبر الإنترنت ، فهذه هي محاكاة لعمليات تسجيل دخول المستخدم وهجمات القوة الغاشمة النشطة. أحد هذه البرامج هو Hydra ، وهو يدعم معظم نظم إدارة قواعد البيانات. هذا النهج قابل للتطبيق في معظم الحالات لإجراء اختبارات الاختراق واكتشاف الحسابات الافتراضية وكلمات المرور. لكنها غير مناسبة للشيكات المنتظمة والحسابات غير الافتراضية (المستخدم والخدمة). لأنه سيتم حظر الحسابات في هذه الحالة إذا كانت هناك سياسة أمان مناسبة.
على عكس القوة الغاشمة عبر الإنترنت ، فإن نسخته غير المتصلة بالإنترنت هي أنه يتم إلغاء تحميل عمليات تسجيل الدخول وتجزئة كلمة المرور ، ثم يتم تنفيذ القوة الغاشمة باستخدام أدوات مساعدة مثل hashcat أو John the Ripper. لا يوجد تحميل على قاعدة البيانات ، ودون المخاطرة بإغلاق الحساب بقوة غاشمة. ويمكنك أيضًا استخدام قواميس تحتوي على عدة ملايين من الإدخالات: وهو أمر شبه مستحيل باستخدام القوة الغاشمة عبر الإنترنت.
نحن نصنع
نظرًا لصعوبة تنفيذ الوظيفة الموصوفة باستخدام الماسح الحالي ، كما أنه من المكلف شراء واحدة إضافية ، فقد جاءت الفكرة لإنشاء ماسح ضوئي خاص بك.
نتيجة لذلك ، لدينا ماسح ضوئي خاص بنا للحسابات المحلية غير المتصلة بالإنترنت.
يدعم الماسح MS SQL و Oracle و PostgreSQL. بالطبع ، كانت هناك بعض الصعوبات التقنية ، على سبيل المثال ، سحب التجزئة بتنسيق يدعمه hashcat. لكن الصعوبة الرئيسية هي فهم كيفية التعامل مع النتائج التي تم العثور عليها: كيفية تغيير كلمة المرور دون الإضرار بالإنتاجية ، وكيفية التأكد من عدم ظهور كلمات المرور هذه مرة أخرى ، وما إلى ذلك.
لكننا سنترك هذا خارج نطاق هذه المقالة.
لم يتم تحسين واجهة المستخدم كثيرًا أثناء استخدام لوحة إدارة django. تبدو هكذا:
- من الممكن عرض قائمة قواعد البيانات وإضافة قواعد بيانات جديدة
- يمكنك رؤية حالة القوة الغاشمة لكل حساب
- يمكنك رؤية نتائج الفحص
- إذا تطابقت كلمة مرور ضعيفة ، فسيظهر ذلك في النتائج (تجزئة كلمة المرور ، تخمين كلمة المرور واسم الحساب)
- يمكنك ضبط وقت الفحص
الإيجابيات الرئيسية
- يعرف كيفية brut في وضع عدم الاتصال
- هناك فحص القاموس
- كل هذا مجانا
إذا كنت تشك في ما إذا كنت بحاجة إلى نشر مثل هذا الماسح الضوئي ، فيمكنك محاولة التقاط تجزئات كلمة المرور يدويًا من الحسابات المحلية وتشغيلها من خلال
أمثلة طلب hashcat :
oracle 11g
select user#, name, spare4 from sys.user$ where spare4 is not null;
خادم مايكروسوفت SQL (أعلى من 2005):
select name, cast (name+'|'+master.dbo.fn_VarBinToHexStr(password_hash) as varchar(1000)) FROM master.sys.sql_logins
لن يحل الماسح الضوئي الخاص بنا محل ماسح ضوئي أمني كامل ، ولكنه سيكون إضافة مهمة وممتعة. والآن أصبح متاحًا للجميع: github.com/qiwi/bruteforce
إذا كانت لديك أي أسئلة أو صعوبات في النشر ، فقم بإنشاء مشكلة على github ، فسنجيب بالتأكيد.
شكرا جزيلا للتنفيذسوردوم و Slezhuk