RSSمحتويات التصنيف: "شروحات"

أساسيات ثغرات الفيض ‫‪Buffer Overflow‬‬

السلام عليكم

ماهية ثغرات البوفر اوفر فلو :

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

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

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

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

نقطة مهمة :

ان التعامل مع امثال هذه الثغرات تحتاج لخبرة لا بأس بها في لغات برمجة ومن اهمها لغة التجميع ( اسمبلي ) .

مصطلحات نظرية مهمة :

ماهو البوفرBuffer : البوفر هو المكان الذي يتم فيه تجميع وتخزين البيانات المؤقت

ماهو اوفر فلو ‫‪overflow‬‬ : هو الفيض الذي يحدث بأن تحمل شيئ ما اكثر من ما هو مسموح له . ملئ كاس من الماء اكثر من قدرت استيعابه .

ماهي المسجلات ‫‪Registers‬‬ : سجلات يتم استخدامها لتنفيذ عملية التحكم والسيطرة ويتم استخدامها من قبل البروسيسور .

المؤشر ‫‪EBP‬‬ : هو المؤشر المسؤول عن استداعاء او طلب دالة معينة يتم الضغط عليها الى العودة وتشير الى اعلى المكدس .

نقطة الضغف ‫‪points Vulnerability‬‬ : هو الخلل البرمجي الذي يسمح للمخترق بتنفيذ اشياء ضارة .

المنقح العام ‫‪GDB‬‬ : يتم استخدامه لمتابعة البرامج ومعرفة الملفات الموجودة بداخلها .

الكومة ‫‪Stack‬‬ : تحدث الكومة مع البرامج التي تمنح حجم ذاكرة  محدد  في الاستخدام فعند حدوث الكومة يقوم البرنامج باستخدام ذاكرة اكبر من ما هو مخصص له .
ويستخدم الستيك ايضا في عملية Program Crash . وهية فيض في عملية جلب واستدعاء الدوال .

المساحة Heap : هية المساحة المخصصة للبرنامج .

عنوان العودة ‫‪Returning Address‬‬ : وهو امر يستخدم داخل البرنامج ليتم الرجوع بعد ذلك لنقطة الادخال .

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

rOckHuntEr

الكاتب: بندر الحارثي

التقاط الحزم باستخدام سنورت

كلنا نعرف برنامج Snort  على أنه IDS/IPS  و هذا صحيح و لكن جزء من عمله هوSniffer  و Logger . سنتطرق في هذا الموضوع الصغير لكيفية عمله كـ sniffer و Logger  بشكل سريع و أترك الباقي لكم

ملاحظات هامة:

  • قد تكون هذه الطريقة ليست الطريقة الأفضل لالتقاط البيانات, لكن أفضل دوما أن أعرف أكثر من طريقة لشيئ واحد.
  • يحتاج الـ Snort برامج إضافية (LibPcap)
  • يعمل Snort كـ sniffer  مع طبقات كم طبقات الـ OSI  وهن (2 – 7)
  • يحتاج إلى صلاحيات الـ root لكي يحول وضع كارت الشبكة إلى Promiscuous mode
  • بشكل افتراضي,  يقوم  بجمع البيانات العابرة خلال الكارت eth0
  • يعيب الـ snort  في وضع الـ Sniffer و الـ Logger  عيب مهم و هو البطئ و قد يسقط/يفقد بعض البيانات و هو يوضح مقدار الحزم المفقودة بعد كل انتهاء العملية.

لنبدأ,,

‫مقدمة الى إستعمال ‪Wireshark‬‬

خطأ شائع يقع فيه الكثير حين يود إلتقاط البيانات/الحزم بواسطة Wireshark حيث يقوم بإلتقاط جميع الحزم، وهناك قاعدة هنا تقول:
العبرة ليست بكثرة المعلومات، ولكن بدقتها !

وهذه مقولة صحيحة، فكلما كانت عدد المعلومات والتي هي هنا “الحزم” الملتقطة أقل أو بالأحرى أدق، كلما سهل تتبع المشكلة أو الأمر المراد الإستكشاف عنه بسهولة … في هذا الموضوع سأوضح ولو بشكل مبسط أساسيات إستعمال Wireshark وذلك لكي يكون نقطة إنطلاق لكم … حيث سأوضح كيفية إستعمال أبسط الفلاتر للوصول الى معلومات بشكل أدق …

الفلاتر في Wireshark نوعان:

Capture Filters: وهي الفلاتر التي تحددها لكي يتم تسجيلها. هذه الفلاتر يتم تحديدها قبل عملية تشغيل التسجيل/الإلتقاط للحزم.
Display Filters: وهي الفلاتر المستعملة للبحث داخل البيانات/المعلومات المسجلة أو الملتقطة من قبل Wireshark. يمكن إستخدامهم أثناء قيام Wireshark بستجيل الحزم.

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

تحليل لإصابة ببرمجيّات خبيثة خطوة بخطوة

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

إكتشاف و تحليل الثغرات : فحص السورس و الهندسة العكسية.

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

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

لما نريد أن نفحص برنامج من الثغرات فأول شيء لازم نعرف خصائص البرنامج:

– نوع البرنامج.
– وظيفته.
– مفتوح أم مغلق المصدر.
– تحديد مدخلات البرنامج (user inputs) مثلا : عملية login في سيرفير FTP.

تحويل Shellcode إلى لغة الآلة (Assembly)

