مضى على الشبكة و يوم من العطاء.
  • تحذير: يجب على كل روّاد الشبكة تشغيل برامج الاختراق داخل الأنظمة الوهمية وهي بهدف التعلم وحماية الأعضاء والتوعية بها

[ WalkTh ] أساليب وأدوات للكشف عن البيانات الخفية ـ ( Content Discovery )

3b0-0d3b0-0d is verified member.

{ || مشرف قسم CTF || }
.:: طاقم المشرفين ::.

السمعة:

1700517919270.png
أولاً، لازم نسأل، في سياق أمان تطبيقات الويب، إيش هو المحتوى؟ المحتوى يمكن يكون اشياء كتير، ملف، فيديو، صورة، نسخة احتياطية، ميزة في موقع الويب. لما نحكي عن اكتشاف المحتوى، مش عن الاشياء الواضحة اللي بنشوفها على الموقع؛ إحنا بنحكي عن الاشياء اللي مش معروضة علينا مباشرة ومش كان مفترض إنها تكون متاحة للجمهور.

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

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

1. الاكتشاف اليدوي ( Manually ) .

2. الاستخبارات المفتوحة ( OSINT ).

3. الاكتشاف التلقائي ( Automated ) .

الاسئله من TryHackMe | Content Discovery


هذه الروم تتطلب اشتراك ⚠️




الاكتشاف اليدوي ( Manually )

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

مثال على ذلك عند فتح الملف 👇
1700517929885.png


Favicon
الـ “Favicon” هو رمز صغير بتشوفه في شريط عنوان المتصفح أو في التاب اللي مفتوحة لموقع الإنترنت.
1700517934637.png

أحيانًا، لما تستخدم إطار عمل (framework) لبناء موقع ويب، يكون فيه رمز “favicon” مدمج جاهز. إذا كان المبرمج ما غير هذا الرمز برمز خاص للموقع، بالوقت هاد ببين إن الموقع بُني باستخدام إطار عمل معين.

موقع OWASP عندهم مكتبة بتحتوي على رموز شائعة لأنواع مختلفة من الإطارات العمل (frameworks)، بتقدر تستخدمها لتحقق إذا كان الموقع مُبني باستخدام أحد هذه الإطارات. لما تعرف نوع الإطار اللي استخدمه الموقع، بتقدر تبحث عن معلومات أكتر عنه.

مثال على ذلك

ترا الايقونه الصغيره او كما تسمى 👇favicon
1700517938966.png

لما نتطلع على السورس كود نجد انه في السطر رقم 6 رابط لصورة “favicon” واسمها “favicon.ico👇
1700517942896.png

اذا حاب تبحث عنه في موقع OWASP لازم تعرف قيمة الـ “md5 hash

استخدم الأمر هاد عشان تعرف القيمه
curl https://static-labs.tryhackme.cloud/sites/favicon/images/favicon.ico | md5sum
وبتقدر كمان تنفذ الأمر هاد على ويندوز في الـ “PowerShell
curl https://static-labs.tryhackme.cloud/sites/favicon/images/favicon.ico -UseBasicParsing -o favicon.ico
بعدها الامر👇
Get-FileHash .\favicon.ico -Algorithm MD5
1700517953319.png



هاي هي القيمه : F276B19AABCB4AE8CDA4D22625C6735F

نبحث عنها بالموقع التالي OWASP favicon database - OWASP

نجد​

1700517959033.png


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

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

تجربه مثال على ذلك
1700517965196.png
نجد بالاسفل هذا قائمه الصفحات
1700517969794.png

نجد ان يوجد واحد بالاسفل مخفي ها هو s3cr3t-area/

لانه لا يظهر هنا
1700517974712.png


HTTP Headers
ياخدوا الناس، لما بتفتحوا صفحة ويب على الإنترنت، الخادم اللي بيستضيف الصفحة دي بيبعتلك معلومات في حاجة اسمها “HTTP Headers”. دول زي البطاقة الشخصية للصفحة، بيقولوا لك إيه نوع الخادم اللي بيستخدمها وإيه البرمجة اللي بتتشغل عليها.

