Quantcast
Channel: iSecur1ty
Viewing all 466 articles
Browse latest View live

مقال: تمرين عشاء الفلاسفة , للمساعدة على فهم كيفية توزيع الموارد في انظمة التشغيل

$
0
0

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

أحد أهم النظريات التي تقوم عليها أنظمة التشغيل اليوم هي نظرية حل “مشكلة عشاء الفلاسفة”.

ما هي المشكلة؟

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

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

 

diningphilosophers

أحد الحلول قد يكون الخوارزمية الآتية:

  1. فكر حتى تكون الشوكة التي على يسارك متاحة.
  2. أمسك بالشوكة التي على يسارك.
  3. فكر حتى تكون الشوكة التي على يمينك متاحة.
  4. أمسك بالشوكة التي على يمينك.
  5. أبدأ بالأكل لمدة 10 ثواني.
  6. ضع الشوكة التي في يمينك على الطاولة.
  7. ضع الشوكة التي في يسارك على الطاولة.
  8. أفعل هذا مجددا.

قد يبدو هذا الحل منطقيا من الوهلة الأولى، ولكنه ليس كذلك. لماذا؟ لإنه يعرض النظام إلى ما يسمى بساعة الموت. وهي حين لا يستطيع أي من الفلاسفة الأكل.

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

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

 

هناك العديد من النظريات لحل هذا التحدي، سأقوم بوضع أحد الحلول هنا غدا – إن شاء الله -، وحتى هذا الوقت حاول أن تفكر في خوارزمية لحل هذه المشكلة وشاركها معنا في التعليقات.

 

 


مقال: حل مشكلة عشاء الفلاسفة

$
0
0

في المقال السابق تطرقنا إلى مشكلة شهيرة ساهمت في عمل أنظمة التشغيل التي نراها اليوم.

تستطيع رؤية المقالة السابقة من هنا: http://www.isecur1ty.org/?p=6560

سنشرع أولا في شرح حلين للنظرية ومن ثم سنوضح كيف تم الإستفادة منها في أنظمة التشغيل.

حل التسلسل الهرمي للموارد:

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

دعونا نجرب هذا الحل، لنفرض أن أربعة من الفلاسفة (من الرقم 1 إلى 4 كما في الصورة) أخذوا الشوك التي أمامهم، لن يستطيع الفيلسوف الخامس أخذ الشوكة الخامسة لإنها بالتأكيد سيكون رقمها أعلى من الشوكة الآخرى (والتي أُخذت من الفيلسوف الأول). الآن سيقوم الفيلسوف الذي بجانب الفيلسوف الخامس (الفيلسوف الرابع) بأخذ الشوكة والأكل. وهكذا، حين ينتهي سيأخذ الشوكة رقم 4 الفيلسوف رقم 3 ويبدأ بالأكل، وهكذا.. وبهذه الطريقة لن نصل إلى ساعة الموت ولن يحصل تجويع لأحد الفلاسفة.

 

dphil1

 

حل النادل:

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

 

كيف تم الاستفادة من هذه المشكلة في أنظمة التشغيل؟

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

مقال : افضل عشر ادوات مجانية في التحقيق الجنائي الرقمي .

$
0
0

بسم الله الرحمن الرحيم

يوجد العديد من الأدوات المتخصصة في التحقيق الجنائي الرقمي منها ماهو المدفوع ومنها االمجاني مفتوح المصدر, سوف نستعرض اهم 10 ادوات مجانية في التحقيق الجنائي الرقمي .

 

1- SANS SIFT

081913_1409_SANSInvesti1

مشروع  SIFT اختصار لـ SANS INVESTIGATE FORENSIC TOOLKIT من اقوى المشاريع المجانية والمتاحة للجميع الخاصة بالتحقيق الجنائي الرقمي المقدم من SANS Forensic Team , وهي عباره عن توزيعة ابينتو معدلة تحتوي على اهم الادوات التي يحتاجها المحقق الجنائي الرقمي . تحتوي التوزيعة على العديد من الادوات المجانية والقوية في مجال التحقيق الجنائي الرقمي . كذلك التوزيعة تم بنائها خصيصا لهذا المجال .

بعض الادوات التي تحتويها التوزيعة  :

  • Autopsy
  • DFF – Digital Forensic Framework
  • EVTX – Event Log Viewer
  • Maltego
  • PTK
  • Md5deep
  • SANS Cheatsheets
  • Volatility

والعديد من الادوات الاخرى , للتحميل من هنا 

2- sleuthkit

url

احد افضل الادوات المجانية والمفتوحة المصدر , تحتوي على واجهة ويب لأدارة القضايا ( Case Management ) وانظمة الملفات ( NTFS, FAT, HFS+, Ext3,  UFS) الخاصة بالدليل , بمعنى ان المحقق الجنائي يستطيع اضافة مجموعة من القضايا مع مجموعة من المعلومات عن القضية مع اسماء المحققين العاملين في القضية وايضا يقوم بأرفاق صورة النظام الخاص بالدليل للبدء بعملية تحليل نظام الملفات في الصورة وادارة كل شئ من واجهة الويب والتي تعتبر اداة اخرى Autopsy وهي واجهة الويب اما Sleuth Kit فهي مجموعة من سطر الاوامر التي تقوم بادارة وتحليل صور نظام الملفات .

التحميل من هنا

 

3- FTK imager

6a010534de71eb970b0192aa1b1526970d-500wi

اداة  Forensic Toolkit Imager  احد منتجات شركة AccessData الخاصة بالتحقيق الجنائي الرقمي التي تعمل في نظام تشغيل وندوز المخصصة لاخذ صورة كاملة من الاجهزة وتدعم العديد من انظمة الملفات ونوع الصور خاصة بالتحقيق الجنائي الرقمي forensic images  . يوجد فيديو سابق تحدثنا عن اداة ftk imager واستعرضنا لمحة بسيطة عن الادة تستطيع مشاهدة الفيديو من هنا

دليل استخدام الاداة تستطيع تحميلة من هنا

 

4- DEFT linux

deft-mini-blackهي احد التوزيعات المعدلة المبنية على اوبينتو المخصصة في التحقيق الجنائي الرقمي والتي تحتوي على عدد كبير من الأدوات والبرمجيات المساعدة في عمليات التحقيق الجنائي الرقمي , الهدف التوزيعة هو العمل منها مباشرة دون العبث بالدليل كنظام تشغيل live يمكن للمحقق الاقلاع منه والعمل على الدليل , تعتمد التوزيعة على واجهة LXDE وهذا يجعلها خفيفة جدا وعملية , كذلك تحتوي على مشروع WINE لتشغيل بعض برمجيات الوندوز المهمة والتي قد يحتاجها المحقق الجنائي الرقمي على التوزيعة . وعلى حسب المعلومات الموجودة في الموقع الرسمي للأداة فأن التوزيعة حققت نجاح كبير وتستخدم من شريحة واسعه من خبراء التحقيق الجنائي الرقمي مثل :

  • Military
  • Government Officers
  • Law Enforcement
  • Investigators
  • Expert Witnesses
  • IT Auditors
  • Universities
  • Individuals

 

5- Volatility

volatility

اداة مجانية مفتوحة المصدر متخصصة في تحليل ذاكرة النظام RAM تدعم 32 بت و 64 بت تدعم جميع انظمة التشغيل كذلك Android systems ,كذلك يمكن استخدامها في اجهزة virtual machine  مثل vmware  تمت برمجة الاداة بـ Python .

 

6- LastActivityView

lastactivityview

اداة تعمل على نظام تشغيل لينكس مخصصة لعرض مجموعة من المعلومات التي تجمعها من مصادر مختلفه عن نشاط النظام مثل ماهي البرامج التي فتحت والملفات التي تم حفظها او فتحها  , اطفاء النظام وتشغيله , تثبيت البرمجيات او ازالتها , انهيار برنامج او نظام التشغيل والعديد من المعلومات الاخرى المفيدة , وكل هذه المعلومات مستخرجة من ملفات Logs الموجودة داخل نظام التشغيل . ايضا تستطيع تصدير المعلومات الى ملف csv وحفظها كمصدر عن اي معلومات مهمة في نشاط النظام . يمكنك تحميل الاداة من الرابط من هنا .

 

7- hxd tool
MiniShotHxD

من افضل محررات hex يملك العديد من المميزات الرائعة يمكنك قرأتها في الموقع الرسمي للبرنامج من هنا .

 

8- CAINE

caine5

التوزيعة الايطالية المتخصصة في التحقيق الجنائي الرقمي Computer Aided INvestigative Environment . هدف التوزيعة هو خلق بيئة متكاملة للتحقيق الجنائي بحيث تخضع بدقة للمراحل الاربع الخاصة بأي عملية تحقيق جنائي رقمي . توزيعة اكثر من رائعة . يحبذ لو تقرأ بعض المعلومات عنها في الموقع الرسمي من هنا

 

9- Mandiant Redline

15

اداة متخصصة في تحليل الرام واستخراج المعلومات عن المحتويات مثل العمليات التي تعمل في النظام ايضا file system metadata , ملفات logs ومعلومات الاتصال بالشبكة او الانترنت , تاريخ التصفح , الخدمات التي تعمل , والكثير الكثير من المعلومات المهمة والقيمة . الأداة تعمل جمع المعلومات ثم تحليلها , وسوف تخبرك ان تختار الخيار المناسب عند فتح الاداة جمع المعلومات او تحليلها , اذا كنت تملك صورة من الرام لديك يمكن البدء في عملية التحليل . او قم بالبدء في جمع المعلومات .

 

10- Linux ‘dd’

3

امر لينكس dd الذي يسمح لك باخذ صوره كاملة من القرص او الجهاز بكل سهولة تطرقنا للأمر سابقا في مقال  سابق من هنا .

مقال: تمرين العمله المعدنية لحل مشكلة عشاء علماء التشفير

$
0
0

علم التعمية أو التشفير (Cryptography) هو العلم الذي يُعنى بالتواصل السري بجميع صوره. هذه المشكلة – مشكلة عشاء علماء التشفير – هي أحد المشاكل المهمة التي عني بها هذا العلم. تُستخدم هذه المشكلة عدة استخدامات – سأقوم بشرحها بالتفصيل لاحقا إن شاء الله –  منها إمكانية إخراج نتيجة بدون معرفة المُدخلات.

 

ما هي المشكلة؟

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

قد يتبادر إلى ذهنك مثلا أن يكتب كل منهم ورقة ويخلطون الأوراق ويقرؤون ما فيها، ولكن هذا الحل تقليدي وتستطيع تتبع مصدر الورقة سواءً باستخدام الخط أو حتى بالبصمات، حاول أن تحل المسألة باستخدام 3 عملات معدنية.

إذا لم تستطيع، سأكتب تلميح آخر في الأسفل.

 

تلميح:

افرض أن كل اثنين من العلماء سيقومون بإلقاء عملة معدنية بينهما (لن يعرف العالم الثالث ما نتيجتها). بهذه الطريقة، سيعرف كل عالم نتيجة عملتان. فإما أن يكون كلا النتيجتين متشابهتين (كلاهما الوجه الأول للعملة، أو كلاهما الوجه الثاني للعملة)، أو أن يكونا مختلفين. إفرض أن العلماء اتفقوا على أن الذي لم يدفع سيقول الحقيقة، إما متشابهين أو مختلفين. أما اللذي دفع سيقول العكس، فإذا كانا متشابهين سيقول مختلفين والعكس صحيح. كي يمكنك معرفة النتيجة بهذه الطريقة؟ ماذا إذا كان عدد العلماء 5؟ ماذا إذا كانوا 4؟

 

