المشاركات

عرض المشاركات من يناير, 2013

البافر اوفر فلو: كتابة الشيل كود - before overflow

صورة
السلام عليكم ورحمة الله وبركاته



إن شاء الله تكونوا في تمام الصحة والعافية إخواني




كنا قد شفنا في الدرس السابق كيف نقوم بإستبدال قيمة RET داخل المكدس وذلك لالتحكم في EIP

وعندما تمكنا من التحكم في EIPجعلناها تشير إلى عنوان التعليمة في البرنامج التي نريد تنفيذها .

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


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


ماهو البايلود ؟

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

وهذا البايلود مايسمى بالشيلكود .

نستعمل هذا البايلود لإنتاج شيل بعد هجمات البافر أوفر فلو ... ومن هنا جائت تسميته بالشيل كود

لمذا سنكتب شيل كود ؟

نقوم بكتابة شيل كود وذلك لنجعل برنامج الهدف يشتغل بطريقة غير التي صمم من أجلها .

الطريقة الوحيدة لفعل ذلك هي إجبار البرنامج لعمل System Call أو نعبر عليه أيضا ب syscall
ال system call يسمح لنا بالوصول للكيرنل وذلك ليسمح

لنا الكيرنل بإستعمال الوضائف منخفضة المستوى مثل …

البافر أوفر فلو : فيض المكدس - before overflow

صورة
السلام عليكم ورحمة الله وبركاته



إن شاء الله تكونوا في تمام الصحة والعافية إخواني


مامعنى بافر ؟

البافر هو مكان مؤقت في الذاكرة لتخزين البيانات .

مامعنى بافر أوفر فلو ؟

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

ملاحظة في لغة السي :

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

عند تعريف وظيفة نفتح المعقف "{ " ثم نكتب التعليمات تبع تلك الوظيفة ثم نغلق المعقف "}"

نأخذ مثال لبرنامج مصاب :


#include <stdio.h> function() { char buffer[4]; gets(buffer); puts(buffer); } main() { function(); return 0; } الوظيفة المصابة في هذا البرنامج هي :




function() { char buffer[4]; gets(buffer); puts(buffer); } أولا قمنا في هذه الوظيفة بتعريف الرمز بافر بحجم 4 بايت .
كود…

الهندسة العكسية في لينكس - Reverse Engineering in linux

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


تعريف بسيط::


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

الهندسة العكسية ينطوي على الخطوات الأساسية الثلاثة التالية:

**** 1- جمع معلومات
**** 2- تحديد سلوك البرنامج
****3- اعتراض المكالمات المكتبية

I. جمع معلومات:

الخطوة الأولى: هي جمع المعلومات عن البرنامج والهدف هو ما يفعل. على سبيل المثال، فإننا سوف تأخذ الأمر 'who'. الأمر 'who' يطبع قائمة حاليا في تسجيل المستخدمين.
1. سلاسل القيادة:


# strings /usr/bin/who
* بعض السلاسل الهامه:


users=%lu
EXIT
COMMENT
IDLE
TIME
LINE
NAME
/dev/
/var/log/wtmp
/var/run/utmp
/usr/share/locale
Michael Stone
David MacKenzie
Joseph Arceneaux
ما نستخرجه من السابق بأنه يمكننا أن نعرف أن 'Who' يستخدم حوالي 3 ملفات وهي:
(/var/log/wtmp, /var/log/utmp, /usr/share/locale).

ولقراءة المزيد في أمثلة لينكس لقيادة السلاسل:

http://www.t…

اصطياد السيريال - serial fishing

صورة
قم بتحميل البرنامج التالي

http://www.4shared.com/file/RlaJV7KC/1_online.html

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



واذا كانت المدخلات خطأ . يطبع لك رساله
Wrong



