إعادة ضبط كلمة مرور وحدة التحكم UniFi

مثل أي مسؤول نظام كان مقتنعًا بكمال ذاكرته وقدرته على تذكر رمز تثبيت نظام التشغيل Windows XP المكون من 25 رقمًا في منتصف الليل ، فقد اكتشف هذا الاستثناء مؤخرًا.

في أحد الأيام الجميلة ، قررت التوقف للتحقق من ماهية وحدة التحكم في UniFi ، تلقيت رسالة رائعة: خطأ في تسجيل الدخول.



بعد خدش رأسه وتذكر كيف نسي في وقت واحد الرمز السري من البطاقة ، والذي كتبه ميكانيكيا بحتة ، بدأ في البحث عن خيارات ممكنة. بعد نصف ساعة من المحاولة ، والبحث عن ملاحظات في دفتر ملاحظات ، ومراجعة التصلب العصبي المتصل بالشاشة ، أدركت أنه يجب علي البحث عن حلول.

قم بإجراء حجز فوري للجماهير لانتقاده - يتم استخدام مدير الحساب / كلمة المرور ، علاء LastPass. في الواقع ، يتم استخدام LastPass. والبيانات من هناك لم تسهم في المصادقة الناجحة.

بعد البحث في المنتديات البرجوازية ، تم تلقي المعلومات الضرورية لإعادة تعيين كلمة المرور من أي حساب في وحدة التحكم وفهمها وهضمها وجمعها في مذكرة مختصرة.

لذلك ، أعطيت:

1. وحدة تحكم UniFi (لا تلعب دور OS - Linux أو Windows) مع الوصول إلى نظام التشغيل نفسه.
2. الوصول إلى الإنترنت.
3. ذراع مستقيم.

تخزن وحدة التحكم UniFi التكوين بالكامل في قاعدة بيانات Mongo.

تحقق مما إذا كانت هناك معلومات نحتاجها للحساب الذي تبحث عنه:

mongo --port 27117 ace --eval 'db.admin.find().forEach(printjson);' 

في هذه الحالة بالذات ، نطلب معلومات لحساب المسؤول .

إذا كنا نبحث عن محاسبة VasyaPupkin ، سيبدو الاستعلام كما يلي:

 mongo --port 27117 ace --eval 'db.VasyaPupkin.find().forEach(printjson);' 

العادم هو تقريبا ما يلي:

 MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27117/ace { "_id" : ObjectId("567bfd4fe4b0c81300ff3158"), "email" : "admin@company.com", "email_alert_enabled" : true, "email_alert_grouping_enabled" : true, "html_email_enabled" : true, "is_professional_installer" : false, "last_site_name" : "default", "name" : "admin", "requires_new_password" : false, "time_created" : NumberLong(1450966351), "ui_settings" : { "dashboardConfig" : { "dashboards" : { "5b4c57aadc236c7de53e3c3c" : { "order" : 1 } }, "lastActiveDashboardId" : "5b4c57aadc236c7de53e3c3c" }, "statisticsPreferBps" : true }, "x_shadow" : "$6$0YiSt9dQ$YrNKedOCjOP2xl3y9FhRasafdhbdfadamBKIjZ4l9Mm4cy/m49dt0bN.sYaFvgVb5vce45KypFe07iNYc1" } 

مجال اهتمامنا:

 x_shadow" : "$6$0YiSt9dQ$YrNKedOCjOP2xl3y9FhRasafdhbdfadamBKIjZ4l9Mm4cy/m49dt0bN.sYaFvgVb5vce45KypFe07iNYc1" 

بعد تحليل google ، اكتشفنا أن خوارزمية التشفير متوافقة مع SHA-512 crypt (3).

عفوًا وضعنا فكرة فك تشفير إلى الرف البعيد ونذهب في الاتجاه الآخر.
لدينا حق الوصول إلى قاعدة البيانات ، لذلك نحن بحاجة فقط إلى تجزئة من كلمة المرور التي نعرفها. ولتحديث السجل في قاعدة البيانات شيء بسيط.

نذهب إلى:
نختار الخوارزمية المطلوبة ، أدخل كلمة المرور التي سنستخدمها:



ادفع الزر الأزرق الصغير السحري:



يتم نسخ التجزئة الناتجة بعناية ، ثم نحن في حاجة إليها.

والآن حان الوقت للخطوة الأخيرة:

 admin.mongo --port 27117 ace --eval 'db.admin.update({name:"admin"},{$set:{x_shadow:"$6$ee74396ce4c563de$oLm93BwJywYo1sUFgX8U0FC.p75t1Jv838.0defRCe36jgX6PU3h.m3NL6tjCs8Q/1Ymtge0DXz9shb//dyEN."}})' 

لف الطبل ... اضغط Enter.

 MongoDB shell version: 2.6.12 connecting to: 127.0.0.1:27117/ace WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 

نذهب إلى صفحة المصادقة بوحدة تحكم UniFi ، وأدخل اسم المستخدم: admin (قمنا بتغيير كلمة المرور الخاصة به) ، وأدخل كلمة المرور التي تم إنشاء التجزئة من خلالها.

وفويلا ، كل شيء يعمل ، هناك وصول ، الكل سعيد والرقص.

Source: https://habr.com/ru/post/ar439396/


All Articles