two-sides-of-the-same-coin

 

شاركنا بما توصلت إليه في التعليقات وسأقوم بنشر الحل غدا إن شاء الله.

كتاب : Android Hacker’s Handbook

$
0
0

بسم الله الرحمن الرحيم

فهرس

 

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

image00

الصورة السابقة هي توضيح لمعمارية نظام اندرويد الحالية التي تم بنائها بعناية جدا لتكون امنة ومرنة . وتم مراعاه ان تضم اعظم اساليب الحماية مثل sandbox , safe mode , permissions , cryptography , Rooting of Devices .

كتاب :  Android Hacker’s Handbook هو كتاب تم شرح فيه اهم الامور التي يجب عليك معرفتها للبدء في تأمين انظمه اندرويد واختبار اختراقها ويعتبر دليل كامل بداية من التعرف على بنية النظام والانتهاء باستغلال ادق الثغرات في مختلف اجزاء النظام بما فيه جزء الهاردوير . الكتاب يضم العديد من المواضيع الشيقة والمفيده . فهرس الكتاب :

الكتاب يضم 523 صفحه من رأيي الشخصي يعتبر من افضل الكتب التي تحدثت عن امن نظام اندرويد حتى الان . ننتظر ارائكم في التعليقات عن الكتاب ومحتواه .

رابط الكتاب على امازون

amazon

مقال: حل تمرين العمله المعدنية لعشاء علماء التشفير

$
0
0

في المقال السابق تطرقنا إلى مشكلة شهيرة في علم التشفير وهي مشكلة عشاء علماء التشفير.

تستطيع رؤية المقالة السابقة من هنا: http://www.isecur1ty.org/?p=6578

سنشرع أولا في شرح حل النظرية ومن ثم سنوضح كيف تم الإستفادة منها في علم التشفير.

حل المشكلة:

افتراض: سأفترض أن إلقاء القطعة النقدية ينتج عنه أحد أمرين، إما ملك أو كتابة (كما نطلق عليها في مصر).

 

two-sides-of-the-same-coin

 

كما سبق وذكرنا في تلميح المقالة السابقة، الفكرة تعتمد على وجود قطعة نقدية بين كل عالمين من أصل 3 علماء (أي أن هناك 3 قطع نقدية) بحيث أنه لا يعلم نتيجة القطعة النقدية إلا عالمين اثنين فقط. الآن لنفرض أن كل القطع النقدية كانت “ملك”. في حالة أن الذي دفع هو المؤسسة، فسيكون الناتج لدينا 0 مختلف. (أي أن الجميع أجابوا بإن القطعتان متطابقتان). أما إذا كان أحد العلماء هو من دفع، فسيكون لدينا 1 مخلتف و 2 متطابق (تذكر أن العالم الذي دفع سيعكس نتيجته دائما).

دعونا نفرض أن الثلاث عملات منهم 2 “ملك” وواحدة “كتابة”. سيكون الناتج لدينا 2 مختلف إذا كانت المؤسسة هي التي دفعت، وواحدة (أو 3) مختلف إذا كان أحد العلماء هو الذي دفع. تستطيع تجربة كل الإحتمالات وستظهر لديك النتيجة الأخيرة نفسها.

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

 

إذا ازداد عدد العلماء إلى 4 أو 5 أو أكثر ستكون النتيجة نفسها.

 

تطبيقات المشكلة:

تُستخدم النظرية في علم يسمى بـ “Secure Multi-Party Computation” وهي استخراج النتيجة بدون معرفة المدخلات (كما في المثال الآتي).

أفرض أن لديك عدد س من الناس، تريد أن تعرف من هو الأغنى بينهم بدون معرفة ما هو مقدار ما يملكه أيٌ منهم! بالضبط! تستطيع استخدام هذه النظرية لفعل هذا.

أيضا يمكن استخدامها في “Zero-knowledge proof” وهي طريقة ليثبت أحد أطراف الإتصال للطرف الآخر أن معلومة معينة صحيحة بدون الكشف عن أي معلومات. كإثبات أن كلمة المرور صحيحة بدون إرسالها إلى الطرف الآخر. وهذا مفيد جدا لمنع المتنصتين من معرفة كلمة المرور إذا ما تم إرسالها مباشرة عبر الإنترنت.

مقال : التحقيق الجنائي الرقمي لمتصفح Firefox

$
0
0

بسم الله الرحمن الرحيم

pa2014-forensics-web-jpgيوجد الكثير من الاماكن التي تحتوي على معلومات مفيده للمحقق الجنائي الرقمي اثناء تحليل النظام لاستخراج المعلومات , ولا يمكن حصر هذه الاماكن والمصادر بسهولة لكثرتها ودقة تفاصيلها , احد هذه الاماكن هي متصفح الانترنت الذي يحتوي على معلومات مهمة جدا يجب استخراجها ولها اولوية كبيره من اي معلومات اخرى على جهاز الدليل مثل تاريخ التصفح والايميلات والمفضلة واي المواقع زارها قبل الاخرى والملفات التي تم تحميلها من الانترنت وكذلك البيانات التي ادخلها في بعض المواقع والعديد من المعلومات الاخرى  , سوف نركز في هذا المقال على متصفح الفايرفوكس ونستعرض اهم الملفات والمعلومات الممكن استخراجها منه  .

من المعروف ان اول خطوة من اجراء عملية التحقيق الجنائي الرقمي هو اخذ صوره كاملة من النظام او القرص للدليل , ثم تحليل هذه الصورة في المعمل والتعامل مع البيانات التي تحتويها , في مقالنا اليوم عن متصفح الفايرفوكس , يجب علينا معرفة مسار ملفات الفايرفوكس لكي نقوم بنسخها من الصورة الموجوده لدينا للبدء في عملية التحليل :

Windows XP:

o C:\Documents and Settings\[User]\Application Data\Mozilla\ Firefox\Profiles\xxxxxxxx.default\
o C:\Documents and Settingd\[user]\Local Settings\Application Data\ Firefox\Profiles\xxxxxxxx.default\Cache\

• Windows Vista, Windows 7, and Windows 8:

o C:\Users\[User]\AppData]Local\Mozilla\Firefox\Profiles\xxxxxxxx.default\Cache\
o C:\Users\[User]\AppData\Roaming\Mozilla\Firefox\Profiles\xxxxxxxx.default\

For Linux and Mac based systems, the default locations are as follows:

• Linux:

o ~/.mozilla/firefox/xxxxxxxx.default/

• Mac OS X:

o ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/
o ~/Library/Application Support/Mozilla/Extensions
o ~/Library/Caches/Firefox/Profiles/xxxxxxxx.default/Cache/

هذه المسارات التي تتواجد بها ملفات فايرفوكس يمكن عمل mount للصوره التي لديك للدليل وسحب الملفات  او استخراج الملفات من الصورة الى جهازك الفعلي باستخدام احد البرامج التي تستعرض صور القرص مثل DFF او ftk imager  .

عرض معلومات تصفح متصفح الفايرفوكس .

يحتوي متصفح الفايرفوكس على اضافة موجوده افتراضيا بداخله تمكنك من استعراض ملفات الكاش الخاصة بالمتصفح عن طريق فتح العنوان “about:cache” بداخل المتصفح .

cach

كما تلاحظون في الصوره السابقة ظهرت لنا معلومات الكاش والتي تتكون من :

  • Memory cache device
  • • Disk cache device
  • Offline cache device

تستطيع تصفح جميع العناصر التي تم تخزينها في الكاش واستعراضها ومعرفة التفاصيل الخاصه بكل عنصر على سبيل المثال هذه الصورة :

الكاش

 

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

Firefox Database Files

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

اهم المعلومات التي نبحث عنها في الدليل :

  • Browser history
  • Cache
  • Downloaded files

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

  • addons.sqlite
  • content-prefs.sqlite
  • cookies.sqlite
  • downloads.sqlite
  • extensions.sqlite
  • formhistory.sqlite
  • permissions.sqlite
  • places.sqlite
  • search.sqlite
  • signons.sqlite
  • formhistory.sqlite
  • db_queue.sqlite
  • webappsstore.sqlite

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

firefox database

كما تلاحظون هذه القواعد التي يحتويها المتصفح الخاص بي ,, يمكن للمحقق الجنائي ان يقوم بنسخها من المسار الخاص بالمتصفح الى جهازه عن طريق  نسخ ملف profile الذي يحتوي على جميع قواعد البيانات .

كنت ارغب بكتابة بعض اسماء القواعد وبعض الجداول التي تحتويها واهم البيانات التي قد تجدها ولكني لاحظت انها تختلف من اصدار الى اخر على حسب تطويرات المتصفح من شركة موزيلا على سبيل المثال هناك فرق كبير وملحوظ بين اصدار 16 وبين اصداري الحالي 31 واختلفت اماكن بعض الجداول لذلك سوف اذكر بعض البرامج والادوات التي تساعدنا على فتح القواعد وتصفحها وسوف اترك لك متعة الاكتشاف واستخراج البيانات .

ادوات مساعدة في استخراج البيانات :

هناك العديد من الادوات المتخصصه في تحليل نشاط المتصفحات التي تمكنا من استخراج البيانات بشكل سهل .

SQLite Manager

احد افضل الاضافات التي تعمل من داخل متصفح الفايرفوكس والتي تمكنا من تصفح قواعد sqlite الخاصه بالمتصفح :

sqlitemanger

بعض الامثلة لبعض القواعد والجداول المتوقعه :

content_perf

 

content_prefs.sqlite في هذه القاعده تجد بداخلها الاعدادات والتفضيلات الخاصة بالمتصفح وهي مكان جيد لمعرفه تفضيلات المتصفح والتغييرات التي قام بها المستخدم على اعدادات المتصفح .

 

cookies

 Cookies.sqlite في هذه القاعدة يتم تخزين جميع المعلومات الخاصة بالكوكيز الخاصه بالمتصفح ويمكن الاستفاده منها وتعد من اهم المعلومات التي تفيد المحقق الجنائي الرقمي ويمكن الدخول الى حسابات المستخدم من خلالها .

 

place

 

places.sqlite من اهم القواعد على الاطلاق والتي تحتوي على معلومات قيمة جدا مثل تاريخ التصفح , المفضلة , ايقونات المواقع favicons , المواقع التي تم زيارتها , الكلمات والمواقع التي تم زيارتها مباشرة من الشريط العلوي , والعديد من الجداول الاخرى .

 

formhisotry

 

Formhistory.sqlite هذه القاعدة مهمة جدا جدا تحتوي على اي بيانات تم التفاعل معها خاصة التي على شكل form يحمل مدخلات تقوم بادخالها على سبيل المثال قمت بارسال رساله من صفحه اتصل بنا على احد المواقع وكتبت الاسم والايميل والرسالة , سوف تخزن هذه المعلومات مع الاسم والايميل المدخلات في هذه القاعده , مثال اخر قمت بالدخول على مجتمع iSecur1ty وقمت بالتعليق على احد المقالات باسم احمد وايميل ahmed@email.com سوف تخزن هذه المعلومات في القاعده . كما تلاحظون في الصورة هناك سهم يشير الي معلومات من الظاهر انها لتصويت خاصة باحد المواقع ( بالفعل هو تصويت على مجتمع isecur1ty قمت بالمشاركه فيه ) تم حفظ معلومات التصويت على القاعده .

 

