فحص قوّة كلمات المرور عبر كسرها – الجزء الثّاني

في الجزء الأول تحدّثنا عن كلمات المرور، وبعض الصّيغ المستخدمة في انتاجها (مثلاً LANMAN و NT Hash). وقمنا كذلك بمحاولة كسر كلمات المرور باستخدام JtR مثبّت من مستودعات أبنتو. محاولاتنا لكسر كلمات المرور استخدم فيها القاموس، و هجين من كلمات المرور مع بعض التغيير عليها، وأخيراً عمليّة الكسر brute force.

في هذا الجزء سنقوم بتثبيت JtR من المصدر، واستخدام ترقيعة تزيد من عدد الصّيغ التي تستخدم في كسر كلمات المرور، كذلك تستفيد من قدرة المعالج من أجل كسر أسرع لكلمات المرور.

ملاحظة: خطوات التّثبيت تمّ فحصها على أبنتو 10.10 قد تختلف بعض الخطوات (خصوصاً في الحزم المطلوبة) تبعاً للتّوزيعة المستخدمة.

تثبيت JtR وترقيعه

في البداية نحتاج إلى تحميل الإصدار الأخير من JtR (لحظة كتابة هذا المقال 1.7.6)


#wget http://www.openwall.com/john/g/john-1.7.6.tar.gz

ثّم نحمّل التّرقيعة


wget http://www.openwall.com/john/contrib/john-1.7.6-jumbo-9.diff.gz

نقوم بفكّ الحزم


tar zxvf john-1.7.6.tar.gz
gunzip john-1.7.6-jumbo-9.diff.gz

نقوم بتثبيت الحزم المطلوبة (في حالتي حزمة واحدة)


apt-get install libssl-dev

نقوم بالتّرقيع


patch -p0 < john-1.7.6-jumbo-9.diff

ننتقل إلى مجلّد JtR


cd john-1.7.6

ننفّذ الأمر make


make
To build John the Ripper, type:
make clean SYSTEM
where SYSTEM can be one of the following:
linux-x86-64 Linux, x86-64 with SSE2 (best)
linux-x86-sse2 Linux, x86 with SSE2 (best if 32-bit)
linux-x86-mmx Linux, x86 with MMX
linux-x86-any Linux, x86
linux-alpha Linux, Alpha

لاحظ أنّ make قد أظهر لنا بعض الخيارات مشار إلى جانبها ب best. هذه الخيارات تعطي أفضل النّتائج عند استخدامها. في حالتي linux-x86-sse2 كون توزيعتي تدعم 32bit. إذا كانت توزيعتك تستخدم 64bit استخدام linux-x86-64.

الآن نحن جاهزون للتّثبيت


make clean linux-x86-sse2
make install

الآن نحن جاهزون للقيام بكسر الكلمات.

كسر كلمات المرور ب JtR المرقّع

كسر كلمات المرور بصيغة LANMAN من خلال brute force


./john /home/be/Downloads/sam2
Loaded 6 password hashes with no different salts (LM DES [128/128 BS SSE2])
TEST123 (ahamd)
TEST123 (ali)
PASSW0R (salem:1)
D (salem:2)
guesses: 4 time: 0:00:00:01 (3) c/s: 2159K trying: 62RV - 6121
Session aborted

من خلال النّتائج نلاحظ:
1-أن عملية كسر الصّبغة LANMAN تمُت في وقت قصير جدّاً لجميع الكلمات.
2-أن الكلمات ظهرت بالحالة العاليا للأحرف. مثال TEST123
3-أن الكلمة التي تحتوي على 8 أحرف ظهرت مرّتان الأولى ب 7 أحرف والثّانية ب حرف واحد. هذا كما ذكرت سابقاً يعود لكون LANMAN يقوم بتقسيم الكلمة إلى مقطعين كل مقطع مكوّن من 7 أحرف.

الآن سنحاول كسر الصّيغة NT Hash

ولكن قبل أن نقوم بذلك نحتاج إلى حذف الملف john.pot

بعد حذف الملف نقوم بالبدأ بعمليّة الكسر.


./john --format=nt /home/be/Downloads/sam2
Loaded 3 password hashes with no different salts (NT MD4 [128/128 SSE2 + 32/32])
Test123 (ahamd)
Passw0rd (salem)
guesses: 2 time: 0:00:00:03 (3) c/s: 4267K trying: 13283632 - 13013262
Session aborted

في أقل من ثانيّة تمكنّا من كسر كلمتين. (استغرقتنا العملية أكثر من 17 دقيقة وبعد تخصيص لطول كلمات المرور لنحصل على نفس النّتيجة باستخدام JtR من المستودع)

بهذا نكون قد انتهينا من هذا المقال بحمد الله.

الخلاصة

-إذا كنت مديراً لنظام ويندوز تأكّد من تعطيلك لخاصيّة حفظ كلمات المرور بصيغة LANMAN فقد رأيت سلبيّات تشفير الكلمات بهذه الصّيغة وسرعة كسرها.
-في حال استخدامك لصيغة NT hash لا تعتمد فقط على سياسة المجموعة في فرض استخدام كلمات مرور معقّدة.
-الفت نظر المستخدمين الذين يستخدمون كلمات يسهل كسرها بسرعة إلى ضرورة استخدام كلمات مرور معقدّة. برامج التّدريب والتّوعية ستساعد في هذه العملية.
-حاول تخصيص الأداة التي تقوم باستخدامها في عمليّة كسر كلمات المرور من أجل نتائج أفضل (كسر الكلمات بسرعة أكبر).

نبذة عن الكاتب

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

التعليقات:

أضف تعليقاً | عدد التعليقات: (1)

  1. يقول أحمد حسن:

    شكرا بشار على هذة المعلومات النادرة و الهامة لمدراء الإنظمة و لللمستخدمين ايضا بنفس الوقت 🙂

    و بالفعل للأسف نحن مازلنا نعاني من هذا الخطء الأمني الكبير و استخدام كلمات مرور سهله للغاية و التى يمكن ان يتم كسرها في بضع دقائق فقط .

أكتب تعليق