amass
أداة تابعة لمنظمة OWASP لرسم خريطة سطح الهجوم، تدمج بين استعلامات DNS وWHOIS وتقنيات الـ scraping مع ربط واسع عبر واجهات البرمجة APIs.
دليل أداة Amass الشامل
تُعد أداة amass (التابعة لمنظمة OWASP) الأداة الرائدة في رسم خرائط أسطح الهجوم (Attack-surface mapping). تتجاوز قدراتها مجرد اكتشاف النطاقات الفرعية (Subdomains)، حيث تقوم ببناء رسم بياني علائقي (Relational graph) يربط بين النطاقات، وأرقام الأنظمة المستقلة (ASNs)، ونطاقات العناوين (CIDRs)، والشهادات الرقمية، وسجلات DNS، والمعلومات الاستخباراتية مفتوحة المصدر (OSINT) الخاصة بالمنظمات. يتم تخزين كل هذه البيانات محلياً لتمكين الاستعلام المستقبلي دون الحاجة لإعادة جلب البيانات.
التثبيت (Install)
توجد ملفات الإعداد والبيانات في المسار ~/.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)
الفحص السلبي (آمن لعمليات الاستطلاع الأولي)
الفحص النشط الكامل (Active Enumeration)
استطلاع المنظمة الأم (OSINT on parent org)
الاستعلام في قاعدة البيانات بعد انتهاء الفحص
تحليل النتائج (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: أداة خفيفة وسريعة لاختبارات الاستطلاع الأولية.