بهذه البساطه . الان نحن مطلوب منا في هذا الدرس معرفه السيريال الحقيقي من خلال تتبع البرنامج
باستخدام olly
مبدأ اصطياد السيريال او الـ serial fishing بسيط جدا . تقوم بوضع مدخلات خطأ . ثم
تقوم بتتبع اكواد ودوال البرنامج . فاذا وجدت السيريال الصحيح . تأخذه
الان دعونا نبدأ في التطبيق العملي لفهم الفكره بشكل اوضح وابسط


بسم الله نبدأ :-
---------------

بدايتا قم بادخال البرنامج الي olly
(( شغل برنامج olly ثم من القائمه اختر File ومنها Open لاختيار البرنامج ))

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



الان ما الذي نريده ؟
بما ان البرنامج يقوم بعمل مقارنه بين السيريال الصحيح والاخر الذي ادخلته ( طبعا يكون عشوائي = خطأ )
اذا وبكل بساطه نريد رؤيه السيريال الصحيح
الان دع…

بحث متكامل عن الشبكات وحمايتها - research about networking security

صورة
السلام عليكم ورحمة الله

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

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

حماية الشبكات - networks security

صورة
بسم الله الرحمن الرحيم

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



الشبكه التى سنعتمد عليها فى الشرح

التصدى لهجمات ال Fragmentation-Based Attack

عدد كبير من الهجمات تعتمد على عملية ال Fragmentation اى تقسيم ال Packets الى أجزاء صغيرة يتم إرسالها بشكل متتابع فيتم تجميعها مرة اخرى عند الوصول , وهناك برامج يمكنها استغلال بعض الثغرات فى هذه العمليه لتنفيذ غرض خبيث فى نظام التشغيل او حمل الجهاز الى أشياء غير محسوبه مما يؤدى الى حدوث خلل ,ويمكن ايضا استخدام ال Fragmentation بغرض اخفاء هجوم كبير يتم تنفيذه فعن طريقه يتمكن المخترق من المرور عبر انظمه الحمايه مثل ال IPS و ال IDS وبعض الجدران الناريه ,باختصار ال Fragmentation يمكن ان يؤدى الى الكثير من المشاكل و الثغرات ,مثال على اشهر الهجمات التى تعتمد على مبدأ ال Fragmentation فى تنفي…

من هو الهاكر ؟ ومن هم الهاكرز ؟ - hackers

صورة
مما لا شك فيه ان كل من يقرا هذه المقاله الان . قد اتطلع مسبقا علي بعض
تعريفات مصطلح الـ hack او علي الاقل احدها .
وبالتأكيد . فقد لاحظنا ان التعاريف تختلف من شخص لاخر
بحسب البيئه المحيطه به .
ومن اشهر هذه التعريفات . هي ما ذكر فيها علي سبيل المثال
لا الحصر ان الهاكر هو من لديه القدره علي
اختراق نظام ما . او اكتشاف الثغرات ونقاط الضعف فيه
او القدره علي التسلل الي الانظمه والشبكات . والعبث بها بطريقه او باخري
ومما لا شك فيه . ان ظاهره تغيير محتوي الصفحات الرئيسيه للمواقع اصبح من لديه
القدره عليها باي طريقه كانت . تجد من يطلق عليه لقب hacker !!
متتبعي البرامج ومصممي الكراكات لها . البعض يطلق عليهم لقب hacker
مكتشفوا ثغرات الويب ابليكيشن او ثغرات الانظمه او الخدمات .
في الغالب يطلق عليهم لقب hacker
بعض الاشخاص الذين يتمكنوا من الوصول الي انظمه شركات معروفه
وتسريب بيانات هامه عنها قد يطلق عليهم لقب hacker
مصممي الفيروسات . المهندسين الاجتماعيين . محللي الاختراقات .
مدراء الشبكات . مدراء الانظمه . مختبري الاختراق . او حتي المبرمجين
كل هؤلاء في مجتمعاتنا يطلق عليهم لقب hackers وبجداره !! الي…