هل سبق وان تسألت، ماذا تعني هذه الرّموز التي تراها في بعض الأكواد؟ (أنا تسألت :))

"\x3c\x90\x89\xe6\x83\xc6\x40\xc7\x06\x02\x00\x0b\xac\xc7\x46"

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

إستخدام Attack Tool Kit لعمل PenTest بسيط

أداة صغيرة وجميلة أخرى تعمل في بيئة عمل نظام ويندوز تساعد في إكتشاف الثغرات وإستغلالها إسمها ATK وهو إختصار ل، Attack Tool Kit … النظام هذا كما يصفه مطوره هو عبارة حالياً عن دمج الماسح Nessus وبيئة الإستغلال Metasploit معاً … الأداة تستطيع أن تعمل بدون تدخلك في ما تقوم به وبالتالي تقوم الى حد ما بعملية Automation لعملية كشف وإستغلال الثغرات لوحدها … الأداة تشبه في عملها كثيراً Core Impact … هذه الأداة صغيرة صحيح ولكنها تشبه فعلاً CI كثيراً لكن هناك فروقات كبيرة جداً طبعاً … الأداة مكتوبة بلغة Visual Basic وهي خاضعة لرخصة GPL وبالتالي لك حرية إستعمالها وتوزيعها …

لنقم بعمل تجربة بسيطة … الأداة في إعداداتها الأساسية تقوم بتنفيذ إستغلال واحد ضد الـ localhost او 127.0.0.1 ولهذا لنقوم بتغيير هذه الأعدادات لتناسب ما نريد … أضغط على أيقونة Config وقم بتعديل الهدف … أي ضع الهدف الذي تريد أن تختبره … وبعد ذلك قم أيضاً بتفعيل Full Audit لكي يقوم بتنفيذ جميع الثغرات الموجودة في مخازنه وليس فقط ما تقوم بإختياره … أيضاً هناك خيار جميل وهو إعطائك Alert حين يتم إيجاد ثغرة وإستغلالها قم بتفعيلها إذا أردت …

عمل DNS Enumeration بإستخدام Metasploit

طبعاً يوجد الكثير من الأدوات لعمل DNS Enumeration لكن مو غلط نتعرف على ما يوفره لنا Metasploit … حيث يوفر لنا أداة مساعدة إسمها dns_enum وسنقوم بإستعمالها لغرض الحصول على معلومات حول نطاق معيين … لإستعمال هذه الأداة، كل ما عليك القيام به هو الدخول الى الـ Console الخاص بـ Metasploit ومن ثم:

msf > use auxiliary/gather/dns_enum

لإستعراض الخيارات كلها:

msf auxiliary(dns_enum) > info

       Name: DNS Enumeration Module
    Version: 7825
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  Carlos Perez 

Basic options:
  Name         Current Setting                                    Required  Description
  ----         ---------------                                    --------  -----------
  DOMAIN                                                           yes       The target domain name
  ENUM_AXFR    true                                               yes       Initiate a zone Transfer against each NS record
  ENUM_BRT     false                                              yes       Brute force subdomains and hostnames via wordlist
  ENUM_RVL     false                                              yes       Reverse lookup a range of IP addresses
  ENUM_SRV     true                                               yes       Enumerate the most common SRV records
  ENUM_STD     true                                               yes       Enumerate standard record types (A,MX,NS,TXT and SOA)
  ENUM_TLD     false                                              yes       Perform a top-level domain expansion by replacing TLD and testing against IANA TLD list
  IPRANGE                                                         no        The target address range or CIDR identifier
  NS                                                              no        Specify the nameserver to use for queries, otherwise use the system DNS
  STOP_WLDCRD  false                                              yes       Stops Brute Force Enumeration if wildcard resolution is detected
  WORDLIST     /home/binary/bin/msf3/data/wordlists/namelist.txt  no        Wordlist file for domain name brute force.

Description:
  This module can be used to enumerate various types of information
  about a domain from a specific DNS server.

References:
  http://cve.mitre.org/cgi-bin/cvename.cgi?name=1999-0532

جميل جداً، إذن لعمل Zone Transfer لدومين معيين كل الذي علينا فعله هو:

msf auxiliary(dns_enum) > set DOMAIN arabnix.com

السبب، هو إن الخيار ENUM_AXFR والذي هو مختص بعملية Zone Transfer كما تلاحظون تم تفعيله “true” … الآن تشغيله:

msf auxiliary(dns_enum) > run

سلسلة تعلم tcpdump: الجزء الثالث

هذا الجزء الثالث والاخير من سلسلة تعلم tcpdump. في هذا الجزء سنغطي إن شاء الله، الاستخدامات المتقدّمة ل tcpdump، باستخدام الفلاتر.

ملاحظة: هذا الجزء بحاجة الى معرفة جيّدة في البروتوكلات والنّظام السادسي عشر.

العوامل التي يتمّ استخدامها في tcpdump
اكبر من >
اصغر من < اكبر او يساوي =>
اصغر او يساوي =< لا يساوي =! وبالطبع اليساوي = الادوات الشرطيّة AND OR NOT

وضع كلمة سرية على Grub

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

grub-md5-crypt

ضعها قبل السطور الخاصة بالأنظمة التي تريد الإقلاع منها:

password $1$bkriV/$sbZWBWwX7Jzw8IPI62XU30

وسلامتكم …