اعرف اللي قصادك. احمي أرضك.

amass

أداة تابعة لمنظمة OWASP لرسم خريطة سطح الهجوم، تدمج بين استعلامات DNS وWHOIS وتقنيات الـ scraping مع ربط واسع عبر واجهات البرمجة APIs.

هجوممفتوحة المصدرLinuxmacOSWindows
github.com/owasp-amass/amass

دليل أداة Amass الشامل

تُعد أداة amass (التابعة لمنظمة OWASP) الأداة الرائدة في رسم خرائط أسطح الهجوم (Attack-surface mapping). تتجاوز قدراتها مجرد اكتشاف النطاقات الفرعية (Subdomains)، حيث تقوم ببناء رسم بياني علائقي (Relational graph) يربط بين النطاقات، وأرقام الأنظمة المستقلة (ASNs)، ونطاقات العناوين (CIDRs)، والشهادات الرقمية، وسجلات DNS، والمعلومات الاستخباراتية مفتوحة المصدر (OSINT) الخاصة بالمنظمات. يتم تخزين كل هذه البيانات محلياً لتمكين الاستعلام المستقبلي دون الحاجة لإعادة جلب البيانات.

التثبيت (Install)

$ snap install amass
# أو عبر Go
$ go install -v github.com/owasp-amass/amass/v4/...@master
$ brew install amass

توجد ملفات الإعداد والبيانات في المسار ~/.config/amass/. يتم وضع مفاتيح واجهة البرمجة (API keys) في ملف config.yaml.

الأوامر الفرعية الرئيسية (The four subcommands)

الأمرالغرض
amass intelجمع معلومات OSINT عن منظمة/عنوان IP/ASN - لاكتشاف النطاقات المملوكة وجهات الاتصال.
amass enumاكتشاف النطاقات الفرعية (بوضعية سلبية وإيجابية).
amass vizتصور الرسم البياني للبيانات (بصيغ D3, GraphML).
amass dbالاستعلام في قاعدة بيانات الرسم البياني المحلية.

خيارات أمر amass enum

الخيارالغرض
-d <domain>النطاق المستهدف الأساسي (Apex)
-passiveالوضع السلبي - الاعتماد على المصادر الخارجية دون الاتصال المباشر بالهدف.
-activeالوضع النشط - محاولة حل الأسماء، فحص المنافذ الرئيسية، وجلب الشهادات.
-bruteالتخمين العشوائي (Brute-force) باستخدام قائمة كلمات مدمجة.
-w <wordlist>استخدام قائمة كلمات مخصصة للتخمين.
-rf <resolvers>تحديد ملف لمحللات DNS (Resolvers) المخصصة.
-dir <path>تحديد مسار قاعدة البيانات (لعزل بيانات كل عملية اختراق بشكل منفصل).
-ipجلب وعرض عناوين IP المرتبطة بكل نطاق.
-srcعرض مصدر البيانات لكل نطاق مكتشف (مهم لتوثيق المصداقية).

منهجيات العمل (Workflows)

الفحص السلبي (آمن لعمليات الاستطلاع الأولي)

$ amass enum -passive -d target.gov -o passive.txt

الفحص النشط الكامل (Active Enumeration)

$ amass enum -active -brute -d target.gov \
$ -rf /usr/share/amass/resolvers.txt \
$ -dir /opt/engagements/target/amass \
$ -o active.txt -json active.json

استطلاع المنظمة الأم (OSINT on parent org)

$ amass intel -org "Target Inc" -active
# النتيجة ← اكتشاف النطاقات التابعة عبر WHOIS وشهادات الأمان والبحث العكسي.

الاستعلام في قاعدة البيانات بعد انتهاء الفحص

$ amass db -dir /opt/engagements/target/amass -names # عرض كل الأسماء الفريدة المكتشفة
$ amass db -dir /opt/engagements/target/amass -show # عرض الرسم البياني الكامل للعقد (Nodes)

تحليل النتائج (Good output)

يظهر مخرج الأداة النطاق المكتشف ومصدره التقني (مثل NSEC, CRTSH, BRUTE). استخدام خيار -src ضروري لفهم كيفية اكتشاف النطاق.

api.target.gov          (NSEC, ALT-DNS-COM)
mail.target.gov         (CRTSH, CENSYS)
staging.target.gov      (BRUTE)
vpn.target.gov          (PASSIVE-DNS)

استكشاف الأخطاء وإصلاحها

العرضالسبب المحتملالحل المقترح
توقف الأداة عند "Loading data sources"مشكلة في الشبكة أو في محللات DNSاستخدم -rf مع قائمة محللات موثوقة وعاملة.
تحذير "no API keys"غياب مفاتيح خدمات مثل Shodan أو Censysأضف المفاتيح في config.yaml؛ الأداة ستعمل بدونهما ولكن بدقة أقل.
نتائج التخمين تحتوي على بيانات عشوائية كثيرةوجود DNS Wildcardاستخرج النمط المتكرر وأضفه في ملف استثناءات عبر -nf.
امتلاء القرص الصلبقاعدة البيانات الافتراضية تنمو بسرعةاستخدم دائماً -dir لكل مشروع على حدة وقم بتنظيف البيانات القديمة.

منظور المدافع (Defender's perspective)

يولد الوضع النشط (Active mode) تدفقاً من طلبات DNS إلى الخوادم الرسمية (Authoritative servers). سيلاحظ المدافع:

  • انفجار في طلبات سجلات A لنطاقات غير موجودة (دليل على التخمين Brute-force).
  • محاولات بحث عكسي (Reverse PTR) عبر نطاقات CIDR الخاصة بالمنظمة.
  • عمليات فحص البصمات (Fingerprinting) عبر بروتوكولات ALPN / TLS-SNI على الخدمات الطرفية.

اعتبارات العمليات الأمنية (OPSEC)

  • الوضع السلبي (-passive) آمن تماماً ولا يترك بصمة لدى الهدف. أما الوضع النشط والتخمين فإنهما يثيران ضجيجاً برمجياً يمكن رصده بسهولة.
  • عزل البيانات: من الضروري استخدام خيار -dir لكل عميل/مشروع لضمان عدم اختلاط البيانات المسربة أو المكتشفة بين المشاريع المختلفة.
  • استعلامات amass intel -org تتم عبر وسطاء طرف ثالث، لذا لا تظهر في سجلات الهدف مباشرة.

أدوات ذات صلة

  • subfinder: أسرع، يركز على الوضع السلبي فقط، ومخرجاته أبسط.
  • dnsx: متخصص في حل أسماء DNS والتعامل مع الـ Wildcards، ولا يقوم بعمليات الاكتشاف (Enumeration).
  • puredns: ممتاز في تصفية نتائج التخمين العشوائي بسرعة فائقة.
  • assetfinder: أداة خفيفة وسريعة لاختبارات الاستطلاع الأولية.