
الماسح الضوئي التكراري للإنترنت للقراصنة. 🧡
[](https://github.com/blacklanternsecurity/bbot)
[](https://www.python.org) [](https://github.com/blacklanternsecurity/bbot/blob/dev/LICENSE) [](https://pepy.tech/project/bbot) [](https://github.com/astral-sh/ruff) [](https://github.com/blacklanternsecurity/bbot/actions?query=workflow%3A"tests") [](https://codecov.io/gh/blacklanternsecurity/bbot) [](https://discord.com/invite/PZqkgxu5SA)
### **BEE·bot** هو ماسح ضوئي متعدد الأغراض مستوحى من [Spiderfoot](https://github.com/smicallef/spiderfoot)، صُمم لأتمتة **الاستطلاع (Recon)** و**مكافآت الثغرات (Bug Bounties)** و**إدارة سطح الهجوم (ASM)**!
https://github.com/blacklanternsecurity/bbot/assets/20261699/e539e89b-92ea-46fa-b893-9cde94eebf81
_فحص BBOT في الوقت الفعلي - تصوّر بياني باستخدام [VivaGraphJS](https://github.com/blacklanternsecurity/bbot-vivagraphjs)_
## التثبيت
```bash
# stable version
pipx install bbot
# bleeding edge (dev branch)
pipx install --pip-args '\--pre' bbot
```
_لمزيد من طرق التثبيت، بما في ذلك [Docker](https://hub.docker.com/r/blacklanternsecurity/bbot)، راجع [البدء](https://www.blacklanternsecurity.com/bbot/Stable/)_
> **هل تقوم بالترقية من 2.x؟** يحتوي BBOT 3.0 على تغييرات جذرية (breaking changes) في واجهة سطر الأوامر (CLI) والإعدادات المسبقة والوحدات والأحداث وواجهة Python البرمجية. راجع [دليل الترحيل من 2.x إلى 3.0](https://www.blacklanternsecurity.com/bbot/Stable/migration/3.0_breaking_changes/) ([المصدر](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/migration/3.0_breaking_changes.md)) قبل الترقية.
> **نصيحة للأداء:** محلل DNS الخاص بـ BBOT ([blastdns](https://github.com/blacklanternsecurity/blastdns)) يشغّل عدة خيوط (threads) لكل محلل في `/etc/resolv.conf`. إضافة المزيد من المحللات غير المفلترة يسرّع عمليات الفحص بشكل كبير. راجع [نموذج resolv.conf](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/data/resolv-sample.conf) و[النصائح والحيل](https://www.blacklanternsecurity.com/bbot/Stable/scanning/tips_and_tricks/#speed-up-scans-with-more-dns-resolvers) للتفاصيل.
## أوامر أمثلة
### 1) أداة العثور على النطاقات الفرعية
مصادر API سلبية بالإضافة إلى هجوم تخميني متكرر على DNS (brute-force) مع تحويرات نطاقات فرعية مخصصة للهدف.
```bash
# find subdomains of evilcorp.com
bbot -t evilcorp.com -p subdomain-enum
# passive sources only
bbot -t evilcorp.com -p subdomain-enum -rf passive
```
<!-- BBOT SUBDOMAIN-ENUM PRESET EXPANDABLE -->
<details>
<summary><b><code>subdomain-enum.yml</code></b></summary>
```yaml
description: Enumerate subdomains via APIs, brute-force
flags:
# enable every module with the subdomain-enum flag
- subdomain-enum
output_modules:
# output unique subdomains to TXT file
- subdomains
config:
dns:
threads: 25
brute_threads: 1000
# put your API keys here
# modules:
# github:
# api_key: ""
# chaos:
# api_key: ""
# securitytrails:
# api_key: ""
```
</details>
<!-- END BBOT SUBDOMAIN-ENUM PRESET EXPANDABLE -->
يجد BBOT باستمرار نطاقات فرعية أكثر بنسبة 20-50% من الأدوات الأخرى. وكلما كان النطاق أكبر، كان الفارق أكبر. لمعرفة كيف يكون ذلك ممكنًا، راجع [كيف يعمل](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/).

### 2) زاحف الويب
```bash
# crawl evilcorp.com, extracting emails and other goodies
bbot -t evilcorp.com -p spider
```
<!-- BBOT SPIDER PRESET EXPANDABLE -->
<details>
<summary><b><code>spider.yml</code></b></summary>
```yaml
description: Recursive web spider
modules:
- http
blacklist:
# Prevent spider from invalidating sessions by logging out
- "RE:/.*(sign|log)[_-]?out"
config:
web:
# how many links to follow in a row
spider_distance: 2
# don't follow links whose directory depth is higher than 4
spider_depth: 4
# maximum number of links to follow per page
spider_links_per_page: 25
```
</details>
<!-- END BBOT SPIDER PRESET EXPANDABLE -->
### 3) جامع عناوين البريد الإلكتروني
```bash
# quick email enum with free APIs + scraping
bbot -t evilcorp.com -p email-enum
# pair with subdomain enum + web spider for maximum yield
bbot -t evilcorp.com -p email-enum subdomain-enum spider
```
<!-- BBOT EMAIL-ENUM PRESET EXPANDABLE -->
<details>
<summary><b><code>email-enum.yml</code></b></summary>
```yaml
description: Enumerate email addresses from APIs, web crawling, etc.
flags:
- email-enum
output_modules:
- emails
```
</details>
<!-- END BBOT EMAIL-ENUM PRESET EXPANDABLE -->
### 4) ماسح الويب
```bash
# run a light web scan against www.evilcorp.com
bbot -t www.evilcorp.com -p web
# run a heavy web scan against www.evilcorp.com
bbot -t www.evilcorp.com -p web-heavy
```
<!-- BBOT WEB PRESET EXPANDABLE -->
<details>
<summary><b><code>web.yml</code></b></summary>
```yaml
description: Quick web scan
include:
- iis-shortnames
flags:
- web
```
</details>
<!-- END BBOT WEB PRESET EXPANDABLE -->
<!-- BBOT WEB-HEAVY PRESET EXPANDABLE -->
<details>
<summary><b><code>web-heavy.yml</code></b></summary>
```yaml
description: Aggressive web scan
include:
# include the web preset
- web
flags:
- web-heavy
```
</details>
<!-- END BBOT WEB-HEAVY PRESET EXPANDABLE -->
### 5) كل شيء في كل مكان دفعة واحدة
```bash
# everything everywhere all at once
bbot -t evilcorp.com -p kitchen-sink
# roughly equivalent to:
bbot -t evilcorp.com -p subdomain-enum cloud-enum code-enum email-enum spider web paramminer webbrute web-screenshots
```
<!-- BBOT KITCHEN-SINK PRESET EXPANDABLE -->
<details>
<summary><b><code>kitchen-sink.yml</code></b></summary>
```yaml
description: Everything everywhere all at once
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
```
</details>
<!-- END BBOT KITCHEN-SINK PRESET EXPANDABLE -->
## كيف يعمل
انقر على الرسم البياني أدناه لاستكشاف [الآلية الداخلية](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/) لـ BBOT.
[](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works/)
## وحدات الإخراج
- [Neo4j](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#neo4j)
- [Teams](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#teams)
- [Discord](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#discord)
- [Slack](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#slack)
- [Postgres](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#postgres)
- [MySQL](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#mysql)
- [SQLite](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#sqlite)
- [Splunk](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#splunk)
- [Elasticsearch](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#elasticsearch)
- [CSV](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#csv)
- [JSON](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#json)
- [HTTP](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#http)
- [Websocket](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md#websocket)
...و[المزيد](https://github.com/blacklanternsecurity/bbot/blob/stable/docs/scanning/output.md)!
## BBOT كمكتبة بايثون
#### متزامن (Synchronous)
```python
from bbot.scanner import Scanner
if __name__ == "__main__":
scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
for event in scan.start():
print(event)
```
#### غير متزامن (Asynchronous)
```python
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())
```
<details>
<summary><b>شاهد: بوت Discord الخبيث هذا</b></summary>
بوت [BBOT Discord](https://www.blacklanternsecurity.com/bbot/Stable/dev/#discord-bot-example) يستجيب لأمر `/scan`. امسح الإنترنت ضوئيًا من داخل خادم Discord الخاص بك براحة تامة!

</details>
## نظرة عامة على الميزات
- دعم أهداف متعددة
- لقطات شاشة للويب
- مجموعة من وحدات الويب الهجومية
- تحويرات النطاقات الفرعية المدعومة بتقنية معالجة اللغة الطبيعية (NLP)
- إخراج أصلي إلى Neo4j (والمزيد)
- تثبيت تلقائي للتبعيات باستخدام Ansible
- البحث في كامل سطح الهجوم بقواعد YARA مخصصة
- Python API + وثائق المطورين
## الأهداف
يقبل BBOT عددًا غير محدود من الأهداف عبر `-t`. يمكنك تحديد الأهداف إما مباشرة في سطر الأوامر أو في ملفات (أو كلاهما!):
```bash
bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum
```
يمكن أن تكون الأهداف أيًا مما يلي:
- اسم DNS (`evilcorp.com`)
- عنوان IP (`1.2.3.4`)
- نطاق IP (`1.2.3.0/24`)
- منفذ TCP مفتوح (`192.168.0.1:80`)
- رابط URL (`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`)
لمزيد من المعلومات، راجع [الأهداف](https://www.blacklanternsecurity.com/bbot/Stable/scanning/#targets-t). لمعرفة كيفية تعامل BBOT مع النطاق (scope)، راجع [النطاق](https://www.blacklanternsecurity.com/bbot/Stable/scanning/#scope).
## مفاتيح API
على غرار Amass أو Subfinder، يدعم BBOT مفاتيح API لمختلف خدمات الجهات الخارجية مثل SecurityTrails وغيرها.
الطريقة القياسية للقيام بذلك هي إدخال مفاتيح API الخاصة بك في **`~/.config/bbot/secrets.yml`**. لاحظ أنه يُسمح بمفاتيح API متعددة:
```yaml
modules:
shodan_dns:
api_key: 4f41243847da693a4f356c0486114bc6
c99:
# multiple API keys
api_key:
- 21a270d5f59c9b05813a72bb41707266
- ea8f243d9885cf8ce9876a580224fd3c
- 5bc6ed268ab6488270e496d3183a1a27
virustotal:
api_key: dd5f0eee2e4a99b71a939bded450b246
securitytrails:
api_key: d9a05c3fd9a514497713c54b4455d0b0
```
إذا أردت، يمكنك أيضًا تحديدها في سطر الأوامر:
```bash
bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246
```
للتفاصيل، راجع [الإعدادات](https://www.blacklanternsecurity.com/bbot/Stable/scanning/configuration/).
## قوائم كاملة بالوحدات والعلامات وغيرها
- قائمة كاملة بـ[الوحدات](https://www.blacklanternsecurity.com/bbot/Stable/modules/list_of_modules/).
- قائمة كاملة بـ[العلامات (Flags)](https://www.blacklanternsecurity.com/bbot/Stable/scanning/#list-of-flags).
- قائمة كاملة بـ[الإعدادات المسبقة (Presets)](https://www.blacklanternsecurity.com/bbot/Stable/scanning/presets_list/).
- قائمة كاملة بـ[خيارات الإعدادات العامة](https://www.blacklanternsecurity.com/bbot/Stable/scanning/configuration/#global-config-options).
- قائمة كاملة بـ[خيارات إعدادات الوحدات](https://www.blacklanternsecurity.com/bbot/Stable/scanning/configuration/#module-config-options).
## التوثيق
<!-- BBOT DOCS TOC -->
- **دليل المستخدم**
- **الأساسيات**
- [البدء](https://www.blacklanternsecurity.com/bbot/Stable/)
- [كيف يعمل](https://www.blacklanternsecurity.com/bbot/Stable/how_it_works)
- [المقارنة مع الأدوات الأخرى](https://www.blacklanternsecurity.com/bbot/Stable/comparison)
- **المسح الضوئي**
- [نظرة عامة على المسح الضوئي](https://www.blacklanternsecurity.com/bbot/Stable/scanning/)
- **الإعدادات المسبقة**
- [نظرة عامة](https://www.blacklanternsecurity.com/bbot/Stable/scanning/presets)
- [قائمة الإعدادات المسبقة](https://www.blacklanternsecurity.com/bbot/Stable/scanning/presets_list)
- [الأحداث](https://www.blacklanternsecurity.com/bbot/Stable/scanning/events)
- [الإخراج](https://www.blacklanternsecurity.com/bbot/Stable/scanning/output)
- [النصائح والحيل](https://www.blacklanternsecurity.com/bbot/Stable/scanning/tips_and_tricks)
- [الاستخدام المتقدم](https://www.blacklanternsecurity.com/bbot/Stable/scanning/advanced)
- [الإعدادات](https://www.blacklanternsecurity.com/bbot/Stable/scanning/configuration)
- [التحقق من سلامة الفحص](https://www.blacklanternsecurity.com/bbot/Stable/scanning/scan_sanity)
- **الوحدات**
- [قائمة الوحدات](https://www.blacklanternsecurity.com/bbot/Stable/modules/list_of_modules)
- [الوحدات الداخلية](https://www.blacklanternsecurity.com/bbot/Stable/modules/internal_modules)
- [Nuclei](https://www.blacklanternsecurity.com/bbot/Stable/modules/nuclei)
- [Wayback](https://www.blacklanternsecurity.com/bbot/Stable/modules/wayback)
- [قواعد YARA المخصصة](https://www.blacklanternsecurity.com/bbot/Stable/modules/custom_yara_rules)
- [Lightfuzz](https://www.blacklanternsecurity.com/bbot/Stable/modules/lightfuzz)
- [Webbrute](https://www.blacklanternsecurity.com/bbot/Stable/modules/webbrute)
- **الترحيل**
- [التغييرات الجذرية من 2.x إلى 3.0](https://www.blacklanternsecurity.com/bbot/Stable/migration/3.0_breaking_changes)
- **متنوع**
- [المساهمة](https://www.blacklanternsecurity.com/bbot/Stable/contribution)
- [سجل الإصدارات](https://www.blacklanternsecurity.com/bbot/Stable/release_history)
- [استكشاف الأخطاء وإصلاحها](https://www.blacklanternsecurity.com/bbot/Stable/troubleshooting)
- **دليل المطورين**
- [نظرة عامة على التطوير](https://www.blacklanternsecurity.com/bbot/Stable/dev/)
- [إعداد بيئة تطوير](https://www.blacklanternsecurity.com/bbot/Stable/dev/dev_environment)
- [التبعيات الأساسية](https://www.blacklanternsecurity.com/bbot/Stable/dev/core_dependencies)
- [البنية الداخلية لـ BBOT](https://www.blacklanternsecurity.com/bbot/Stable/dev/architecture)
- [كيفية كتابة وحدة BBOT](https://www.blacklanternsecurity.com/bbot/Stable/dev/module_howto)
- [التحقق من الإعدادات المسبقة وفحصها](https://www.blacklanternsecurity.com/bbot/Stable/dev/preset_validation)
- [اختبارات الوحدة](https://www.blacklanternsecurity.com/bbot/Stable/dev/tests)
- [مثال على بوت Discord](https://www.blacklanternsecurity.com/bbot/Stable/dev/discord_bot)
- **مرجع الكود**
- [Scanner](https://www.blacklanternsecurity.com/bbot/Stable/dev/scanner)
- [Presets](https://www.blacklanternsecurity.com/bbot/Stable/dev/presets)
- [Event](https://www.blacklanternsecurity.com/bbot/Stable/dev/event)
- [Target](https://www.blacklanternsecurity.com/bbot/Stable/dev/target)
- [BaseModule](https://www.blacklanternsecurity.com/bbot/Stable/dev/basemodule)
- [BBOTCore](https://www.blacklanternsecurity.com/bbot/Stable/dev/core)
- **الأدوات المساعدة**
- [نظرة عامة](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/)
- [Command](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/command)
- [DNS](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/dns)
- [Interactsh](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/interactsh)
- [متنوع](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/misc)
- [Web](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/web)
- [سحابة الكلمات](https://www.blacklanternsecurity.com/bbot/Stable/dev/helpers/wordcloud)
<!-- END BBOT DOCS TOC -->
## المساهمة
بعض أفضل وحدات BBOT كُتبت بواسطة المجتمع. يتم تحسين BBOT باستمرار؛ وكل يوم يصبح أكثر قوة!
نرحب بالمساهمات. ليس فقط الكود، بل الأفكار أيضًا! إذا كانت لديك فكرة لميزة جديدة، فيرجى إخبارنا في [المناقشات](https://github.com/blacklanternsecurity/bbot/discussions). إذا كنت ترغب في البدء عمليًا، فراجع [المساهمة](https://www.blacklanternsecurity.com/bbot/Stable/contribution/). ستجد هناك تعليمات الإعداد ودروسًا بسيطًا حول كيفية كتابة وحدة BBOT. لدينا أيضًا [توثيق مطورين](https://www.blacklanternsecurity.com/bbot/Stable/dev/) شامل.
شكرًا لهؤلاء الأشخاص الرائعين لمساهمتهم في BBOT! :heart:
<p align="center">
<a href="https://github.com/blacklanternsecurity/bbot/graphs/contributors">
<img src="https://contrib.rocks/image?repo=blacklanternsecurity/bbot&max=500">
</a>
</p>
شكر خاص لـ:
- @TheTechromancer لإنشائه BBOT
- @liquidsec لعمله الموسّع على ميزات اختراق الويب في BBOT، بما في ذلك [badsecrets](https://github.com/blacklanternsecurity/badsecrets) و[baddns](https://github.com/blacklanternsecurity/baddns)
- Steve Micallef (@smicallef) لإنشائه Spiderfoot
- @kerrymilan لخبرته في Neo4j وAnsible
- @domwhewell-sage لعائلته من وحدات سرقة الكود الرائعة
- @aconite33 و@amiremami لاختباراتهما الصارمة
- Aleksei Kornev (@alekseiko) لمنحنا ملكية مستودع bbot على Pypi <3