السلام عليكم ورحمة الله وبركاته.
في الدرس السابق تحدثنا عن الأداة الأخيرة الخاصة بجمع المعلومات وهي recon-ng سنكمل اليوم التعامل مع هذه الأداة.
وهذه الأداة ضخمة وفيها خيارات وmodules كثيرة جداً، لكننا سنحاول التطرق لبرز خياراتها ونقوم بالعمل من خلالها.
أفتح توزيعة Kali Linux وأفتح سطر الأوامر. أكتب: recon-ng
تحدثنا في الدرس السابق عن workspaces بينما في الدرس اليوم سنقوم بجمع المعلومات حول شركة cisco .
add
عندما يكون لديك شركة ستقوم باستطلاع لها وجمع المعلومات باستخدام recon-ng ، يفضل أن تقوم بإنشاء workspace خاص بها.
وذلك لعزل المعلومات التي ستقوم بجمعها بالأداة للشركة عن أي معلومات عن جهات أخرى.
لذلك سنقوم بإنشاء workspace أكتب: workspaces add cisco
أصبح لدي workspace تدعى cisco
show
أريد أن أستطلع modules موجودة عندي وأتعامل معها بشكل أدق. أكتب: show modules recon
إن طريقة تسمية ال modules الخاصة بال reconnaissance كالتالي:
Recon/ في المقدمة وهو نوعها أو تصنيفها أنها reconnaissance وهذه ال modules مخصصة الاستطلاع وفي النهاية الإسم الذي يعمل عن طريق bing او linkedin وهكذا.
وفي وسط الإسم كلام ينفصل بينهم بإشارة – فما هو كل ذلك؟
لو فرضنا أن لدي domain name وهو cisco.com وأريد أن أجمع IP Addresses أو ال subdomains الخاصة به.
فأذهب إلى ال domains الموجودة لدي ومنهم ال cisco وأجمع ال hosts الخاصة بال domains لذلك فصلت ب – .
ولو أردت مجموعة domains أريد جمع البريد الإلكتروني للناس المرتبطين بهذا الدومين فأكتب له domains-contacts
وأريد أن أجمع بروفايل ال contacts أكتب: contacts – profile
وهذا يعتمد على الأمر الذي أكتبه
سيسكو لديها دومين باسم cisco.com وتحدثنا سابقاً أن لدي أمر add ومن ثم اعطيه إسم الجدول فيضيف عليه بيانات
Add domains cisco.com
Show domains
فيظهر لي جدول يحوي دومين cisco
إن كان هناك domains أخريات تخص cisco كان يمكن إضافتهم يدوياً لكي اسمح للأداة أن تتعامل مع ال domains المضافات.
فإذا نفذت أحد ال modules التي تجمع معلومات من ال domains سيتعامل مع جميع الموجودين في الجدول.
في هذه الحالة لدي سجل واحد وهو cisco.com
netcraft
الآن أريد أن أجمع معلومات حول domains فأكتب: search domains
فيظهر فقط ال domains، سآخذ IP Address ل modules معين، أكتب: use recon/domains-hosts/netcraft
أو : load recon/domains-hosts/netcraft
أو: use netcraft
بجميع الحالات ستدخل داخل ال module فأنا داخل مجال العمل المدعو cisco في module يسمى netcraft
وكل module له بعض الخيارات أقوم باستطلاعها ب: show options
Source
وقيمته الحالية افتراضية، ويجب أن تكون له قيمة مطلوبة yes ، لكن ما هو source؟
فأكتب: show info
ستعطيني معلومات عنه من كتبه ومعلومات عن المؤلف ووصفه وعدة أشياء.
فإن كانت قيمة source افتراضية فسيختار جملة select من ال domains يعني أن ال domains الذين ضفناهم على الجدول المسمى domains:
domains add cisco.com
سيختار كل ال domains الموجودة في الجدول ويبدأ بالاستطلاع
لو كتبت له: set source ce.com
لن يستطلع من خلال ال domains بل سيرى قيمة الدومين فقط.
بما أننا أضفناهم داخل الجدول فسنتركه افتراضي.
run
كيفية تنفيذ الأمر ، بأن أكتب run فقط و enter
سيبدأ بجمع المعلومات من ال subdomains، وكل مجموعة يجمعها يتوقف قليلاً حتى لا يتم حجب ال IP Address الذي أجمع المعلومات من خلاله.
ويخزن ال subdomains في جدول hosts. وذلك عندما استخدمنا netcraft module و netcraft يجمع ال hosts لدومين ما، معناه أن النتائج سيخزنها في جدول hosts.
وبعد أن ينتهي من تنفيذه لأراهم أكتب: show hosts
Netcraft module فقط يحضر ال domains وال subdomains أي ال hosts ولكي أحضر IP Addresses أستعمل module آخر
resolve
أكتب: Search hosts لأبحث بينها وأجد resolve module ووظيفته إحضار IP Address لأي hostموجود في جدول hosts
أكتب: use recon/hosts-hosts/resolve
Show options
أعطاني مصدر واحد
Show info
يعطيني أن الخيار الذي يدعى source قيمته افتراضية وهي تعني إظهار جميع ال hosts في جدول hostsالذي خزنته تواً.
Show source
فال module الذي أتعامل معه سيظهر لي الكود خاصته وهو resolve module ، فإن كنت خبيراً بالبايثون فيمكنك التعديل عليه.
أكتب: run
سيبدأ بالعمل على كل ال hosts المخزنين سابقاً في جدول hosts وتحضر IP addresses الخاص بها، ومنها خطأ ومنها أنها مجهولة ويعني أنه لا يوجد لها سجل في netcraft أو لا يوجد دومين.
Show hosts
يظهر لي ال hosts جميعاً
freegeoip
وبهذا يكون قد جمعت فقط IP Address وأنا أريد أن أعرف المنطقة والمدينة والبلد وخط الطول والعرض لهذا الدومين، فهناك modules خاصات بالمواقع فابحث عنها.
Search geo
يظهر أن هناك module freegeoip وظيفته أن يأخذ host ويرجع ال IP له:
use freegeoip
show info
يعطيني أن هذا ال module يشبك به server على موقع freegeoip.net ليأخذ النتائج منه، ومصدر افتراضي أنه يحضر من hosts ال IP Address .
Show source
أرى مصدره فيشبك ال IP Address ويقوم ب request ليحضر معلومات الموقع لهذا ال IP Address.
Run
فيحضر موقع ال IP Address وكل IP Address معطى له.
Show hosts
يعطي بيانات الدولة والمكان وموضعها.
وهكذا أصبح لدي جدول hosts
contacts
أريد أن أحضر معلومات عن ال contactsفاكتب search contacts
يعطيني مجموعة من البيانات، وأريد فقط التي تبدأ ب contacts فقط، وهي التي سأتعامل معها.
فإن كان لدي دومين أريد أن أحضر ال contacts خاصته
Whois pocs
وظيفته أن أعطيه دومين ويعطيني ال contacts خاصتها على ال whois ساكتب:
Use recon/domains-contacts/whois pocs
Show info
لدي دومين يدعى cisco أكتب run
نلاحظ أنها بدأت بإحضار ايميلات و contacts واسماء الأشخاص
أكتب : show contacts
فيعطيني إياها في جدول
أريد أن أعرف من ال contacts هل تم ذكر أحدهم في تسريب أمني معين؟
التسريبات الأمنية credentials
هي أن يكون لدي email address مع password وأريد أن أعرف credentials
أكتب: search cred
يعطيني كونتاكت credentials متسرب على الإنترنت
Use recon/contacts-credentials/hibp paste
Run
Show info
فإن وجد email ما وهو الذي أبحث عنه في جدول ال contacts تم تسريبه على gethub أو غيرها يقوم بتحميل الملف كاملاً إن وجده.
فأكتب له: run
فإن لم يجد شيئاً سيكتب بجانبه not found وإن وجد شيئاً سيكتب العنوان وال password بجانبه. أو يقوم بتحميل الملف إلى مكان لديك.
إن كتبت : show credentials
سيعطيني جدول يحوي ال domains التي تم التسريب منها. فإن لم يجد ال password فهذا يعني أن الملف الذي تم فيه التسريب قد حذف.
Show modules
هناك الكثير من ال modules ولن نستطيع التعامل معهم جميعاً لكننا تعاملنا مع أبرزهم، وطريقة التعامل مع الباقي بنفس المبدأ بواسطة recon-ng .
Reporting
وتعني أني أريد أن سيعطيني تقريراً، فإن كتبت: show dashboard
فيعطيني جدول بملخص ما قمت به، من استخدام لل modules وكل module كم مرة استخدمته ووفي بياناتك كل جدول كم به عدد السجلات.
أريد أن أخزن نتائج العمل واستخرجها على شكل تقرير ولكن هناك عدة أنواع html، xml، list وهكذا:
Use reporting/html
Show info
سيظهر لي أن لدي أربعة خيارات منها creator، customer، filename، sanitize
Creator
هو إسم المؤلف: set creator ” mohammad khreesha”
customer
Set customer ”cisco networking”
filename
وهنا يخزن افتراضي، فإن أردت تخزينه في مكان آخر:
Set filename /root/desktop/cisco.html
Run
فيصبح لدي تقرير من نوع html يدعى cisco ويحوي البيانات التي جمعتها وقمت بها.
هذا باختصار أداة recon-ng أتمنى أن تكون أمورها وضحت لكم.
وأتمنى أن يقوم أحد من المتابعين للدورة بالذي يملك خبرة بالبرمجة بأن يطور بعض الموديلز وينشرها باسمه بحيث يكون لديه بصمة على المصدر المفتوح على مستوى أمن المعلومات.
محمد خريشة