
الماسح الضوئي التكراري للإنترنت للقراصنة. 🧡
https://github.com/blacklanternsecurity/bbot/assets/20261699/e539e89b-92ea-46fa-b893-9cde94eebf81
فحص BBOT في الوقت الفعلي - تصور باستخدام VivaGraphJS
# الإصدار المستقر
pipx install bbot
# أحدث إصدار (فرع التطوير)
pipx install --pip-args '\--pre' bbot
لمزيد من طرق التثبيت، بما في ذلك Docker، راجع البدء
هل ترتقي من 2.x؟ يحتوي BBOT 3.0 على تغييرات جذرية في واجهة سطر الأوامر والإعدادات المسبقة والوحدات والأحداث وواجهة Python البرمجية. راجع دليل الانتقال من 2.x إلى 3.0 (المصدر) قبل الترقية.
نصيحة للسرعة: يقوم محلل DNS الخاص بـ BBOT (blastdns) بتشغيل خيوط متعددة لكل محلل في
/etc/resolv.conf. إضافة المزيد من المحللين غير المصفاة يسرّع عمليات الفحص بشكل كبير. راجع نموذج resolv.conf والنصائح والحيل للتفاصيل.
مصادر API سلبية بالإضافة إلى هجوم قوة غاشمة متكرر لـ DNS مع تحورات نطاق فرعي مخصصة للهدف.
# البحث عن النطاقات الفرعية لـ evilcorp.com
bbot -t evilcorp.com -p subdomain-enum
# المصادر السلبية فقط
bbot -t evilcorp.com -p subdomain-enum -rf passive
subdomain-enum.ymldescription: تعداد النطاقات الفرعية عبر واجهات API والقوة الغاشمة
flags:
# تفعيل كل وحدة تحمل علامة تعداد النطاقات الفرعية
- subdomain-enum
output_modules:
# إخراج النطاقات الفرعية الفريدة إلى ملف نصي
- subdomains
config:
dns:
threads: 25
brute_threads: 1000
# ضع مفاتيح API الخاصة بك هنا
# modules:
# github:
# api_key: ""
# chaos:
# api_key: ""
# securitytrails:
# api_key: ""
يجد BBOT باستمرار نطاقات فرعية أكثر بنسبة 20-50% مقارنة بالأدوات الأخرى. كلما كان النطاق أكبر، كان الفرق أكبر. لمعرفة كيف يكون ذلك ممكنًا، راجع كيف يعمل.

# زحف evilcorp.com، واستخراج عناوين البريد الإلكتروني وغيرها من المقتنيات
bbot -t evilcorp.com -p spider
spider.ymldescription: زاحف ويب متكرر
modules:
- http
blacklist:
# منع الزاحف من إبطال الجلسات عن طريق تسجيل الخروج
- "RE:/.*(sign|log)[_-]?out"
config:
web:
# عدد الروابط التي يجب متابعتها على التوالي
spider_distance: 2
# لا تتبع الروابط التي يزيد عمق دليلها عن 4
spider_depth: 4
# الحد الأقصى لعدد الروابط التي يجب متابعتها لكل صفحة
spider_links_per_page: 25
# تعداد سريع للبريد الإلكتروني باستخدام واجهات API مجانية + كشط
bbot -t evilcorp.com -p email-enum
# دمجه مع تعداد النطاقات الفرعية + زاحف الويب للحصول على أقصى إنتاجية
bbot -t evilcorp.com -p email-enum subdomain-enum spider
email-enum.ymldescription: تعداد عناوين البريد الإلكتروني من واجهات API، وزحف الويب، إلخ.
flags:
- email-enum
output_modules:
- emails
# تشغيل فحص ويب خفيف ضد www.evilcorp.com
bbot -t www.evilcorp.com -p web
# تشغيل فحص ويب ثقيل ضد www.evilcorp.com
bbot -t www.evilcorp.com -p web-heavy
web.ymldescription: فحص ويب سريع
include:
- iis-shortnames
flags:
- web
web-heavy.ymldescription: فحص ويب عدواني
include:
# تضمين الإعداد المسبق للويب
- web
flags:
- web-heavy
# كل شيء في كل مكان دفعة واحدة
bbot -t evilcorp.com -p kitchen-sink
# يعادل تقريبًا:
bbot -t evilcorp.com -p subdomain-enum cloud-enum code-enum email-enum spider web paramminer webbrute web-screenshots
kitchen-sink.ymldescription: كل شيء في كل مكان دفعة واحدة
include:
- subdomain-enum
- cloud-enum
- code-enum
- email-enum
- spider
- web
- paramminer
- webbrute
- web-screenshots
- baddns-heavy
config:
modules:
dnsbrute:
recursive_mutations: true
dnscommonsrv:
recursive_mutations: true
webbrute:
avoid_wafs: False
wayback:
urls: True
parameters: True
archive: True
انقر على الرسم البياني أدناه لاستكشاف الآليات الداخلية لـ BBOT.
...و المزيد!
from bbot.scanner import Scanner
if __name__ == "__main__":
scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
for event in scan.start():
print(event)
from bbot.scanner import Scanner
async def main():
scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
async for event in scan.async_start():
print(event.json())
if __name__ == "__main__":
import asyncio
asyncio.run(main())
بوت Discord لـ BBOT الذي يستجيب لأمر /scan. امسح الإنترنت من راحة خادم Discord الخاص بك!

