الفرق الحمراء — الهجوممتقدم60mL06

Recon — قبل ما تكتب أول أمر

Passive و Active و OSINT — تشوف من غير ما تتشاف

#OSINT#Subdomains#DNS#Shodan

Recon هو 80% من الـ engagement

Recon هو 80% من الـ engagement. مش الـ exploitation. وأي حد بيقولك العكس، يا إما لسه عيّل، يا إما بيبيعك كورس.

تيجي تسأل ليه؟ بُص.

الـ exploit بيتكتب مرة. الـ payload بيتنزل من الإنترنت. الـ shell بيفتح في ثواني.

بس اللي بياخد أسابيع، اللي بيقرر إنت هتنجح ولا هتترمي بره من أول يوم — هو إنك تعرف اللي قصادك. مين هو، شغّال إيه، فاتح إيه، نسي إيه.

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

اللي بيستعجل على المرحلة دي بيحرق نفسه. وبيحرق العميل. وبيحرق الـ engagement كله.

نوعين Recon — اعرف الفرق قبل ما تتحرك

قبل ما تكتب أي أمر، اسأل نفسك سؤال واحد: الهدف هيشوفني ولا لأ؟

Passive — من بعيد لبعيد
إنت ما بتلمسش الهدف. خالص. بتقرا في WHOIS، بتفتش في crt.sh، بتشوف Shodan، بتقلب في Wayback. الـ packets بتاعتك مش بتوصله. هو مش حاسس بيك. دي السكة الصامتة.
Active — إنت بتدق الباب
بتبعت DNS queries، بتعمل HTTP requests، بتفتح ports. أسرع وأدق، بس بتسيب أثر في الـ logs بتاعته. لو الـ blue team عندهم نص دماغ، هيشوفوك.
الغلطة اللي بيقع فيها 90% من اللي بيبدأوا
ولد جديد، اتحمّس، فتح nuclei من الـ IP بتاع البيت، ضرب target.gov بـ 5000 request في 3 دقايق. النتيجة؟ الـ IP بتاعه اتحرق في أول ساعة. الـ engagement اتفضح. العميل اتصل غضبان. لو هتعمل Active، يبقى من VPS منفصل، بـ rate-limit محترم، وبـ rotating proxies لو الهدف حساس. مش من شبكة WE اللي في البيت، يا نجم.

السيناريو: target.gov من الصفر

تعالى نمشي خطوة خطوة. الهدف افتراضي اسمه target.gov. مفيش أي معلومة عندك غير الدومين ده. ابدأ منين؟

المرحلة الأولى: Passive — قبل ما تلمسه

أول حاجة: WHOIS. مين مسجّل الدومين؟ امتى؟ إيميل المسؤول إيه؟

تاني حاجة: crt.sh. كل شهادة SSL اتطلعت على نطاقه = subdomain مكشوف. الناس بتنسى إن الـ Certificate Transparency logs مفتوحة للعالم كله. هتلاقي vpn.target.gov و dev-internal.target.gov و staging-old.target.gov بتطلع زي الفجل.

تالت حاجة: Shodan. حط الدومين أو الـ ASN، شوف كل جهاز ليه IP عام. RDP مفتوح؟ Jenkins من غير auth؟ Elasticsearch على 9200 من غير password؟ كله هنا.

رابع حاجة: Wayback Machine. الموقع بتاعهم من 2018 كان شكله إيه؟ في endpoints قديمة لسه شغّالة في الباكند ومحدش فاكرها؟ غالباً آه.

OSINT — الذهب اللي مرمي في الشارع

الناس بتفتكر إن المعلومات الحساسة بتيجي من اختراقات. لا يا سيدي. الناس بنفسها بتنشرها. على LinkedIn، على GitHub، على Stack Overflow، في الـ EXIF بتاع الصور.

1. معلومات المؤسسة

  • WHOIS — صاحب الدومين، تاريخ التسجيل، إيميل المسؤول.
  • crt.sh — كل شهادة SSL اتطلعت باسم الشركة، بتفضح الـ subdomains.
  • Shodan / Censys / FOFA — محركات بحث لأي جهاز متصل بالنت.
  • Wayback Machine — نسخ قديمة من الموقع بتكشف endpoints اتشالت.
$ whois target.gov
$ curl -s 'https://crt.sh/?q=%25.target.gov&output=json' | jq -r '.[].name_value' | sort -u
api.target.gov mail.target.gov staging.target.gov vpn.target.gov

2. معلومات الموظفين

  • LinkedIn — هيكل الشركة، أسامي، التكنولوجيا اللي شغالين بيها.
  • Hunter.io / EmailRep — إيميلات الموظفين.
  • GitHub / GitLab — كود متسرب، مفاتيح API، أسرار نسيها حد في الـ commits.
  • HaveIBeenPwned / Dehashed — تسريبات passwords قديمة لموظفين الشركة.
GitHub Dorks
# دور على أسرار متسربة في GitHub
"target.gov" password
"target.gov" filename:.env
"target.gov" AKIA  # AWS keys
org:target-gov filename:config.yml