اداة  FoxAnalysis Plus

s_foxanalysis_timeline s_foxanalysis_cache

 

من اقوى الادوات المدفوعة والتي لها اصدار تجريبي بصلاحيات محدوده جدا يمكنك تجربتها .  الاداة قوية جدا وتملك مجموعه من المميزات الرائعه جدا واكثر ميزه رائعه وهي timeline Web History Timeline  تمكنك هذه الميزه بتصفح تاريخ التصفح بتسلسله الزمني الفعلي , على سبيل المثال قمت انا بالدخول على متجمع iSecur1ty ثم من داخل المجتمع ضغطت على رابط يوصلني لتويتر ومن تويتر ضغط على رابط موجود في تغريده يوصلني للفيس بوك ومن داخل الفيس بوك وجدت احد الفيديوهات ضغطت على الرابط فحولني الى اليتويب … الخ . سوف تظهر لك في الاداة تاريخ التصفح باسم كل موقع ورابطه بنفس التسلسل الزمني الذي تحدثت عنه . كذلك احد الميزات الرائعه وهي انشاء تقارير من داخل الاداة وكذلك محرك بحث متقدم يملك Filtering  قوي . يمكنك تصدير التاريخ والتقارير باستخدام HTML, CSV and XML .

ملاحظة :

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

مازال هناك الكثير من الادوات التي ارغب في الحديث عنها ولكني اكتفي بهذا القدر الاضافه الاولى sqlite manager اكثر من رائعه وتحمل خصائص رائعه ويمكن من تطبيق استعلامات sql والتحكم في القواعد بشكل كامل , اما للاشخاص الغير محترفين اداة  FoxAnalysis Plus تعتبر حل رائع لتحليل المتصفح ولكن تبقى الاحترافيه لمعرفة ادق التفاصيل في اضافة sqlite manager .

نظرة عامة على مجال أمن المعلومات (الجزء الاول )

$
0
0

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

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

 

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

 

  1. السرية (Confidentiality):

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

 

  1. السلامة (Integrity):

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

 

  1. الإتاحة (Availability):

تعني الإتاحة أن تكون البيانات(أو الخدمات) متاحة للأشخاص المصرح لهم بهذا. ويذكرني هذا الهدف بالمقولة الشهيرة التي تقول: “أكثر الأماكن أمانا للسفن هي الميناء، ولكنها لم تُبن لذلك”. لإن حماية البيانات ستكون أكثر سهولة إذا لم تكن متاحة عبر الإنترنت، ولكن ما فائدتها إذن؟

 


 

الآن سنتحدث عن أشهر الهجمات التي تستهدف هذه الأهداف.

2014-09-12 08.25.49

 

الهجمات على السرية:

التجسس(Snooping):

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

 

التنصت (Traffic Analysis):

التنصت بعكس التجسس، لا تستطيع الإستفادة من البيانات بشكل مباشر (بسبب أنها مشفرة مثلا). ولكن تستطيع معرفة الكثير من المعلومات الأخرى التي قد تكون مفيدة من خلال مراقبة حزم البيانات المنتقلة من جهاز إلى آخر. على سبيل المثال، تستطيع معرفة وجهة الملف (من خلال معرفة الـ IP الخاص بالوجهة). ومعلومة واحدة قد لا تكون مفيدة وحدها، ولكن المعلومات الصغيرة قد تفيد إذا ما جمعتهم معًا.

 

الهجمات على السلامة:

التعديل (Modification):

التعديل هي خطوة تلي الحصول على حزمة البيانات، فيستطيع المهاجم تغيير البيانات لتكون في صالحه هو. على سبيل المثال، يستطيع المهاجم الإستفادة من رسالة عميل بنك يريد تحويل أمواله إلى حساب آخر من خلال تغيير الحساب المستفيد ليكون حسابه المهاجم.

 

سرقة الهوية (Masquerading OR Spoofing):

سرقة الهوية هي ادعاء المهاجم والتظاهر أنه شخصٌ آخر. كادعاء المهاجم أنه عميل بنك معين (من خلال سرقة كلمة المرور الخاصة بهذا العميل مثلا). وتشمل سرقة الهوية إدعاء أنه مؤسسة أيضًا! فقد يدعي المهاجم أنه البنك ليأخذ معلومات حساسة من العميل.

 

إعادة إرسال (Replaying):

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

 

الإنكار (Repudiation):

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

 

الهجمات على الإتاحة:

الحرمان من الخدمة (Denial of Service):

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

 

في المقال القادم -إن شاء الله-  سنتحدث عن طرق الحماية المُتبعة ضد هذه الهجمات.

مصادر:

كتاب: cryptography and network security

للكاتب: behrouz a. forouzan


مقال : حماية خوادم لينكس من هجمات”Brute Force”باستخدام Fail2Ban

$
0
0

بسم الله الرحمن الرحيم

url

سوف نتحدث اليوم عن حماية  تقدمها اداة fail2ban والتي تعمل على مراقبة سجلات النظام في خوادم لينكس ومراقبة اي محاولة تسجيل دخول خاطئة والتحقق من تكرار العملية على السيرفر ثم يقوم السيرفر او البرنامج بحظر الايبي الذي يقوم بعملية التخمين ومحاولة كسر كلمة المرور  .

تنصيب fail2ban على السيرفر :

تنصيب البرنامج سهل جدا فقط  قم بتنفيذ الامر التالي على حسب نوع التوزيعه :
 
ubntu:
sudo apt-get install fail2ban
Centos:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
CentOS 7:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm
اذا كنت تستخدم توزيعة centos بعد تنفيذ الامر السابق الخاص بتوزيعتك قم تنفيذ الامر :
 
yum install fail2ban -y
 
بعد عملية التنصيب نقوم باعداد البرنامج , سوف نقوم بنسخ ملف الاعدادات بالامر التالي:
 
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
الان قمنا بنسخ ملف الاعدادات الى وقمنا بتسميته jail.local  سوف نقوم بعمل جميع تعديلاتنا عليه ان وجدت وسوف يكون هو الملف المسؤول على اعدادات البرنامج والذي يحتوي على مجموعه من الخيارات المهمة , اذا قمت بفتح الملف سوف تجد بعض هذه الخيارات كالتالي :

 

ignoreip : هذا الخيار يحتوي على عناوين الايبي المسموح لهم بالاتصال بالخدمات دون اي حظر نستطيع
القول قائمة بيضاء لا يتم حظرها ابدا 

bantime : هذا الخيار يحتوي على المدة الزمنية التي سوف يبقى فيها الايبي محظور بشكل افتراضي يتم حظر
الايبي لفتره عشر دقائق .

 

maxretry : عدد المحاولات الخاطئة والتي سوف يقوم البرنامج بحظر الايبي بعدها مباشرة , هذا الخيار يعمل ايضا بمساعدة
خيار اخر findtime ويقوم بحساب الفتره الزمنية بين محاولة واخرى , لمعرفة اذا ما كانت الثلاث المحاولات الخاطئة
في نفس الفتره .

يمكن للبرنامج ايضا ارسال اليك رسالة الى الايميل بوجود هجوم على السيرفر او انه قام بحظر ايبي لشخص ما .

destemail = root@localhost
sendername = Fail2Ban
mta = sendmail

ls /etc/fail2ban/filter.d

بعد الانتهاء من اعداد ملف الاعدادات على السيرفر الاداة تعمل بشكل تلقائي على حماية خدمة ssh فقط وباقي الخدمات لا يتم تطبيق عليها اي حماية بشكل تلقائي يجب علينا اعداد البرنامج ليقوم بتطبيق الحماية عليها . خدمة ssh هي مجرد مثال لتوضيح فكره عمل البرنامج يمكن تطبيق نفس الفكره والحماية على الكثير من الخدمات والبرنامج يحتوي على العديد من الفلاتر التي يمكن استخدامها والموجوده في المسار

سوف تظهر لك العديد من الخدمات والبرمجيات التي يمكن اعداد البرنامج ليكتشف هجمات التخمين عليها .

هذه قائمة بالخدمات والبرامج التي تدعمها الاداة في الوقت الحالي :

3proxy
apache-auth
apache-badbots
apache-common
apache-modsecurity
apache-nohome
apache-noscript
apache-overflows
assp
asterisk
common
courierlogin
couriersmtp
cyrus-imap
dovecot
dropbear
ejabberd-auth
exim-common
exim
exim-spam
freeswitch
groupoffice
gssftpd
horde
lighttpd-auth
mysqld-auth
nagios
named-refused
nginx-http-auth
nsd
openwebmail
pam-generic
perdition
php-url-fopen
postfix.conf
postfix-sasl
proftpd
pure-ftpd
qmail
recidive
roundcube-auth
selinux-common
selinux-ssh
sendmail-auth
sendmail-reject
sieve
sogo-auth
solid-pop3d
squid
sshd
sshd-ddos
suhosin
uwimap-auth
vsftpd
webmin-auth
wuftpd
xinetd-fail

يمكنك تطبيق الحماية على اي خدمه من الخدمات التاليه وتبقى امنة من هجمات التخمين .

اعداد الحماية على خدام nginx .

على سبيل المثال نريد تطبيق الحماية على سيرفر nginx , نقوم بفتح ملف اعدادات الاداة jail.local سوف تجد اعدادات كل الفلاتر السابقة ويمكن استخدام اي واحده منها في حالتنا الان وعلى سبيل المثال لنفترض اننا نريد حماية عملية المصادفة لسيرفر nginx .

[nginx-http-auth]

enabled = true
filter  = nginx-http-auth
port    = http,https
logpath = /var/log/nginx/error.log

ونقوم بتفعيل الخدمه عن طريق تغيير false الى true ايضا قم بتغيير اللازم اذا كان اي اختلافات لديك في السيرفر مثل مسار ملف log والايميل الذي تريد ان يصل اليه التقرير او التنبيه كذلك عدد المحاولات والوقت .

بعد عملية التعديل يجب علينا عمل اعاده تشغيل للأداة من خلال الامر التالي :

service fail2ban restart

سوف تعمل الان الاداة ان شاء الله بشكل سليم .

مقال : نظرة عامة على مجال أمن المعلومات (2)

$
0
0

إكمالا لما تحدثنا عنه في المقال السابق عن أهداف الحماية وأشهر الهجمات التي تهدد هذه الأهداف، سنتحدث اليوم عن الأربع خدمات التي قدمها معيار (ITU-T) العالمي وكيف يمكن تقديمها.

 

الخدمات:

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

 

سرية البيانات (Data Confidentiality):

هي الخدمة المقدمة للحماية من معرفة محتوى البيانات والإستفادة منها بشكل مباشر (من خلال الإطلاع على البيانات مباشرة) أو بشكل غير مباشر (من خلال التنصت على الإتصال).

 

تكاملية البيانات (Data Integrity):