يقبل BBOT عددًا غير محدود من الأهداف عبر -t. يمكنك تحديد الأهداف إما مباشرة في سطر الأوامر أو في ملفات (أو كليهما!):
bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum
يمكن أن تكون الأهداف أيًا مما يلي:
evilcorp.com)1.2.3.4)1.2.3.0/24)192.168.0.1:80)https://www.evilcorp.com)[email protected])ORG:evilcorp)USER:bobsmith)FILESYSTEM:/tmp/asdf)MOBILE_APP:https://play.google.com/store/apps/details?id=com.evilcorp.app)لمزيد من المعلومات، راجع الأهداف. لمعرفة كيفية تعامل BBOT مع النطاق، راجع النطاق.
على غرار Amass أو Subfinder، يدعم BBOT مفاتيح API لمجموعة متنوعة من الخدمات الخارجية مثل SecurityTrails وغيرها.
الطريقة القياسية للقيام بذلك هي إدخال مفاتيح API الخاصة بك في ~/.config/bbot/secrets.yml. لاحظ أنه يُسمح بمفاتيح API متعددة:
modules:
shodan_dns:
api_key: 4f41243847da693a4f356c0486114bc6
c99:
# مفاتيح API متعددة
api_key:
- 21a270d5f59c9b05813a72bb41707266
- ea8f243d9885cf8ce9876a580224fd3c
- 5bc6ed268ab6488270e496d3183a1a27
virustotal:
api_key: dd5f0eee2e4a99b71a939bded450b246
securitytrails:
api_key: d9a05c3fd9a514497713c54b4455d0b0
إذا أردت، يمكنك أيضًا تحديدها في سطر الأوامر:
bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246
للتفاصيل، راجع الإعدادات.
بعض من أفضل وحدات BBOT تمت كتابتها بواسطة المجتمع. يتم تحسين BBOT باستمرار؛ كل يوم يصبح أقوى!
نرحب بالمساهمات. ليس فقط الكود، ولكن الأفكار أيضًا! إذا كانت لديك فكرة لميزة جديدة، فيرجى إعلامنا في المناقشات. إذا كنت ترغب في أن تتسخ يديك، راجع المساهمة. هناك ستجد تعليمات الإعداد وبرنامج تعليمي بسيط حول كيفية كتابة وحدة BBOT. لدينا أيضًا وثائق مطور موسعة.
شكرًا لهؤلاء الأشخاص الرائعين لمساهمتهم في BBOT! ❤️
شكر خاص لـ: