يعني إيه جمع معلومات (Recon)؟
إيه هو الـ Reconnaissance، وليه هو أهم مرحلة في اختبار الاختراق، ومكانه فين في مراحل الـ Pentest، وخريطة الكورس.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
أهلاً بيك في كورس جمع المعلومات. قبل ما أي حد يهاجم أي هدف، بيعمل حاجة واحدة الأول: بيعرف الهدف ده كويس جداً.
الـ Reconnaissance، أو اختصاراً Recon، معناه إنك تجمع كل معلومة ممكنة عن الهدف. الـ domains والـ IPs بتاعته. الأجهزة الشغّالة والـ ports المفتوحة. الخدمات وإصداراتها. وكمان الموظفين والتكنولوجيا اللي بيستخدموها.
ليه ده مهم أوي كده؟ كل ثَغْرة هتلاقيها بعدين، بتبدأ من معلومة لقيتها هنا. اللي بيجمع معلومات أكتر، بيلاقي ثَغَرات أكتر. وفي امتحان OSCP بيقولوا جملة مشهورة: لو اتزنقت، ارجع اعمل Enumeration تاني.
الـ Recon هو أول مرحلة في اختبار الاختراق. الأول Recon. بعدين Scanning للثَغَرات. بعدين Exploitation. بعدين Post Exploitation. وفي الآخر التقرير اللي اتعلمناه في الكورس اللي فات.
وده اللي هنمشي فيه في الكورس: الأول الفرق بين الجمع السلبي والنشط، والحدود القانونية. بعدين الجمع السلبي، من غير ما نلمس الهدف. بعدين اكتشاف الأجهزة والـ ports والخدمات بـ Nmap. بعدين تعداد خدمات زي الويب و SMB. وفي الآخر نِنَظّم النتايج ونعمل أتمتة بـ Python. خلّينا نبدأ بحاجة بسيطة: ملف للهدف. dictionary فيه اسم الشركة، والـ domain، والـ IPs، والـ subdomains، ومكان فاضي للـ ports اللي لسه ما نعرفهاش. نشغّل… كل معلومة في سطر، وآخر سطر بيقولنا إن الـ ports لسه مش معروفة. ده بالظبط الإحساس اللي هنبدأ بيه: ملف ناقص، وكل درس هيملا جزء منه.
target = {
"company": "Example Corp",
"domain": "example.com",
"ips": ["203.0.113.10"],
"subdomains": ["www", "mail", "dev"],
"open_ports": {},
}
for key, value in target.items():
print(f"{key:12} -> {value}")
print("ports still unknown:", not target["open_ports"])المخرجات
company -> Example Corp
domain -> example.com
ips -> ['203.0.113.10']
subdomains -> ['www', 'mail', 'dev']
open_ports -> {}
ports still unknown: Trueدورك: ضيف key اسمه technologies، وقيمته list فيها nginx و PHP.
ضيف "technologies": ["nginx", "PHP"] جوه الـ dictionary.
الحل: نشغّل…
target = {
"company": "Example Corp",
"domain": "example.com",
"ips": ["203.0.113.10"],
"subdomains": ["www", "mail", "dev"],
"open_ports": {},
"technologies": ["nginx", "PHP"],
}
for key, value in target.items():
print(f"{key:12} -> {value}")
print("ports still unknown:", not target["open_ports"])المخرجات
company -> Example Corp
domain -> example.com
ips -> ['203.0.113.10']
subdomains -> ['www', 'mail', 'dev']
open_ports -> {}
technologies -> ['nginx', 'PHP']
ports still unknown: Trueالدرس الجاي: الفرق بين الجمع السلبي والجمع النشط، وإمتى يبقى اللي بتعمله قانوني، وإمتى يبقى جريمة. يلا بينا.
03 / دروس المسار (22)
- 01يعني إيه جمع معلومات (Recon)؟انت هنا
- 02سلبي ولا نشط؟ والنطاق القانوني
- 03WHOIS: مين صاحب الـ Domain؟
- 04سجلات DNS: كنز المعلومات
- 05اكتشاف الـ Subdomains
- 06Certificate Transparency: الشهادات بتتكلم
- 07Google Dorking
- 08OSINT: الموظفين والإيميلات
- 09الـ Metadata: أسرار جُوّه الملفات
- 10اكتشاف الأجهزة الشغّالة (Host Discovery)
- 11الـ Port Scanning بيشتغل إزاي؟
- 12Nmap: البداية
- 13أنواع الـ Scan والسرعة في Nmap
- 14كشف الخدمات والإصدارات ونظام التشغيل
- 15NSE Scripts وحفظ النتايج
- 16تعداد الويب: الـ Headers والتكنولوجيا
- 17الـ Directory Brute Force
- 18تعداد SMB
- 19تعداد خدمات تانية: FTP و DNS و SNMP وغيرهم
- 20تنظيم نتايج الـ Recon
- 21أتمتة الـ Recon بـ Python
- 22مراجعة شاملة وخطة Recon