هي الخدمة المقدمة لحماية البيانات من التعديل أو المسح أو حتى إعادة الإرسال.

 

التحقق من الشخصية (Authentication):

هي الخدمة المقدمة للتحقق من شخصية المستقبل أو المرسل أو كليهما معا.

 

منع الإنكار (Nonrepudiation):

هي الخدمة المقدمة للحماية من إنكار أحد طرفي الإتصال قيامة بطلب شئ معين من خلال تمكين المرسل أو المستقبل من إثبات أن من قام بالإتصال هو الطرف الآخر إذا قام الطرف الآخر بالإنكار.

 

التحكم في الوصول (Access Control):

هي الخدمة المقدمة للحماية من الوصول إلى البيانات لغير المصرح لهم.

 

 


 

آليات الحماية:

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

 

التعمية (Encipherment):

أولى أدوات الحماية، وتعني إخفاء البيانات بطريقة لا يمكن الإستفادة منها إلا من الأشخاص المصرح لهم فقط. أشهر أنواع التعمية اليوم هي التشفير (Encryption) وإخفاء البيانات (Encipherment).

 

 

تكاملية البيانات (Data Integrity):

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

 

التوقيع الإلكتروني (Digital Signature):

التوقيع الإلكتروني هي الطريقة التي يستطيع بها المرسل توقيع البيانات إلكترونيا بحيث يستطيع المستقبل التأكد من صحة التوقيع. الطريقة هي أن يقوم المرسل بعملية تُثبت أنه يمتلك المفتاح السري للمفتاح المُعلن الذي أعلنه من قبل.

 

تبادل التوثيق (Authentication Exchange):

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

 

حشو حزم البيانات (Traffic padding):

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

 

التحكم بالطريق (Routing Control):

هي الطريقة التي تقوم على تغيير مسار البيانات بين المرسل والمستقبل بشكل مستمر بحيث يكون من الصعب الحصول على كامل الرسائل المرسلة بينهما.

 

التوثيق (Notarization):

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

 

التحكم في الوصول (Access Control):

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

 

 

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

 

مصادر:

كتاب: cryptography and network security

للكاتب: behrouz a. forouzan

مقال : شرح انشاء SSH Honeypot بأستخدام اداة Kippo

$
0
0

بسم الله الرحمن الرحيم

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

مفهوم انظمة Honeypot :

Honey-Pot

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

ماهي اداة Kippo :

هي عباره عن اداة مكتوبة بلغة بايثون تقوم بعمل محاكاه لسيرفر ssh بالكامل , ويمكن للاداة التفاعل مع المستخدم ومواصلة الخدعه معه قبل الهجوم وبعد الهجوم بحيث يقوم بمحاولة كسر عملية تسجيل الدخول الى الـ ssh واذا اريد له ان ينجح سوف اجعل الباسورد سهل , ثم اسمح له بالدخول الى نظام ملفات وهمي يحتوي على نسخه طبق الاصل من نظام ملفات على سيرفر حقيقي يستطيع الدخول الى مجلد  etc ويسحب ملف passwd ويصنع ما يريد من انشاء ملفات وحذف والعديد من الامور , بهذا كله سوف يقوم مدير السيرفر بمعرفة ماذا يريد الهاكر من السيرفر وماهي الملفات ونوع المعلومات التي يريد سحبها وماهو غرض الاختراق والكثير من المعلومات .

بعض من مميزات اداة Kippo :

  • نظام ملفات وهمي مثل نظام ملفات حقيقي يمكن للهاكر من انشاء واضافة وحذف وسحب ما يريد من النظام وتصفح المسارات كتلك الموجوده في النظام الحقيقي
  • اضافة محتوى وهمي في نظام الملفات الخاص بالاداة على سبيل المثال من الممكن وضع بعض الملفات على مجلد Home ومجلدات اخرى واضافه مستخدمين والكثير من الامور التي تجعل من الشخص يشعر انه داخل نظام ملفات حقيقي .
  • تحتوي الاداة على سجلات يمكن مراجعتها لكل ما قام به المهاجم داخل نظام الملفات او عمليات تخمين على سيرفر Honeypot .
  • اذا قام المهاجم برفع ملفات الى الاداة سوف تحتفظ بها لكي يتمكن مدير النظام بقراءتها ومعرفتها .

 

اعداد سيرفر Honeypot باستخدام اداة Kippo :

سوف اقوم بتطيق الشرح على توزيعة Ubuntu Server الاداة تعمل على جميع توزيعات لينكس ولكن اذا كنت تستخدم توزيعه مثل Centos يجب عليك مراعاة بعض التغييرات في الاوامر التي سوف نستخدمها لتنصيب بعض الحزم وتغيير ما يلزم .

الخطوة الاولى :

سوف نقوم اولا بتغيير البورت الحقيقي الذي نستخدمه للاتصال بالسيرفر عن طريق ssh الى بورت اخرى لكي نجعل البورت 22 وهو البورت الافتراضي للشخص المهاجم ونجعل البورت الحقيقي اي بورت اخر . سوف اقوم الان بتغيير بورت ssh الحقيقي وليس الوهمي الى 1994 , لانه من المعروف المهاجم سوف يقوم بالتجربه على البورت الافتراضي مباشرة .

قم بفتح ملف اعدادات سيرفر ssh عن طريق الامر التالي :

 vi /etc/ssh/sshd_config

change ssh port

كما تلاحظون قمت بتغيير البورت نحتاج الان الى اعادة تشغيل خدمة ssh في السيرفر .

service ssh restart

 

الخطوة الثانية : تنصيب بعض الحزم اللازمه لعمل Kippo (اعتماديات اداة Kippo )

تحتاج Kippo الى بعض الحزم لتعميل بشكل جيد نقوم بتنصيبها بالامر التالي :

apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted

كذلك سوف نحتاج الى تنصيب subversion :

apt-get install subversion

 

الخطوة الثالثة : انشاء مستخدم خاص بالأداة Kippo :

نحتاج الى مستخدم خاص بالاداة ونقوم بواسطته انشاء بعض الملفات , نقوم باضافة المستخدم :

useradd -d /home/kippo -s /bin/bash -m kippo -g sudo

الخطوة الرابعة : تغيير البورت الافتراضي للأداة وهو بورت 2222 الى بورت 22 .

من الضروري ان نجعل الاداة تعمل على بورت 22 لان المهاجم اول ما سيقوم بعمله هو فحص البورت ومحاولة فك كلمة المرور في البورت 22 , لهذا سوف نقوم بتحويل الاداة ان تعمل على بورت 22 كــ ssh وهمي ,, بالنسبة لــ ssh الحقيقي يعمل على بورت اخر .

سوف نستخدم اداة authbind لفتح بورت في النظام :

apt-get install authbind

لتفعيل البورت 22 نقوم بتنفيذ الامر التالي :

touch /etc/authbind/byport/22

نقوم ملكية الملف الى المستخدم kippo  عن طريق الامر التالي :

chown kippo /etc/authbind/byport/22

ايضا الصلاحيات :

chmod 777 /etc/authbind/byport/22

الخطوة الخامسة : تحميل وتشغيل اداة Kippo :

اولا نقوم بالدخول بالمستخدم kippo الى النظام ثم نقوم بتحميل حزمة الاداة الى مجلد Home باستخدام الامر التالي :

svn checkout http://kippo.googlecode.com/svn/trunk/ ./kippo

ندخل الى المجلد الخاص بالأداة :

cd kippo

الان نقوم بتغيير البورت من 2222 الى 22 عن طريق تعديل ملف اعدادات الاداة kippo.cfg , ولكن قبل هذا سوف نقوم بأعادة تسميته الى kippo.cfg :

mv kippo.cfg.dist kippo.cfg

change kippo port to 22

تبقى ان نقوم بتعديل ملف start.sh الموجود في ملف الاداة ونعدل التالي :

#!/bin/sh

echo -n “Starting kippo in background…”

twistd -y kippo.tac -l log/kippo.log –pidfile kippo.pid

نستبدل السطر الاخير بــ :

twistd -y kippo.tac -l log/kippo.log –pidfile kippo.pid

 

تجربة الاداة :

نستطيع الان تشغيل الاداة عن طريق تشغيل سكربت start.sh , ثم محاولة الدخول الى ssh بشكل طبيعي سوف يطلب منك كلمة المرور كانك تقوم باللولوج الى سيرفر حقيقي كلمة السر الافتراضيه 12345 , ستجد ان الاداة تعمل وقمت بالدخول الى السيرفر ولديك نظام ملفات ويمكنك التعديل عليه والسحب منه والاضافة اليه .

نستطيع الاطلاع على نشاط المهاجم عن طريق التقارير الموجوده في مجلد log .

kippo.log

هناك العديد من المشاريع الرائعه تعمل كــ Honeypot لخدمات مختلفه وكل مشروع له الغرض من برمجته ,, اتمنى انكم استفدتم من هذا المقال شكرا لكم .

 

فيديو : اضافة مستخدم الى النظام المخترق بالميتاسبلويت واعطائة صلاحيات الادارة

$
0
0

في هذا الفيديو سوف نستعرض كيف نقوم باضافه مستخدم الى النظام المخترق واعطائة صلاحيات الادارة , لكي نقوم باللولوج الى النظام باستخدام هذا المستخدم والتحكم بالنظام بشكل اكثر مرونه . ايضا يمكن الاستفاده من الطريقه في حالة اردت ان اتحكم في النظام بعد اختراق النظام بدون الرجوع الى اتصال عكسي من الميتاسبلويت .

 

التدوينة فيديو : اضافة مستخدم الى النظام المخترق بالميتاسبلويت واعطائة صلاحيات الادارة ظهرت أولاً على iSecur1ty | مجتمع عربي للهاكر الأخلاقي.

إحصائية : إنجازات الباحثيين الامنيين العرب في المواقع العالمية

$
0
0

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

security-fp

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

الإحصائية مبنية على 6 مواقع عالمية وهي :

1- Twitter.

2-Paypal.

3- Yahoo.

4- Google.

5- Facebook.

6- Ebay.

طبعاً قمت بالإعتماد على بعض المصادر لجمع وتحليل البيانات كما ساعدني في هذه الإحصائية الباحث الأمني “مازن جمال” كل الشكر له :)

Twitter

حسناً دعونا نبدأ بالموقع الأول وهو موقع Twitter , كما نعلم موقع Twitter هو أحد مواقع التواصل الإجتماعي الشهيرة التي يستخدمها معظمنا , تم شكر 113 باحث أمني حول العالم خلال سنة 2014 داخل صفحه Twitter في موقع إدارة برامج المكافئات الأمنية الشهير HackerOne , وبلغ عدد الباحثيين الأمنيين العرب 15 باحث أمني وكان على رأس الباحثيين الامنيين العرب والعالميين الباحث الأمني أحمد أبو العلا.

paypal

لنأتي الان لموقع Paypal وهو من أفضل المواقع التي تقدم حلول دفع إلكتروني عبر الإنترنت , طبعاً القائمة الخاصه بهذه الموقع تتغير كل 3 شهور حسب المعلومات التي حصلنا عليها , لذلك ضمت القائمة 46 باحث أمني من أنحاء العالم يوجد 4 باحثيين أمنيين عرب وهم , إبراهيم حجازي , محمد رمضان , أحمد سعيد و محمد السيد.

 