مثال 👇
كود:
user@machine$ curl http://10.10.62.139 -v
*   Trying 10.10.62.139:80...
* TCP_NODELAY set
* Connected to MACHINE_IP (MACHINE_IP) port 80 (#0)
> GET / HTTP/1.1
> Host: MACHINE_IP
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx/1.18.0 (Ubuntu)
< X-Powered-By: PHP/7.4.3
< Date: Mon, 19 Jul 2021 14:39:09 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive

الخادم بيستخدم خدمة اسمها NGINX إصدار 1.18.0 وبيستخدم لغة البرمجة PHP إصدار 7.4.3. هاد الاشي ممكن يكون مفيد إذا كنت بتبحث عن ثغرات في البرمجيات اللي الخادم بيستخدمها.

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

مثال على ذلك
1700517985560.png

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

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

مثال على ذلك

1700573644121.png


لو شفت مصدر صفحة راح تلاقي تعليق في آخر الصفحة بيوضح وقت تحميل الصفحة ورابط لموقع النظام اللي استخدم، وهو: https://static-labs.tryhackme.cloud/sites/thm-web-framework
1700517995920.png
بعد الذهاب للموقع نسجل الدخول 👇
1700517999771.png
ثم يظهر الحل 👇
1700518002929.png


الاستخبارات المفتوحة ( OSINT )

عندنا موارد ما بتكلف فلوس وهالاشي بيساعدك تجمع معلومات عن الموقع اللي إنت بدك تبحث عنه. الاشياء هاي بتتسمى OSINT مختصر لـ( Open-Source Intelligence )

Google Hacking / Dorking
الـ “Google Hacking” أو “Dorking”. هاي شغله بتستخدم ميزات متقدمة في محرك بحث جوجل، بتسمح لك تحدد المحتوى اللي إنت بدك تلاقيه. مثلا إنت بتقدر تحدد إنك تبحث عن نتائج من موقع معين باستخدام الـ"site:filter"

مثلا لو إنت بدك تلاقي نتائج من موقع tryhackme.com تكتب هيك site:tryhackme.com
وبعدين إنت بتقدر تضيف كلمات بحث تانية،
زي مثلاً كلمة admin ف بنكتب site:tryhackme.com admin هاي بترجعلك نتائج بس من موقع tryhackme.com اللي فيها كلمة admin وإنت بتقدر تجمع كمان عدة فلاتر مع بعض، عشان تحدد البحث أكتر.

بعض أمثلة على الفلاتر واستخدامها:

الـ site بترجع نتائج بس من موقع معين.
الـ inurl بترجع نتائج فيها الكلمة اللي بتحددها في عنوان الصفحة.
الـ filetype بترجع نتائج لملفات بنوع معين (مثلاً PDF).
الـ intitle بترجع نتائج فيها الكلمة اللي بتحددها في عنوان الصفحة.

Wappalyzer
الـ Wappalyzer بيساعدك تعرف أي تقنيات وبرامج معينة تُستخدم في أي موقع. مثلاً، هالشغلة بتقول لك إذا الموقع مستخدم WordPress أو Joomla كنظام لإدارة المحتوى، وإذا كان يستخدم Stripe للدفع على سبيل المثال. والمهم هي بتعطيك حتى إصدارات هذه البرامج.

ببساطة، Wappalyzer هو أداة تسهل عليك تعرف تقنيات المواقع والتفاصيل الفنية بسهولة.

هاد هو الموقع 👇


Wayback Machine
الـ Wayback Machine هو مثل مكتبة بتخزن نسخ تاريخية من المواقع على الإنترنت. يعني من الـ 90s وحتى الآن، بتقدر تبحث عن اسم أي موقع وتشوف كل المرات اللي تم فيها حفظ محتوى الموقع هذا. هذه الخدمة تفيد لما تبغى تشوف مواد قديمة على موقع حالي. ها هو الموقع Wayback Machine

GitHub
الـ GitHub ببساطة هو مكان على الإنترنت بتحط فيه ملفات مشروعك، زي مكان تخزن فيه صورك على الفيسبوك بس لملفات البرمجة.

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

الـ GitHub هو مكان على الإنترنت الو نفس فكرة Git بس محترف أكثر. ممكن تكون فيه مكانك عام أو خاص وفيه أشياء ثانية كتير بتقدر تعملها. وممكن تستخدم خاصية البحث في GitHub عشان تلاقي مشاريع تخص اللي إنت مهتم فيها. ولما تلاقيهم، ممكن تستفيد من شفرة المصدر للبرامج أو معلومات مهمة تانية ممكن تساعدك في شغلك.
حيث يُعَدّ GitHub جزءًا بسيطًا ومختصرًا لهدف هذا المنتدى 😁😉

S3 Buckets
الـ S3 Buckets هي خدمة تخزين من Amazon AWS ، بتسمح للناس تحط ملفاتهم أو حتى محتوى موقعهم على الإنترنت. اللي بيحط الملفات بقدر يختار إذا تكون ملفاته عامة للجميع، او خاصة فيه أو حتى يقدر يغيرها. بس المشكلة إنه في أحيانا كثيرة الإعدادات بتتضبط غلط وبتخلي الملفات تكون مفتوحة للجمهور. وعناوين الـ S3 Buckets عبارة عن روابط على الإنترنت بتبدأ بـ http(s)://Name.s3.amazonaws.com والاسم يتم اختياره من قبل صاحب الملفات. بتقدر تكتشف الـ S3 Buckets بطرق كتيرة، مثل البحث عن الروابط في مصدر صفحة الموقع الإلكتروني أو في مستودعات GitHub ، أو حتى باستخدام اسم الشركة مع كلمات شائعة.

Subfinder
الـ Subfinder هي اداه بتساعدك في البحث عن عناوين مواقع فرعية تابعة لموقع واحد. مثل لو كان عندك موقع web.com بتساعدك في البحث عن عناوين مواقع فرعية مثل blog.web.com أو shop.web.com
تعتبر هاي المعلومات مهمة لأغراض الأمان واختبار الاختراق وأغراض أخرى.

securitytrails
موقع SecurityTrails هو زي العدسة السحرية للإنترنت، بتقدر تستخدمه عشان تشوف أشياء مخفية على الإنترنت بطريقة سهلة وسريعة. ف هو بيقدملك أمور كتير مفيدة منها :
  1. فحص النطاقات (Domains): بتقدر تستخدمه عشان تبحث عن معلومات عن أي موقع أو نطاق على الإنترنت، زي متى تم تسجيله ومن يمتلكه وعنوان الخادم اللي بيشتغل عليه.
  2. البحث عن نطاقات مشابهة: بتقدر تشوف نطاقات تشبه نطاقك أو نطاق المنافسين، وهاد بساعدك في فهم أفضل للسوق والمنافسة.
  3. تحليل تغييرات DNS: يساعدك على مراقبة تغييرات في تسجيلات DNS لأي نطاق، فإذا تغير اي شيء بتعرف على الفور.
  4. معرفة أمان الاتصال: بتستطيع تتحقق من شهادات الأمان (SSL/TLS) لأي موقع، عشان تتأكد إذا كان الاتصال آمن أو لا.
  5. مراقبة الخوادم: بتقدر تعرف أي نوع من الخوادم تستخدمها مواقع معينة، وهاد بيفيد في تحليل التكنولوجيا المستخدمة.
  6. البحث عن معلومات مخفية: بتقدر تستخدم SecurityTrails للبحث عن معلومات مخفية أو غير معلن عنها على الإنترنت، وهاد ممكن أنه يساعد على تحسين أمان الشبكة ومراقبتها.

الاكتشاف التلقائي ( Automated )

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

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

هناك العديد من أدوات اكتشاف المحتوى المختلفة المتاحة، كلها بميزاتها وعيوبها الخاصة، وسنغطي ثلاثة منها وهن ffuf وdirb وgobuster.

امثله على استخدامهن

استخدام ffuf:
كود:
ffuf
user@machine$ ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -u http://10.10.62.139/FUZZ
استخدام dirb:
كود:
dirb
user@machine$ dirb http://10.10.62.139/ /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt
استخدام Gobuster:
كود:
gobuster
user@machine$ gobuster dir --url http://10.10.62.139/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt
هذه الأدوات تستخدم لاكتشاف المحتوى على المواقع والخوادم عبر تجربة مختلفة من الأسماء والمسارات الممكنة في القوائم الموجودة.
 
التعديل الأخير:
بارك الله فيك يا عبود على عذا التعريب، شغل متعوب عليه والله ❤️🔥
 

آخر المشاركات

فانوس

رمضان
عودة
أعلى