المرحلة التانية: Active — subfinder + httpx + nuclei

خلصت Passive؟ عندك ليستة subdomains، عندك IPs، عندك فكرة عن الـ stack. كويس. دلوقتي تيجي تتحرك.

بس مش من الـ IP بتاعك. من VPS منفصل. وبـ rate-limit. وبـ User-Agent مش بيقول "أنا nuclei".

$ subfinder -d target.gov -all -silent | tee subs.txt
$ amass enum -passive -d target.gov >> subs.txt
$ assetfinder --subs-only target.gov >> subs.txt
$ sort -u subs.txt | httpx -silent -title -tech-detect -status-code -rate-limit 10
https://api.target.gov [200] [API Gateway] [nginx] https://staging.target.gov [403] [WordPress 5.8] https://vpn.target.gov [200] [Fortinet SSL VPN]
$ nuclei -l live.txt -severity high,critical -rate-limit 20
[CVE-2023-XXXX] [http] [critical] https://staging.target.gov
ليه أكتر من أداة في الـ subdomain enum؟
كل أداة بتسحب من مصادر مختلفة — passive DNS، CT logs، scrapers. لما تجمعهم بتكشف 30-50% subdomains زيادة. اللي بيكتفي بأداة واحدة بيسيب نص الهدف ورا ضهره.
بُص: الـ rate-limit مش زينة
nuclei بيضرب templates بالآلاف. لو سيبته على الـ default، إنت بتعمل DDoS صغير على الهدف. الـ WAF بتاعهم هيقفل الـ IP بتاعك في 30 ثانية، والـ engagement بتاعك خلص. حط -rate-limit دايماً. وحط -bulk-size صغير. ما تستعجلش.

Tech Fingerprinting — اعرف الخصم بيلبس إيه

  • Wappalyzer / WhatWeb — بيحدد الـ framework والإصدار والـ CDN.
  • BuiltWith — بيقولك الاستضافة ومزود الإيميل.
  • favicon hash — بصمة فريدة بتفضح منتجات داخلية معروفة.
$ whatweb https://target.gov
nginx[1.24], WordPress[6.2], jQuery[3.6], PHP[8.1]

قصة حقيقية: Capital One — كله بدأ من recon

2019. Capital One. 100 مليون عميل اتسرّبت بياناتهم.

الناس فاكرة إن الموضوع كان zero-day معقد. لا.

المهاجمة (Paige Thompson) عملت recon بسيط جداً على infrastructure الشركة على AWS. لقت WAF متعرّف غلط (misconfigured)، فيه ثغرة SSRF. ضربت الـ metadata service بتاع EC2 على 169.254.169.254، طلّعت IAM credentials، ومن هناك خدت كل الـ S3 buckets.

الـ exploitation كان 5 دقايق. الـ recon — اللي شافت بيه إن الـ WAF بتاعهم متظبّط غلط — ده اللي خد الأسابيع.

الدرس؟ الـ recon مش بيكشفلك بس "إيه فاتح". بيكشفلك "إيه متظبّط غلط". وده أهم بكتير.

الحماية: الـ SOC بيشوف الـ recon إزاي؟

لو إنت في الـ blue team، اسأل نفسك: لو حد عمل recon عليّا دلوقتي، هشوفه؟

الإجابة الصادقة: غالباً لأ. وده اللي لازم يتغيّر.

  • DNS spike على subdomains مش موجودة — لو فجأة في 5000 query على random.target.gov وtest123.target.gov، ده DNS bruteforce. سجّله في الـ SIEM.
  • Certificate Transparency monitoring — اشترك في feed بتاع crt.sh لكل شهادة بتتطلع باسم نطاقك. لو حد طلّع شهادة على subdomain إنت ما طلبتهاش، يبقى في حد بيلعب.
  • User-Agent fingerprinting — httpx، nuclei، nikto، gobuster — كلهم بيسيبوا signatures معروفة. اعمل rules في الـ WAF.
  • اخفي الـ subdomains الداخلية ورا Cloudflare/WAF واقفل الـ DNS zone transfer.
  • scan على GitHub بـ truffleHog / gitleaks قبل ما الأسرار تتسرب.
  • درّب الناس: تفاصيل الـ stack ما تتنشرش على LinkedIn ولا Stack Overflow.
الخلاصة الحمائية
حط Canary tokens في الـ DNS وفي الـ S3 buckets الوهمية. أول ما حد يلمسهم، إنت بتعرف إن في recon شغّال — قبل ما الـ exploitation تبدأ بأسابيع.

الخلاصة الناشفة

اكتبها على ظهر إيدك:

Recon هو الفرق بين الـ engagement اللي بيخلص في يومين والـ engagement اللي بيوقف عند الـ scoping.

اللي بيستعجل، بيحرق نفسه. اللي بيقعد يبص أسبوع، بيلاقي الباب مفتوح من الأصل.

اوعى تكسر قبل ما تشوف. اشتغل صح من الأول.