yahoo-sad-face

لنأتي الأن لموقع Yahoo , الموقع ضم خلال السنة الأخيرة في لائحته على موقع HackerOne ما يزيد عن 384 باحث أمني يوجد منهم 19 باحث امني عربي قدموا العديد من الثغرات الأمنية الخطيرة خلال الفترة الماضية , ومن الجدير بالذكر أن الباحث الأمني إبراهيم رأفت تمت مكافئته بأعلى مكافئة مالية من قبل ياهو وتقدر ب 15,000$ , والجدير بالذكر أيضاً أن الباحث الأمني إبراهيم حجازي يعتبر أعلى شخص من الباحثيين الأمنيين العرب اللذين إكتشفوا ثغرات داخل Yahoo حيث قام بإكتشاف 34 ثغرة أمنية.

google

بالنسبة لعملاقة البحث Google , فقد تم تكريم 155باحث أمني خلال سنة 2014 عبر صفحتهم الخاصه بالمكافئات الأمنية يوجد منهم 6 باحثيين أمنين عرب وهم , إبراهيم رافت , ابراهيم حجازي , احمد ابو العلا , مازن جمال , عصام رابحي , محمد عبد الباسط , ميسوم سعيد.

A view of Facebook's logo May 10, 2012 i

شبكة التواصل الإجتماعي الشهيرة Facebook كرمت 196 باحث أمني من ضمنهم 28 باحث أمني عربي وبهذا تكون هي تحتوي على أعلى نسبة من الباحثيين الامنيين العرب مقارنة مع المواقع التي تم ذكرها مسبقاً.

 

ebay

 

أخيراً قمنا بعمل إحصائية على موقع التسوق الشهير Ebay وقد قام الموقع بتكريم 284 باحث أمني عالمي من ضمنهم 10 باحثيين أمنيين عرب.

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

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

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

 

التدوينة إحصائية : إنجازات الباحثيين الامنيين العرب في المواقع العالمية ظهرت أولاً على iSecur1ty | مجتمع عربي للهاكر الأخلاقي.

مقال : انشاء شهاده تشفير SSL لسيرفر الاباتشي

$
0
0

بسم الله الرحمن الرحيم

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

https,

بعد الانتهاء من تنصيب سيرفرك  وكل شئ على ما يرام , نقوم باختبار السيرفر بانه يعمل عن طريق كتابة عنوان الايبي في المتصفح للدخول اليه للتاكد من ان apache يعمل بشكل جيد .

الصفحه الافتراضية للسيرفر

 

من المفترض ان تظهر لك هذه الصفحه بعد تنصيبك لسيرفر الاوبينتو , والذي سوف نستخدمه في هذا الدرس . احيانا تظهر لك جملة :

It works!

This is the default web page for this server.
The web server software is running but no content 
has been added, yet.

والتي تعني ان كل شئ على ما يرام وسيرفر apache يعمل ويستقبل الطلبات  بشكل جيد   .

 

تفعيل الاتصال الامن على السيرفر SSL

نقوم اولا بتفعيل الاتصال الامن SSL على السيرفر باستخدام الامر التالي :

 

sudo a2ensite default-ssl

sudo a2enmod ssl

يجب علينا اعاده تشغيل السيرفر , نقوم بتنفيذ الامر التالي :

 sudo service apache2 restart

 

انشاء شهادة التشفير :

نقوم بانشاء مجلد لوضع شهادات التشفير بداخله بواسطة الامر التالي :

sudo mkdir /etc/apache2/ssl-crt

نقوم بتنفيذ الامر التالي والذي سوف يقوم بعمل شهاده تشفير خاصة بنا :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl-crt/apache.key -out /etc/apache2/ssl-crt/apache.crt

 

ناتج الامر بعض الاسئلة التي يجب عليك الاجابة عليها لتكوين الشهاده

Country Name الرمز الخاص بالدولة مثل YE (اليمن) JO (الاردن) .. الخ

State or Province Name : اسم  الدولة

Locality Name : اسم المدينة

Organization Name : اسم المنظمه او الشركة .

Common Name : اسم الدومين الخاص بك .

Email : الايميل .

بهذا انتهينا من اعداد الشهاده .

اعداد سيرفر الاباتشي :

نقوم بالبدء في اعداد السيرفر بالتعديل على اعدادات السيرفر عن طريق الدخول الى الملف التالي :

nano /etc/apache2/sites-available/default-ssl

ssl -con

هذه صوره من ملف الاعدادات على جهازي الشخصي يجب عليك التركيز على المتغيرات التي تم الاشاره اليها بسهم كما واضح لديكم في الصوره, تقوم بتعديل الاعدادات بما يتناسب لديك في السيرفر ايضا في مكان اسم السيرفر قم بكتابة اسم الدومين لديك انا قمت بكتابة الايبي المحلي للسيرفر .

اخيراً نقوم بعميل اعادة تشغيل السيرفر

sudo service apache2 reload

 

اصبح السيرفر لديك الان جاهز ويدعم الاتصال المشفر :

https

الان يمكنك ايضا تفعيل Mod_Rewrite في السيرفر وتحويل جميع الاتصالات من http الى https عن طريق اضافه بعض القواعد التي تتحكم كيفية تعامل السيرفر مع الطلبات .

ملاحظة :-

عند دخولك الى موقع يحمل شهاده تشفير SSL سوف يخبرك المتصفح انه موقع خطر ويجب عليك اضافه استثناء للسماح بدخوله وهذا بسبب ان الشهاده التي منصبة على السيرفر غير مرخصه ولم يتم شراؤها .

مقال : اعداد الجدار الناري CSF لحماية خوادم لينكس

$
0
0

بسم الله الرحمن الرحيم

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

لماذا الجدار الناري مهم لحماية السيرفر ؟

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

اتمنى لو تعود الى مقال هجمات الحرمان من الخدمة لمعرفة مزيد من التفاصيل عن هجمات DDOS , بعد قراءتك للمقال سوف تكون لديك صوره عامه عن هجمات الحرمان من الخدمه , لذلك يجب عليك ان تنظم الاتصالات التي يستقبلها السيرفر وتسمح للامور المهمه التي لا يمكن الاستغناء عنها كذلك السماح بنوع معين من الطلبات ومنع اي طلبات اخرى , كذلك يمكن تحديد عدد الاتصالات التي يمكن استقبالها من ايبي واحد والعديد من الامور التي سوف نتعلمها في هذا المقال .

 

 Configserver Security Firewall

csf_largeبشكل عام يجب عليك ان تختار Firewall بما ينتاسب مع حجم الشبكة ونوع الخدمات التي تقوم بها الخوادم على الشبكة والعديد من الامور الاخرى ,, نحن سوف نتحدث عن CSF لشهرته وقوتة ايضا في حماية انظمه لينكس واحتوائة على العديد من المميزات .

ايضا من الامور المهمة في البرنامج هو دعمه لشريحه واسعه من التوزيعات وله دعم كبير وتجديدات مستمره تلاحظها بالمقارنة بين اصدارات البرنامج .

csf

كما تلاحظون في الصورة السابقة التوزيعات التي يدعمها البرنامج انا استخدم البرنامج مع توزيعة Centos وكذلك Ubuntu .

CSF يحتوي مميزات وخيارات متقدمه متوفرة بشكل بسيط وسهل جدا وهدف البرنامج الاول هو استخدام امور متقدمه بشكل مبسط عن طريق توليد سكربتات تتحكم في جوانب كثيره في نظام لينكس و الجدار الناري iptables غالباً لن تجد اي برنامج يوفر لك الخيارات المتقدمه بشكل سهل في اي جدار ناري اخر يعمل تحت بيئة لينكس . ايضا البرنامج ياتي مع خدمة Login Failure Daemon او LFD. LFD التي تراقب نشاط المستخدم من محاولات للدخول واعطاء تنبية لمدير السيرفر لحالة السيرفر واي نشاطات على السيرفر سواء هجمات او امور اخرى عن طريق مراقبة ملفات log للخدمات التي منصبة على السيرفر ايضا يحتوي على واجهة رسومية سهلة جدا ويمكن استخدامها من خلال لوحة تحكم  cpanel او webmin .

بعض مميزات البرنامج (Features )  :

 

 Login authentication failure daemon:

هذه الميزه تعمل على مراقبة ملفات LOG للسيرفر وللخدمات المنصبة على السيرفر لمراقبة اي عملية تسجيل دخول فاشلة لكي يقوم البرنامج بتنبيه مدير السيرفر , ايضا يمكن اعدادة لاخذ اي اجراء عندما يتم تجاوز عدد مرات معينة من تسجيل دخول فاشل ليتم اتخاذ اجراء معين ضد ذلك الايبي كحظر الايبي او اي اجراء اخر .

 

Process tracking :

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

 

Directory watching :

هذه الميزة تعمل على مراقبة بعض المسارات الحساسة والانتباه في حاله وجود اي سكربت جديد تم وضعه او تشغيله لتلافي وجود اي ملفات خبيثه في السيرفر .

 

Messenger service :

تفعيل هذه الميزه يمكن البرنامج من ارسال تقارير وتنبيهات الى ايميلك بما يحدث في السيرفر , كحظر لايبي جديد او اكتشاف بورت جديد تم فتحه في الجهاز بدون علمك .

 

Port flood protection:

هذا الاعداد يحميك من هجمات flood attacks ايضا يمكنك تحديد حجم معين من البيانات والاتصالات التي يمكن استقابلها من الايبي الواحد في فترة زمنية واحده , تفعيل هذه الميزه مستحسن لسيرفرك كذلك يمكن احيانا يتم تفعيل بعض الاوضاع وبعض الاجراءات المشدده في حالة كان سيرفرك تحت الهجوم .

 

Port knocking :

هي ميزه رائعه تمكنك من اخفاء البورتات التي تعمل في النظام ولا يمكن الاتصال بها الا  اذا اراد مدير النظام فتح البورت للاتصال به يمكنة طرق بعض البورتات بشكل متسلسل ( افتح يا سمسم ) ^_^ . لمعرفة المزيد من التفاصيل من هنا مقال : زيادة حماية الخوادم باستخدام Port Knocking  .

 

Connection limit protection :

يمكنك تحديد حجم معين من الاتصالات لبورت معين او ايبي معين او يمكنك تحديد حجم اتصالات لكل الايبيهات التي تتصل بالسيرفر .

 

Port/IP address redirection :

يمكننا اعداد الفايروول ليقوم بتحويل الاتصالات الى ايبي اخر او بشكل اخر نستطيع تحويل الاتصالات لبورت معين الى عنوان اخر . نستطيع القول بانها  network address translation .

 

UI integration :

توجد واجهة رسومية مع البرنامج يمكنك استخدامها من لوحه تحكم cpanel  و webmin للتحكم في البرنامج بشكل رسومي .

 

IP block lists:

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

اطلع على المميزات كاملة من موقع البرنامج من هنا

http://configserver.com/cp/csf.html

تنصيب واعداد البرنامج :

بعد الدخول بصلاحية Root الى الترمنال نقوم بتحميل البرنامج :

wget http://www.configserver.com/free/csf.tgz

سوف ينزل البرنامج مضغوط , نقوم بفك الضغط :

tar -xzf csf.tgz

ندخل المسار الى كان ناتج عملية فك الضغط ثم ننصب البرنامج :

cd csf

sh install.sh

انتهينا من عملية التنصيب واصبح البرنامج منصب على السيرفر , يحتوي البرنامج على وضع اسمه testing mode وهو وضع التجربة للبرنامج بعد عملية التنصيب او في مرحلة اختبار قوانين الجدار الناري . نحتاج الى ايقاف وضع testing mode .

نحتاج الى الدخول الى ملف الاعدادات عن طريق الامر التالي

nano /etc/csf/csf.conf

ثم نقوم بتعطيل وضع test mode عن طريق وضع القيمة 0 .

test mode

نقوم بحفظ الملف ونقوم باعتماد التعديلات عن طريق الامر

csf -r

الان البرنامج اصبح جاهز للعمل ,, دعونا نبدا بالبدء بشرح بعض الامور .

 

الحجب والسماح لعناوين الايبي :

اهم ثلاثة ملفات موجود في البرنامج وهي

csf.conf : وهو المسؤل عن جميع اعدادات .

csf.allow : القائمة البيضاء التي تحتوي على عناوين ايبي يتم السماح لهم بالاتصال .

csf.deny : القائمة السوداء التي سوف يتم حظر اي ايبي موجود بداخل هذه القائمة .

كذلك القوائم يمكن التعامل معها بمرونة جدا يمكن حضر ابيبي من الاتصال ببورت معين او بورت من استقابل من ايبي معين كذلك يمكننا حضر ابيبي من بروتوكول tcp فقط والسماح له من udp والكثير من الامور التي سوف نضع بعض الامثلة لها .

حضر ايبي او السماح له بشكل يدوي .

يمكن استخدام الامر التالي لحضر ابيبي معين :

csf --deny ip comment

comment يقصد بها اي تعليق يذكرك لماذا قمت بحضر هذا الايبي في حالة قمت بمراجعه القوائم بعد فتره طويلة مثلا :

csf –deny 95.211.108.166  [I dont like iSecur1ty]

نستطيع نسمح لأيبي عن طريق الامر التالي :

csf –add 95.211.108.166  [mohamed askar is a good person ]

نستطيع استخدام الاوامر بشكل سريع من الترمنال لحضر ايبي او السماح له  , ايضا من الرائع البرنامج يدعم CIDR notation  , جميع العناوين سوف تذهب الى ملف csf.allow او csf.deny , يمكن تحرير الملفات بملف نصي واضافة اي ايبي بشكل يدوي للحصول على اكثر مرونة على سبيل المثال سوف نستخدم هذه القاعده للحضر .

tcp/udp|in/out|s/d=port|s/d=ip|u=uid

مثال 1 :

tcp|in|d=3306|s=11.22.33.44

اي اتصالات قادمه من الايبي 11.22.33.44 الى البورت 3306 بواسطة البروتوكول tcp  محضورة .

مثال 2 :

tcp|out|d=22|d=11.22.33.44

اي اتصالات خارجه الى العنوان 11.22.33.44 موجهة الى البورت 22 بواسطة برتوكول tcp محضورة .

مثال 3 :

icmp|in|d=ping|s=44.33.22.11 

حضر جميع اتصالات برتوكول icmp  من البورت 44.33.22.11

مثال 4 :

tcp|in|d=22|s=www.isecur1ty.org 

يمكن استخدام الفلاتر مع الدومينات مثل المثال السابق .

 

تعرف على بعض الخيارات في ملف الاعداد csf.conf :

المنافذ المسموح لها في السيرفر :

prots_csf_firewall

 

كما تلاحظون في الصورة قائمة البورتات المسموح لها بالاتصال incoming و outgoing  كذلك لبروتوكول udp ايضا . يمكن التعديل عليهم بحسب خدمات السيرفر لديك , قم بفتح فقط البورتات التي تستخدمها والمهمة . ايضا بعض البورتات التي تحتاجها فقط فترات معينة كبورتات تحتاجها للاداره فقط يمكنك استخدام ميزة Port knocking لاغلاق البورتات وفتحها وقت الحاجه فقط .

ICMP_IN

يقصد بهذا الخيار  اذا تم وضع القيمه 1  يسمح لعمل ping على السيرفر او اذا تم وضع القيمة 0 يدل على انه محضور عمل ping  على السيرفر .

ICMP_IN_LIMIT :

يقصد بهذا الخيار كم عدد طلبات ping للسيرفر من ايبي واحد في ثانية واحده او وقت معين تستطيع تغييره .c

DENY_IP_LIMIT :

كم عدد عناويين الايبي التي يتم حضرها ,, بسبب ان حضر عدد كبير جدا من عناويين الايبي قد يبطئ من اداء السيرفر ,, كذلك يجب عليك الانتباه استخدامك لــ CIDR يكون افضل من ان تكتب قائمة من العناوين اذا امكن اختصارها بعنوان واحد مثل 192.168.1.1/22 افضل من ان تكتب قائمة العناوين كلها .

PORTFLOOD :

تحديد عدد الاتصالات لثانية معينه او فترة زمنيه معينة  لبورت معين . على سبيل المثال :

PORTFLOOD = “22;tcp;5;300,80;tcp;20;5″

اذا كانت الاتصالات القادمه الى البورت 22 اكثر من خمسة اتصالات في 300 ثانية بواسطة tcp قم بحظر الايبي , ايضا البورت 80 نفس القاعده . الامر السابق مدموج لبورتين 80 , 22 ولكن في حالة البورت 80 عدد الاتصالات 20 اتصال .

 

Connection Limit Protection :

CONNLIMIT :

هذا الخيار يحمي السيرفر من هجمات DOS attacks على بورت معين في السيرفر , بحيث يقوم بتحديد الاتصالات الموجهة الى بورت معين لكل ايبي . ايضا من الجدير بالذكر ان هذا الميزه لن تعمل في السيرفرات التي xt_connlimit في iptable .

القيمة سوف تكون بهذا الشكل :

CONNLIMIT = “22;5,80;20″

القيمة السابقة للخيار كانت تحدد خمسة اتصالات لبورت 22 وعشرين اتصال لبورت 80 .

 

اوامر مساعدة :

تشغيل  CSF

csf -e 
Or 
csf --enable

ايقاف تشغيل CSF :

csf -x
Or
csf --disable

ريستارت CSF بعد اي عملية تغيير في اعدادات البرنامج :

csf -r 
Or 
csf --restart

ايقاف جميع قواعد البرنامج :

csf -f 
Or 
csf --stop

عرض حالة البرنامج وجميع العناوين ipv4 :

csf -l 
Or 
csf --status

حذف عنوان محضور في ملف csf.deny :

csf -dr 
Or 
csf --denyrm ip

اتمنى ان الامر واضح قم باستبدال كلمة ip الى العنوان الذي تريد حذفه من قائمة الحضر .

حذف جميع العناوين المحضورة في الملف csf.deny :

csf -df 
Or 
csf --denyf

الاختلاف بينه وبين الامر السابق هذا الامر يقوم بحذف جميع العناوين كلها دفعه واحده .

البحث داخل قواعد البرنامج

csf -g 
Or 
csf --grep ip

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

اظهار العناوين التي تم حضرها بشكل مؤقت :

csf -t 
Or 
csf --temp

الى هنا اكتفي بما تم شرحه ,, ان شاء الله سوف اكتب عن CSF في مقالات اخرى لشرح هذا الجدار الناري  الاكثر من رائع .


مقال : مفاهيم وأساسيات إختبار إختراق تطبيقات الويب

$
0
0

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

في هذا المقال سنتحدث عن الآتي:
* ما تحتاج أن تعرفه عن بروتوكول HTTP.
* أهم المنهجيات المتبعة.
* أكثر ثغرات الويب انتشارًا.

في الماضي، كان التركيز الأكبر على مهاجمة الـWeb Servers فهي كانت أمرًا منتشرًا، ولكن بظهور الكثير من طرق الحماية مثل الـFirewalls والـIDS أصبح من الصعب تنفيذ أيًا من الهجمات على الـWeb Servers وبالتالي تغير التوجه إلى مهاجمة تطبيقات الويب وهو ما يطلق عليه Web Application Hacking.

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

ما هي الـWeb Servers!؟
كمثال عليها في الويندوز، مثل IIS وهي اختصار لـInternet Information Services وستجدها على سيرفرات الويندوز، أما بالنسبة للينكس، مثل Apache Hypertext Transfer Protocol وستجدها على السيرفرات التي تستخدم اللينكس.
بالطبع طريقة إدارتها مختلفة، ولكن إن كنت تستخدم أنظمة ويندوز العادية أو أنظمة اللينكس العادية فسيظل المهم هو المهم، عادة ما ستجد أن تطبيقات الويب في أنظمة اللينكس تعمل في هذا المسار /var/www/ ولكن هناك بعض المسارات الأخرى التي تعتبر مهمة لأي تطبيق ويب أو كنظام لينكس بشكل عام، مثل:

1. /etc/shadow : وهي التي تجد بها الهاشات الخاصة بكلمات مرور المستخدمين.
2. /usr/lib : ستجد في هذا المجلد كل البيانات التي تعتمد عليها تطبيقات الويب في العمل، وذلك على الرغم من أنه لا يوجد بهذا المسار أي ملفات من المفترض أن تعمل بتدخل المستخدم نفسه.
3. /var/* : وهو المسار الذي ستجد به الملفات الخاصة بقواعد البيانات، وسجلات النظام، وبالطبع الـSource Code الخاص بتطبيق الويب نفسه.
4. /bin : هذا المسار يحتوي على برامج يحتاجها النظام للعمل، فكلمة bin هي اختصار لـBinary، وستجد بها بعد البرامج الضرورية مثل ls وgrep.

ملحوظة: لمهاجمة الـWeb Servers ستتعامل معه كأنك تقوم بتنفيذ Network Hacking. فكما قلنا ما هي إلا أنظمة مثل الأنظمة التي تجدها في العديد من الشبكات .

حسنٌ، كيف يعمل الاتصال بيني وبين الويب سيرفر!؟

هذا سؤال مهم، دعنا نجيب عليه، كلنا سمعنا عن ما يسمى بالـHTTP، بل أننا نراه دائمًا في بداية أي رابط نحاول الدخول إليه من خلال المتصفح، فعندما نحاول الدخول لمدونة iSecur1ty، نجد أننا ندخله في المتصفح بهذه الطريقة “isecur1ty.org” ولكن إن نظرنا إلى المتصفح، سنجد أن الرابط أضيف عليه أجزاء أخرى ليصبح “http://isecur1ty.org” أو في أحيانًا أخرى “http://www.isecur1ty.org”، أما إذا حاولنا الدخول إلى موقع مثل الـFacebook مثلاً، سنجد أننا حتى لو أدخلنا الرابط بهذا الشكل “facebook.com” سنجد أنه تحول في المتصفح إلى “https://facebook.com”، مهلاً!!!! لما هي https وليس http كما نرى في مدونة iSecur1ty!!!! سأجيب على هذه الجزئية في الجزء القادم، ولكن الآن دعنا نتحدث أكثر عن بروتوكول HTTP، هذه الكلمة اختصار إلى جملة “Hypertext Transfer Protocol”، هذا البروتوكول يستخدم كالبروتوكول الأساسي في تواصل البيانات على الشبكة العنكبوتية منذ عام 1990.

هذا البروتوكول من نوع “Stateless” وهذا يعني أن كل “Request” يرسله المتصفح إلى الموقع أو التطبيق، وكل “Response” يكون بدون مستقل عن أي طلبات أو ردود أخرى.

في الحقيقة، إصدار HTTP رقم 1.0 يستخدم اتصال جديد مع كل “طلب” وكل “رد” أي أنه يصنع اتصال جديد فيرسل الطلب من المتصفح، وعندما يستجيب الموقع أو السيرفر ويرسل “رد” ففي هذه الحالة الاتصال ينتهي، ولكن في الإصدار رقم 1.1 أصبح بإمكانه استخدام اتصال واحد ليقوم بإرسال واستقبال أكثر من طلب وأكثر من رد.

حسنٌ، أنتَ أخبرتنا أن هذا البروتوكول من نوع “Stateless” أي أنه لا يكون لديه معرفة بأي Request أو Response سابق، في هذه الحالة، عند دخولي مثلاً لموقع لشراء المنتجات بشكل أونلاين، فسأحتاج إلى أن أقوم بتسجيل دخولي بعد كل عملية، أي أنني عند إضافتي لمنتج في عربة الشراء الخاصة بي سأحتاج إلى تسجيل دخولي، وأثناء إكمالي لعملية الشراء سأحتاج لإعادة تسجيل دخولي وهكذا.. وكل ذلك لأن البروتوكول من نوع “Stateless”!! الحل لهذه الجزئية أن البروتوكول يستخدم ما يسمى بالـ”Cookies”، ماذا تعني بهذا المصطلح!؟ فإن حاولت ترجمته بشكل حرفي سيكون المعنى مضحكًا وليس له علاقة بالموضوع الذي نتحدث عنه. في الحقيقة هذا المصطلح هو الذي يجعلنا نستطيع المتابعة بدون تسجيل دخولنا في كل مرة، وذلك باستخدام ما يسمى بالـSessions، فهو يتتبع كل الطلبات “Requests” التي تقوم بإرسالها للتطبيق أو للموقع وذلك من أجل المحافظة على اتصالك بدون أن تضطر إلى تسجيل دخولك أثناء كل عملية تقوم بها. ولكن على الرغم من أن أهمية هذه الجزئية إلا أنها توفر طريق كثيرة للهجوم على التطبيق.

إذن، وعدتني أن تخبرني بماهية الـ”s” التي أضيفت إلى “http” أثناء دخولنا لموقع الـFacebook، حسنٌ، للأسف بروتوكول الـhttp يستخدم النصوص العادية، أو ما يسمى بـ”Plaintext”، وهذا يعني أنه لا وجود للحماية على الإطلاق، فكان ظهور ما يسمى بـSSL/TLS وهي اختصار لـSecure Socket Layer/Transport Layer Security وهي ما يشار إليها بـ”s” أثناء دخولك لأي موقع فهي تضاف بعد كلمة “http”. إذن، ما هي فائدتها!؟ فائدتها أنها تقوم بتشفير الاتصال بحيث أنه يصبح من الصعب تنفيذ هجمات على الاتصال مثل هجمات Man-in-the-Middle أو Eavesdropping أو ما يسمى بهجمات التنصت، ولكن صحيح أنها تقوم بتشفير الاتصال إلا أنها لا تفيد كثيرًا في معظم الهجمات التي تستهدف تطبيقات الويب حاليًا.

فهمت الآن طبيعة عمل هذه البروتوكول، ولكنك قلت أنني المتصفح الخاص بي يرسل ما يسمى بالـRequest وأن السيرفر أو الموقع يرد عليّ بإرسال ما يسمى بـResponse، فما هي طبيعة هذه الطلبات والردود أو الاستجابات!؟
كل طلب أو استجابة يحتوي على ما يسمى بالـMessage وهي ما تحتوي على ما يسمى بالـHeaders:
مثال على الطلب الذي يرسله المتصفح الخاص بك أثناء طلب صفحة ما:

1أهم الـHeaders التي تجدها في رسالة الـRequest هي:
Referrer: هذا الـHeaders يقوم بتوضح الصفحة التي كان بها المستخدم قبل طلبه لهذا الطلب، بمعنى أنها توضح من أين قمت بتنفيذ هذا الطلب. أهميتها بالنسبة لنا في سهولة تغييرها، فإن كان التطبيق يعتمد عليها في أي نوع من أنواع الحماية فمن السهل تغييرها بقيمة مزيفة.
Cookie: يقوم بإعادة إرسال الـCookie إلى السيرفر من أجل إبقاء الـSession مفتوحة لكي لا تقوم بإعادة التسجيل في كل مرة تقوم بتنفيذ عملية ما، وبالطبع هذه القيمة يجب أن تساوي قيمة الـCookie التي يستقبلها المتصفح من السيرفر. أهمية هذا الـHeader تكون أنه من الممكن أن يوفر Valid Session ويمكن من خلالها اختراق المستخدمين الأخرين اللذين يقومون باستخدام التطبيق.
ملحوظة: الـCookie هي ما يطلق عليها Session Identifier.
أما عن مثال عن الاستجابة أو الرد الذي يتلقاه المتصفح من السيرفر:

2

أهم الـHeaders التي تجدها في رسالة الـResponse هي:
Set-Cookie: تقوم بتزويد المتصفح بالـCookie لتظل الـSession الخاصة بالمستخدم مفتوحة. تكون خطورة هذا الـHeader في إن قام الهاكر بسرقته يمكنه انتحال هوية صاحب الـCookie للاتصال بالموقع.
Content-Length: هنا يتم توضيح طول الـResponse Body في هيئة Bytes. يكون هذا الـHeader مفيد للهاكر إن قام بتنفيذ عملية Brute Force فيمكنه مراقبة تغير هذه القيمة.
Location: هذا الـHeader يستخدم عندما يقوم التطبيق بتحويل المستخدم إلى صفحة جديدة. أهميته تكون في أنه يساعد في التعرف على الصفحات التي لا يمكن الانتقال إليها إلى بعد عملية التحقق من الهوية “Authenticating”.
بما إننا تحدثنا عن محتويات الـHeaders دعنا الآن نناقش ما هي حالة الرد، فكل استجابة أو رد يصل إلى المتصفح يصاحبه كود يوضح حالته، مثال:

3

هناك 50 رقم يوضح حالة الـResponse وهي مقسمة إلى خمسة مجموعات وفهم حالة الاستجابة التي تصلك يسهل عليك فهم ما حدث للطلب الخاص بك، المجموعات كالتالي:
100s: نادرًا ما تراها، وهي معلوماتية بشكل بحت، عادةً ما تشير إلى أن هناك المزيد من الردود القادمة من السيرفر.
200s: هي تشير إلى أن الطلب المرسل من المتصفح تم قبوله بنجاح وأنه تم إعادة إرسال الرد إلى المتصفح، ويعتبر كود الحالة 200 OK من أكثر الأكواد شيوعًا.
300s: هذه الردود عادةً ما تشير إلى إعادة التوجيه، أكثرها شيوعًا هي 302 Redirect وهي التي عادةً تصلك بعد عملية تحقق من الهوية تمت بنجاح ويتم الآن إرسالك إلى الصفحة ما بعد التحقق وعادة يتم إرسال رد أخر بعد هذا ويكون كود الحالة الخاص به 200 OK بما يوضح أن عملية التحقق من الهوية تمت بنجاح.
400s: تظهر في حالات ظهور أخطاء من خلالك، فهي تشير إلى أنك ارتكبت خطأ أثناء إرسالك للطلب، وأكثر الأكواد شيوعًا في هذا الشأن هي: 401 Unauthorized وهي التي تشير إلى أنك لا تملك الصلاحيات لطلب هذه الصفحة ولكنها عادةً ما تظهر بعد عملية تحقق من الهوية غير ناجحة أو أنك لم تقم باستخدام ما يؤكد هويتك بعد، 403 Forbidden، وهي مشابهة إلى 401 إلا أن السيرفر في هذه الحالة يرفض طلبك لأنك لا تملك الصلاحيات للدخول فعلاً إلى هذه الصفحة، 404 Not Found، لم يتم إجاد الصفحة التي قمت بطلبها مع إمكانية توفرها في المستقبل.
500s: توضح أن هناك خطأ في السيرفر نفسه، وليس خطأ في الطلب، ففي هذه الحالة يكون الخطأ في الرد الخاص بالسيرفر، وأكثرها شيوعًا هي: 500 Internal Server Error، بالإضافة إلى 503 Service Unavailable.
أعتقد أننا تحدثنا عن الأساسيات بما يكفي في هذا المقال، بالطبع هناك الكثير مما يجب أن تعرفه كأساسيات قبل دخولك لهذا المسار ولكن فـ لنوفر ذلك لمقالات مستقبلية، دعنا الآن نتحدث عن المنهجية التي يجب أن تتبعها في عملية اختبار اختراق تطبيقات الويب.

يمكنك تقسيم المنهجية التي يجب أن تتبعها إلى أربعة أقسام وهي كالتالي:
1. Reconnaissance: وهي المرحلة التي تقوم بجمع أكبر قدر من المعلومات عن الهدف الخاص بك وهي عادةً تكون المرحلة الأقل تقنية.
2. Scanning: وهي المرحلة التي تقوم فيها بعمل عملية فحص للهدف من أجل العثور على البورتات المفتوحة والخدمات وإصدارات الخدمات التي تعمل هذه البورتات أيضًا.
3. Exploitation: هي المرحلة التي تستغل فيها كل ما جمعته من معلومات في عملية الاستغلال.
4. Fix: هي المرحلة التي تقوم فيها بالوصول إلى حل لإصلاح الأخطاء التي أدت إلى عملية الاستغلال.

بالطبع مع العلم إن هذه المنهجية تختلف من شخص إلى أخر ويمكن تقسيمها إلى أكثر من أربع مراحل، ولكنها عادةً ما تنقسم إلى ما بين أربعة مراحل إلى سبعة مراحل.
عملية اختبار اختراق الويب يمكن تصنيف أجزائها إلى ثلاثة أجزاء:
Web Server: وهي التي تستهدف فيها الويب سيرفر، وتقوم في هذا الجزء بتنفيذ هجمات خاصة بالشبكات وذكرت السبب في بداية المقال.
Web Application: وهي العملية التي ستقوم فيها باستكشاف التطبيق من أجل الوصول إلى هجمات وتتم فيها مهاجمة التطبيق نفسه من أجل استكشاف ثغرات موجودة به.
Web User: تقوم فيها باستهداف مستخدم الويب نفسه، مستخدم التطبيق، وأما أن يكون مستخدم داخلي كمدير نظام للتطبيق، أو مستخدم خارجي كمستخدم عادي يستخدم التطبيق. وفي هذا الجزء يكثر استغلال ثغرات كـXSS وهي اختصار لـCross-Site Scripting وثغرات كـCSRF وهي اختصار لـCSRF.

حسنٌ، لنتحدث الآن عن الأدوات التي يمكن استخدامها في كل جزء من الأجزاء السابقة:

Web Server: كما قلت في هذه المرحلة أن تتعامل معها بهجمات الشبكات وبالتالي ستستخدم أدوات عادةً ما تستخدم مع الشبكات مثل: Nmap، Nessus، Nikto، Metasploit. بالطبع يمكن استخدام هذه الأدوات مع تطبيقات الويب أيضًا..
Web Application: ستستخدم في هذا الجزء الأدوات التي تقوم بعملية فحص للتطبيق نفسه وليس السيرفر، وأدوات تقوم بفهم آلية عمل التطبيق، مثل: Burp Suite وهو يعتبر أكثر الأدوات التي تتعامل مع تطبيقات الويب، ZAP وهو من الأدوات المفضلة بالنسبة لي وهو إحدى مشاريع مؤسسة OWASP وهو مشابه لأداة Burp Suite مع اختلاف أنها مجانية تمامًا ويتاح لك استخدام آلية الفحص بشكل مجاني.
Web User: في هذا الجزء ولأننا نستهدف المستخدم نفسه، فالتركيز يكون على أدوات مثل SET.
بالطبع هناك العديد من الأدوات التي تستخدمها ولها أهميتها الخاصة مثل: SQLMap وJohn The Ripper وبعد الأدوات الأخرى.

للتعرف على المنهجيات أكثر يمكنك الاطلاع على ما يسمى بالتالي:
1. PTES: وهي اختصار لـ Penetration Testing Execution Standard، وهي تعتبر أجدد المنهجيات وتعتبر أفضلها في رأيي الشخصي.
2. OSSTM: وهي اختصار لـOpen-Source Security Testing Methodology.
3. OWASP: وهي منقسمة إلى 12 قسم، وهي أكثر المنهجيات المتخصصة في تطبيقات الويب.
فهم هذه المنهجيات يساعدك على فهم ماهية اختبار تطبيقات الويب بشكل أكبر، وأنها ليست مجرد عملية تستخدم فيها الأدوات لتنفيذ الهجمات.

أما عن أكثر الهجمات شيوعًا وبدون الدخول في تفاصيل عنها لأنها ستأخد ساعات طويلة إن قمنا بالتحدث عنها فهي:
1. Injection.
2. Cross-Site Scripting (XSS).
3. Broken Authentication and Session Management.
4. Cross-Site Request Forgery (CSRF).

أتمنى أنني لم أنسَ شيئًا مما كنت أريد التحدث عنه :/
بالتوفيق وإن شاء الله نلتقي في مقالات أخرى.

مقال : تنفيذ عملية Auditing Databases باستخدام اداة nmap

$
0
0

بسم الله الرحمن الرحيم

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

 

Auditing Databases

nmap scritp engine

تطبيقات الويب او اي برمجيات بالتاكيد تحتاج الى قواعد بيانات لتيم تخزين المعلومات بداخلها , قواعد البيانات تعتبر هي المخزن التي يخزن بها  البيانات وججم ونوع القاعده يعتمد على نوع التطبيق المتصل بالقاعده قد ربما تصل الجداول الموجوده في القاعده الي ملايين الجداول والسجلات بالنسبة للتطبيقات الضخمه والعملاقة , على سبيل المثال : تطبيق الفيس بوك لو نتأمل للحضات عن هذا التطبيق العملاق والضخم سوف تجد ان كل شئ يسجل من ضغطات like ومشاركة للمنشورات والصور والاصدقاء واصدقاء الاصدقاء والرسائل والمعلومات الشخصيه و و و الكثير من الامور التي تحتاج الى عده قواعد بيانات وكل قاعده لها مئات السجلات والجداول . قواعد البيانات توجد بداخل سيرفرات خاصة بها تسمى Database servers وهي عباره عن سيرفرات تحتوي على احجام تخزين هائلة ويتم وضع القواعد بها ويوجد هناك programming APIs تسمح للمطورين ان يتصلوا بالقاعده وتخزين البيانات وتنفيذ الاستعلامات والعديد من المهام , قد يكون التطبيق في سيرفر وقاعده البيانات في سيرفر اخر وبينهم لغه استعلامية وبعض من الدوال المستخدمه للتفاهم فيما بينهم .

هنا يأتي دور اداة nmap عندما نقوم بفحص شبكة سوف نمسح السيرفرات وجميع اجهزة الشبكة بما فيها الروترات والاكسيس بوينت وكل جهاز يحمل ايبي وسوف نمر بسيرفرات قواعد البيانات فكيف يمكن ان نركز على هذه السيرفرات وماهي السكربتات الموجوده في اداة nmap التي قد تفيديني لعملية Auditing Databases هذا ما سنناقشة في هذا المقال , وسوف نركز على MySQL , MS SQL, Oracle هي اشهر قواعد بيانات مستخدمه حاليا .

سوف ابدا بقواعد البيانات من نوع MySQL وسوف استعرض لكم بعض السكربتات .

استعراض قواعد البيانات داخل السيرفر :

سيرفرات قواعد بيانات MySQL تحتوي على اكثر من قاعده مخزنة بداخله , يمكن بواسطة سكربت mysql-databases استعراض ماهي القواعد الموجوده في السيرفرات , تمت كتابة هذا السكربت ليساعد على استعراض القواعد الموجوده بداخل السيرفرات .

 nmap -p3306 –script mysql-databases –script-args mysqluser=root,mysqlpass=123 192.168.1.13

show databases;

من المفترض ان تظهر جميع القواعد الموجوده بداخل السيرفر , كما تلاحظون في الصوره ظهرت قاعدة البيانات التي يحتويها السيرفر عندي وهو لا يحتوي الا على قاعده واحده .

ماهي الفائدة من هذا السكربت , اذا كنت اعرف اليوزرنيم والباسورد سوف اقوم بالدخول الى سيرفر MySQL واقوم بالاستعلام وانتهت المشكلة , هذا صحيح ولكن  لا ننسى الوظيفة الاساسية لأداة nmap وهي مسح الشبكة وايضا يمكن مسح مئات الألوف من عناوين الايبي , لذلك يمكن دمج السكربت في امر واوحد لجمع معلومات العديد من الاجهزه قد تصل الى عشرات الاجهزه مره واحده .

يمكن ايضا تنفيذ الامر في حالة عدم وجود باسورد على السيرفر بواسطة السكربت  mysql-empty-password

nmap -p3306 –script mysql-empty-password,mysql-databases 192.168.1.13

استعراض المستخدمين داخل سيرفر MySQL :

MySQL تدعم تعدد المستخدمين واعطاء كل مستخدم صلاحيات وقواعد خاصة به ليعمل عليها , نستطيع بواسطة سكربت mysql-users  استعراض المستخدمين الموجودين في السيرفر

 

استعراض MySQL variables :

تحتوي MySQL على مجموعة من المتغيرات ولكل متغير القيمة الخاصة به , اذا اردنا استعراض المتغيرات مع قيمها سوف نستخدم سكربت mysql-variables :

nmap -p3306 –script=mysql-variables –script-args mysqluser=root,mysqlpass=123 192.168.1.13

 

تحديد_041

سوف تظهر لك قائمة طويلة جدا من المتغيرات مع القيم الخاصه بها .

 

تنفيذ هجوم Brute force على سيرفر MySQL من اداة nmap :

يمكننا تنفيذ هجوم التخمين بواسطة سكربت mysql-brute  عن طريق استخدام السكربت بواسطة الامر التالي :

nmap -p3306 –script=mysql-brute –script-args userdb=/root/username.txt,passdb=/root/password.txt 192.168.1.13

 

تنفيذ هجوم Brute force على Oracle من اداة nmap :

مدراء قواعد البيانات احيانا يحتاجون ان يعرفون الباسوردات الضعيفه لمستخدمين القاعده , كذلك مختبري الاختراق يجدون فائدة كبيره من الباسوردات الضعيفه ويستغلونها لصالحهم عن طريق تنفيذ هجمات التخمين سوف نستخدم سكربت oracle-brute الذي ساعدنا على تخمين كلمات المرور في قواعد بيانات Oracle

nmap -sV –script=oracle-brute –script-args userdb=/root/username.txt,passdb=/root/password.txt 192.168.1.183

 

تخمين SID names لقواعد بيانات Oracle :

يمكننا استخراج اسماء SID names في سيرفرات Oracle باستخدام سكربت oracle-sid-brute :

 nmap -sV –script=oracle-sid-brute –script-args oraclesids=/root/pen-oracles/sid.txt 192.168.1.13

 

استخراج معلومات MS SQL server :

سكربت ms-sql-info يمكننا التقاط معلومات عن سيرفرات MS SQL وهذا مفيد جدا في مرحلة جمع المعلومات .

nmap -p1433 –script ms-sql-info 192.168.122.11

 

تنفيذ هجمات التخمين على سيرفرات MS SQL باستخدام اداة Nmap :

يمكن تنفيذ هجمات التخمين على سيرفرات MS SQL   بواسطة سكربت ms-sql-brute :

 nmap -p1433 –script ms-sql-brute –script-argsuserdb=/var/usernames.txt,passdb=/var/passwords.txt 192.168.111.111

 

ما زال هناك العديد والعديد من السكربتات الموجوده ضمن اداة namp وكذلك يوجد العديد من السكربتات لقواعد بيانات اخرى غير المذكورة مثل CouchDB , MongoDB .

 

ملاحظة : يجب عليك التركيز على تغيير المتغيرات مثل عنوان الايبي في المثال وكذلك البورت المستخدم في الخيار p- .

للمزيد من السكربتات يمكنك زيارة الموقع الرسمي للسكربتات من هنا http://nmap.org/nsedoc/index.html .

فيديو : حل التحدي العاشر من تحديات موقع hackthissite – realistic

$
0
0

التطبيق العملي لشرح التحدي العاشر من تحديات موقع hackthissite – realistic بعد ان انتهينا من التسعه التحديات السابقه بشكل كتابي على هيئة مقالات .

 

اتمنى لكم الفائدة والمتعة في حل التحديات :

جرب وتحدى نفسك قبل ما تعرف الحل عشان تستفيد من تجاربك وانا متاكد بتتعلم الكثير اذا تحديت نفسك .

 

 

فيديو : زيادة حماية سكربت الوردبريس باضافة ميزه two factor authentication باستخدام اضافة clef

$
0
0

في هذا الفيديو قمت بشرح اضافة clef  لحماية الوردبريس بواسطة two factor authentication .

 

 

تستطيع تحميل الاضافة من هنا

https://wordpress.org/plugins/wpclef

بودكاست : إنتشار أمن المعلومات في العالم العربي الموسم الثاني

$
0
0

بعد الإنتهاء من الموسم الأول مسبقاً من iSecur1ty Podcast , عدنا لكم مجدداً بحلقات وبمقابلات جديده نتمنى أن تكون مفيده لكم في مجال أمن المعلومات :)

في هذه الحلقة إستضفنا مدير موقع Arabia.io ثمود بن محفوظ , ثمود هو مدون تقني وله إطلاع واسع في مجال التقنية العربية ويعمل في مجال التدوين التقني من 2008 لذلك أحببنا أن يكون هو ضيفنا في الحلقة الأولى من الموسم الثاني من iSecur1ty Podcast لكي نتكلم عن مدى إنتشار أمن المعلومات بشكل عام لدى المستخدم العربي.

 

Viewing all 466 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>