Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
brutus — أداة سريعة لاختبار بيانات الاعتماد بدون تبعيات في لغة Go. اختراق SSH وMySQL وPostgreSQL وRedis وMongoDB وSMB وأكثر من 20 بروتوكولاً. بديل لـ Hydra مع تكامل سلس مع خط أنابيب nerva/naabu. | Kitploit
أدوات/GitHubGitHub/praetorian-inc/brutus
ماسحات الثغرات الأمنيةهجمات كلمات المرورالاستغلالالحركة الجانبيةجمع المعلوماتأمن الشبكاتاختبار الاختراقالأدوات والمكوناتالمصادقةالفريق الأحمر
GitHubpraetorian-inc/brutus
3074158منذ 8 أيامتمت المراجعة من قبل Kitploit

brutus

أداة سريعة لاختبار بيانات الاعتماد بدون تبعيات في لغة Go. اختراق SSH وMySQL وPostgreSQL وRedis وMongoDB وSMB وأكثر من 20 بروتوكولاً. بديل لـ Hydra مع تكامل سلس مع خط أنابيب nerva/naabu.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
<img width="2752" height="1536" alt="Brutus - Social" src="https://assets.kitploit.com/production/public/readmes/11715/32309a4ca6e7282c8dcd718e2b275a392b73a81f51cbd5d1738464eb3933fd22.png" />
<h1 align="center">Brutus</h1>

<p align="center">
  <em>"Et tu, Brute?" — الكلمات الأخيرة قبل سقوط بيانات الاعتماد.</em>
</p>

<p align="center">
  <strong>أداة اختبار بيانات اعتماد حديثة مكتوبة بلغة Go الخالصة</strong>
</p>

<p align="center">
  <a href="#installation">التثبيت</a> •
  <a href="#quick-start">البدء السريع</a> •
  <a href="#pipeline-integration">خط الأنابيب</a> •
  <a href="#supported-protocols">البروتوكولات</a> •
  <a href="#account-enumeration">تعداد الحسابات</a> •
  <a href="#socks5-proxy-support">الوكيل</a> •
  <a href="#library-integration">المكتبة</a>
</p>

---

## نظرة عامة

Brutus هي أداة اختبار مصادقة متعددة البروتوكولات مصممة لمعالجة فجوة حرجة في أدوات الأمن الهجومي: التحقق الفعّال من بيانات الاعتماد عبر خدمات شبكية متنوعة. في حين أن الأدوات التي تركز على HTTP متوفرة بكثرة، فإن مختبري الاختراق ومشغلي الفرق الحمراء يواجهون بشكل متكرر قواعد البيانات وSSH وSMB وغيرها من الخدمات الشبكية التي تتطلب قدرات اختبار مصادقة مصممة خصيصًا.

بُنيت بلغة Go كملف تنفيذي واحد بدون أي تبعيات خارجية، ويتكامل Brutus بسلاسة مع [Nerva](https://github.com/praetorian-inc/nerva) لاكتشاف الخدمات تلقائيًا، مما يمكّن المشغلين من تحديد واختبار نواقل المصادقة بسرعة عبر نطاقات شبكية كاملة.

**الميزات الرئيسية:**
- **بدون تبعيات:** ملف تنفيذي واحد، متعدد المنصات (Linux، Windows، macOS)
- **43 بروتوكولًا:** SSH، RDP، MySQL، PostgreSQL، MSSQL، Oracle، Redis، SMB، LDAP، WinRM، SNMP، HTTP Basic Auth، MQTT، والمزيد
- **دعم وكيل SOCKS5:** توجيه جميع حركة المرور عبر وكيل SOCKS5 باستخدام `--proxy`
- **أوضاع العدوانية:** `--mode cautious|default|aggressive` لضبط التغطية مقابل الأمان
- **تكامل خط الأنابيب:** دعم أصلي لسير عمل Nerva وnaabu وnmap وmasscan
- **مفاتيح سيئة مدمجة:** مجموعة مدمجة من مفاتيح SSH المعروفة (Vagrant، F5، ExaGrid، إلخ)
- **تعداد الحسابات:** تعداد أوراكل وجود الحساب، تعداد مستخدمي Kerberos، توليد البريد الإلكتروني، مصادقة رمز جهاز Microsoft Teams/Entra ID
- **مكتبة Go:** استيراد مباشر إلى أدوات أتمتة الأمن الخاصة بك
- **جاهز للإنتاج:** تحديد المعدل، تجميع الاتصالات، ومعالجة شاملة للأخطاء

---

## لماذا Brutus؟

أدوات تقليدية مثل **THC Hydra** خدمت مجتمع الأمن جيدًا، لكنها تأتي باحتكاك كبير: سلاسل تبعيات معقدة، مشاكل ترجمة خاصة بالمنصة، وعدم وجود تكامل أصلي مع سير عمل الاستطلاع الحديث.

**Brutus** مصمم خصيصًا للأمن الهجومي الحديث:

- **نشر حقيقي بدون تبعيات:** حمّل ملفًا تنفيذيًا واحدًا وشغّله. لا `libssh-dev`، لا `libmysqlclient-dev`، لا أخطاء ترجمة. يعمل بشكل متطابق على Linux وmacOS وWindows.

- **تكامل أصلي مع خط الأنابيب:** Brutus يتحدث JSON ويتكامل مباشرة مع [Nerva](https://github.com/praetorian-inc/nerva)، [naabu](https://github.com/projectdiscovery/naabu)، [nmap](https://nmap.org)، و[masscan](https://github.com/robertdavidgraham/masscan). وجّه الخدمات المكتشفة مباشرة إلى اختبار بيانات الاعتماد دون تحويل التنسيق أو كتابة نصوص برمجية.

- **ذكاء مدمج:** مفاتيح SSH السيئة المعروفة (Vagrant، F5 BIG-IP، ExaGrid، إلخ) مُجمّعة داخل الملف التنفيذي. استخدم `brutus badkeys` لاختبارها ضد أهداف SSH.

- **تصميم يضع المكتبة أولًا:** استورد Brutus مباشرة إلى أدوات الأمن الخاصة بك بلغة Go. ابنِ أتمتة مخصصة دون اللجوء إلى عمليات خارجية.

```bash
# Full network credential audit in one pipeline (JSON mode)
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva --json | brutus creds --json

# Or use Nerva's default URI output — no --json flags needed
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva | brutus creds
```

---

## حالات الاستخدام

### اختبار الاختراق
- التحقق من صحة بيانات الاعتماد المكتشفة عبر خدمات متعددة أثناء التقييمات الداخلية
- اختبار أنماط إعادة استخدام كلمات المرور عبر خدمات قواعد البيانات ومشاركة الملفات
- تحديد بيانات الاعتماد الافتراضية على البنية التحتية المنشورة حديثًا

### عمليات الفريق الأحمر
- التحقق السريع من صحة بيانات الاعتماد بعد تسريبات كلمات المرور أو حملات التصيد الاحتيالي
- اختبار فرص الحركة الجانبية عبر خدمات الشبكة
- التحقق من صحة بيانات الاعتماد المخترقة عبر بيئات غير متجانسة

### رش المفاتيح الخاصة

هل وجدت مفتاحًا خاصًا على نظام مخترق؟ انشره عبر الشبكة لمعرفة أين يمنح الوصول أيضًا:

```bash
# Discover SSH services and spray a found private key
naabu -host 10.0.0.0/24 -p 22 -silent | \
  nerva --json | \
  brutus creds -u root,admin,ubuntu,deploy -k /path/to/found_key --json
```

تكتشف خط الأنابيب هذا جميع خدمات SSH، وتحدد هويتها باستخدام Nerva، وتختبر المفتاح المخترق مقابل أسماء المستخدمين الشائعة—مما يكشف عن فرص الحركة الجانبية في ثوانٍ.

### اختبار لوحة إدارة الويب

اكتشف خدمات HTTP واختبر بيانات الاعتماد باستخدام الكشف المدعوم بالذكاء الاصطناعي أو قوائم بيانات الاعتماد اليدوية:

```bash
# AI-powered: auto-detect devices and suggest default credentials
naabu -host 10.0.0.0/24 -p 80,443,3000,8080,9090 -silent | \
  nerva --json | \
  brutus web --experimental-ai --json

# Manual: test specific credentials against web panels
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | \
  nerva --json | \
  brutus web -c "admin:admin,root:password" --json

# Default wordlist: test common credentials without AI or -c
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | \
  nerva --json | \
  brutus web --json
```

### التحقق الأمني
- اختبار بيانات الاعتماد الافتراضية على الخدمات المنشورة حديثًا
- التحقق من تطبيق سياسة كلمات المرور عبر المنصات
- إنشاء مسارات التدقيق للامتثال وتقييمات الأمان

---

## التثبيت

### الملفات التنفيذية الجاهزة (موصى به)

قم بالتنزيل من [إصدارات GitHub](https://github.com/praetorian-inc/brutus/releases):

```bash
# Linux (amd64)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-linux-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/

# macOS (Apple Silicon)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-arm64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/

# macOS (Intel)
curl -L https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-darwin-amd64.tar.gz | tar xz
sudo mv brutus /usr/local/bin/
```

```powershell
# Windows (PowerShell)
Invoke-WebRequest -Uri https://github.com/praetorian-inc/brutus/releases/latest/download/brutus-windows-amd64.zip -OutFile brutus.zip
Expand-Archive -Path brutus.zip -DestinationPath .
Remove-Item brutus.zip
```

### التثبيت عبر Go

```bash
go install github.com/praetorian-inc/brutus/cmd/brutus@latest
```

## بدء سريع

### الأوامر الفرعية

<!-- BEGIN generated: cli-subcommands -->
ينظّم Brutus وظائفه في هذه الأوامر الفرعية المتخصصة:

```bash
brutus badkeys    # Test known weak/compromised SSH keys against targets
brutus creds      # Test default credentials on non-HTTP services (SSH, databases, SMB, etc.)
brutus enum       # Enumerate accounts against account-existence oracles or Active Directory
brutus logon      # Detect Windows logon-screen backdoors (runs both sticky keys and utilman)
brutus snmp       # Test SNMP community strings against targets
brutus stickykeys # Detect the Windows sticky-keys (sethc.exe) logon backdoor only
brutus template   # Run product-specific default-credential templates
brutus utilman    # Detect the Windows utilman (Ease of Access) logon backdoor only
brutus web        # Audit HTTP/web panel credentials (AI-powered or credential list)
```
<!-- END generated: cli-subcommands -->

<!-- BEGIN generated: cli-aliases -->
تحمل بعض الأوامر الفرعية أسماء مستعارة لسهولة الاكتشاف:

| الأمر الفرعي | الأسماء المستعارة |
| --- | --- |
| `badkeys` | `keys`, `ssh-keys`, `badkey` |
| `creds` | `services`, `defaults`, `credentials` |
| `snmp` | `community` |
| `web` | `http`, `panels` |

المرجع الكامل — كل أمر فرعي واسم مستعار وعلم، بما في ذلك تلك المخفية من `--help` — مُولَّد في [docs/CLI.md](https://github.com/praetorian-inc/brutus/blob/main/docs/CLI.md).
<!-- END generated: cli-aliases -->

```bash
# Test SSH credentials
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

# Test HTTP web panel with AI credential detection
brutus web --target 192.168.1.1:80 --experimental-ai

# Test HTTP web panel with manual credentials
brutus web --target 192.168.1.1:80 -c "admin:admin,root:toor"

# Test SNMP community strings
brutus snmp --target 192.168.1.1:161 --mode aggressive

# Detect Windows logon-screen backdoors
brutus logon --target 10.0.0.50:3389

# Pipeline mode: creds skips HTTP/SNMP, web skips non-HTTP, snmp skips non-SNMP
naabu -host 10.0.0.0/24 -silent | nerva --json | brutus creds -P passwords.txt
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent | nerva --json | brutus web --experimental-ai
naabu -host 10.0.0.0/24 -p 161 -silent | nerva --json | brutus snmp --mode aggressive
```

### الاستخدام الأساسي

```bash
# Test SSH with default credentials
brutus creds --target 192.168.1.100:22 --protocol ssh

# Test with specific credentials
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor

# Test with username and password lists
brutus creds --target 192.168.1.100:22 --protocol ssh -U users.txt -P passwords.txt

# Test MySQL database
brutus creds --target 192.168.1.100:3306 --protocol mysql -u root -p password

# Test SSH with a specific private key
brutus creds --target 192.168.1.100:22 --protocol ssh -u deploy -k /path/to/id_rsa

# Increase threads for faster testing
brutus creds --target 192.168.1.100:22 --protocol ssh -t 20

# JSON output for scripting
brutus creds --target 192.168.1.100:22 --protocol ssh --json
```

### مثال على المخرجات

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root,admin -p toor,password,admin
[+] VALID: ssh root:toor @ 192.168.1.100:22 (1.23s)
```

مع وضع verbose (`-v`):

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p password,toor -v
[-] FAILED: ssh root:password @ 192.168.1.100:22 (0.45s)
[+] VALID: ssh root:toor @ 192.168.1.100:22 (0.52s)
```

إخراج JSON لتكامل خط الأنابيب (يُخرج فقط بيانات الاعتماد الناجحة):

```
$ brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p toor --json
{"protocol":"ssh","target":"192.168.1.100:22","username":"root","password":"toor","duration":"1.234567ms","banner":"SSH-2.0-OpenSSH_8.9p1"}
```

---

## تكامل خط الأنابيب

يتكامل Brutus بسلاسة مع **[Nerva](https://github.com/praetorian-inc/nerva)** و**[naabu](https://github.com/projectdiscovery/naabu)** لاستطلاع الشبكة الكامل.

### سيناريوهات واقعية

#### السيناريو 1: فحص شبكة مؤسسية /24

```bash
# Discover all open ports, identify services, test default credentials
naabu -host 10.10.10.0/24 -p 22,23,21,3306,5432,6379,27017,445 -silent | \
  nerva --json | \
  brutus creds --json -o results.json

# Same pipeline using Nerva's default URI output (no --json needed)
naabu -host 10.10.10.0/24 -p 22,23,21,3306,5432,6379,27017,445 -silent | \
  nerva | brutus creds -o results.json

# Review findings (all output is successful credentials)
cat results.json | jq '.'
```

#### السيناريو 2: استطلاع مكافآت الثغرات على نطاق مستهدف

```bash
# Full pipeline against a single target
naabu -host target.example.com -top-ports 1000 -silent | \
  nerva --json | \
  brutus creds

# Or scan a list of subdomains
cat subdomains.txt | naabu -silent | nerva --json | brutus creds
```

#### السيناريو 3: البحث في قواعد البيانات أثناء تقييم داخلي

```bash
# Find and test all databases in a range
naabu -host 192.168.0.0/16 -p 3306,5432,1433,27017,6379,9042 -silent | \
  nerva --json | \
  brutus creds -t 5 --json | \
  tee database-findings.json

# Extract credentials in readable format
jq -r '"\(.target) \(.username):\(.password)"' database-findings.json
```

#### السيناريو 4: اختبار مفاتيح SSH عبر البنية التحتية

```bash
# Test embedded bad keys (Vagrant, F5 BIG-IP, ExaGrid, etc.) across a range
naabu -host 10.0.0.0/8 -p 22 -rate 1000 -silent | \
  nerva --json | \
  brutus badkeys --json -o ssh-key-findings.json

# Find systems using compromised SSH keys (key field is true)
cat ssh-key-findings.json | jq 'select(.key == true)'
```

#### السيناريو 5: اختبار الخدمة المستهدفة

```bash
# Test only Redis instances found in the network
naabu -host 172.16.0.0/12 -p 6379 -silent | \
  nerva --json | \
  brutus creds

# Test only MongoDB with custom credentials
naabu -host 10.0.0.0/24 -p 27017 -silent | \
  nerva --json | \
  brutus creds -u admin,root,mongodb -p admin,password,mongodb
```

### استيراد نتائج أدوات الفحص (Nmap و Masscan)

يستطيع Brutus استيراد الأهداف مباشرةً من ملفات مخرجات الفحص الخاصة بـ **nmap** و **masscan**، مما يلغي الحاجة إلى تحويل الصيغ أو استخدام أدوات وسيطة.

#### استيراد XML من Nmap (`--nmap-file`)

استيراد الأهداف من مخرجات XML الخاصة بـ nmap (`-oX`). يوفّر Nmap بصمة الخدمات، لذا يقوم Brutus تلقائيًا بربط الخدمات المكتشفة بالبروتوكول الصحيح:

```bash
# Run an nmap service scan
nmap -sV -oX scan.xml 10.0.0.0/24 -p 22,3306,5432,6379,445,3389

# Feed nmap results directly to Brutus
brutus creds --nmap-file scan.xml -P passwords.txt

# Test web services from nmap scan
brutus web --nmap-file scan.xml -c "admin:admin,root:password"

# Test SNMP from nmap scan
brutus snmp --nmap-file scan.xml --mode aggressive

# JSON output for scripting
brutus creds --nmap-file scan.xml --json -o results.json
```

يتم تعيين أسماء خدمات Nmap تلقائيًا إلى بروتوكولات Brutus (على سبيل المثال، `ms-wbt-server` → `rdp`، `microsoft-ds` → `smb`). يتم اكتشاف TLS من سمة `tunnel="ssl"` الخاصة بـ nmap. يتم استيراد المنافذ المفتوحة فقط على المضيفين النشطين.

#### استيراد Masscan JSON (`--masscan-file`)

استيراد الأهداف من مخرجات JSON الخاصة بـ masscan (`-oJ`). نظرًا لأن masscan هو ماسح منافذ فقط (بدون بصمة الخدمة)، يجب عليك إما تحديد `--protocol` أو ترك Brutus يقوم بالبصمة التلقائية باستخدام Nerva:

```bash
# Run a masscan port scan
masscan 10.0.0.0/24 -p 22,3306,5432,6379 -oJ scan.json --rate 10000

# Test all discovered ports as SSH (when you know what's running)
brutus creds --masscan-file scan.json --protocol ssh -u root -P passwords.txt

# Auto-fingerprint with Nerva (when services are unknown)
brutus creds --masscan-file scan.json -P passwords.txt
```

#### الدمج مع سير عمل أخرى

تعمل العلامتان `--nmap-file` و `--masscan-file` مع جميع الأوامر الفرعية وتتعارضان بشكل متبادل مع `--target` و `--targets-file` و stdin:

```bash
# Scan for RDP backdoors from nmap results
brutus logon --nmap-file scan.xml

# Test SSH bad keys from nmap results
brutus badkeys --nmap-file scan.xml

# Override protocol for all masscan targets
brutus creds --masscan-file scan.json --protocol redis -p "redis,password"
```

### تنسيق إدخال خط الأنابيب

يقبل Brutus تنسيقات إدخال متعددة من stdin:

**Nerva JSON** (`nerva --json`):
```bash
{"ip":"192.168.1.100","port":22,"protocol":"ssh","tls":false,"transport":"tcp","version":"OpenSSH_8.9p1"}
{"ip":"192.168.1.101","port":3306,"protocol":"mysql","tls":false,"transport":"tcp","version":"8.0.32"}
```

**Nerva URI** (مخرجات Nerva الافتراضية، لا حاجة إلى `--json`):
```bash
# Nerva outputs URI-scheme lines by default
$ echo "github.com:22" | nerva
ssh://github.com:22 (20.205.243.166)

# Pipe directly to Brutus — protocol is extracted from the URI scheme
echo "10.0.0.1:22" | nerva | brutus creds
echo "10.0.0.0/24:3306" | naabu -silent | nerva | brutus creds
```

**الأهداف العارية** (يتم التعرف عليها تلقائيًا باستخدام Nerva):
```bash
echo "192.168.1.100:22" | brutus creds
```

Brutus تلقائيًا:
- يحلل تنسيقات JSON ومخطط URI والأهداف المجردة
- يربط الخدمات بالبروتوكولات
- يختبر بيانات الاعتماد الافتراضية المناسبة
- يخرج النتائج بتنسيق JSON مطابق

### تنسيق إخراج خط الأنابيب

Brutus يخرج فقط بيانات الاعتماد الناجحة بتنسيق JSONL (كائن JSON واحد لكل سطر):

```bash
# Brutus JSON output (with --json flag) - only successful authentications
{"protocol":"ssh","target":"192.168.1.100:22","username":"root","password":"toor","duration":"1.234567ms","banner":"SSH-2.0-OpenSSH_8.9p1"}
{"protocol":"mysql","target":"192.168.1.101:3306","username":"root","password":"","duration":"890.123µs"}
{"protocol":"ssh","target":"192.168.1.103:22","username":"vagrant","key":true,"duration":"2.345678ms","banner":"SSH-2.0-OpenSSH_9.6"}
```

**ملاحظة:** محاولات المصادقة الفاشلة غير مُضمَّنة في مخرجات JSON. يظهر حقل `key` (كـ `true`) عندما تستخدم المصادقة مفتاح SSH بدلاً من كلمة مرور. يظهر حقل `llm_suggested` (كـ `true`) عندما تم اقتراح بيانات الاعتماد بواسطة نظام الذكاء الاصطناعي (`--experimental-ai`).

---

## المقارنة

| الميزة | Hydra | Medusa | Ncrack | **Brutus** |
|---------|:-----:|:------:|:------:|:----------:|
| ملف تنفيذي واحد | ❌ | ❌ | ❌ | ✅ |
| بدون تبعيات | ❌ | ❌ | ❌ | ✅ |
| وكيل SOCKS5 | ✅ | ❌ | ❌ | ✅ |
| خط أنابيب Nerva | ❌ | ❌ | ❌ | ✅ |
| استيراد Nmap/Masscan | ❌ | ❌ | ❌ | ✅ |
| بث JSON | ⚠️ | ❌ | ❌ | ✅ |
| متعدد المنصات | ⚠️ | ⚠️ | ⚠️ | ✅ |
| أخطاء متسقة | ⚠️ | ⚠️ | ⚠️ | ✅ |
| تطوير نشط | ✅ | ⚠️ | ❌ | ✅ |
| مفاتيح سيئة مُضمَّنة | ❌ | ❌ | ❌ | ✅ |
| استيراد مكتبة Go | ❌ | ❌ | ❌ | ✅ |

---

## البروتوكولات المدعومة

يدعم Brutus **43 بروتوكولاً**:

### خدمات الشبكة
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| SSH | 22 | كلمة المرور، المفاتيح الخاصة | الخوادم، معدات الشبكة |
| FTP | 21 | كلمة المرور | خوادم الملفات، أجهزة NAS |
| rsync | 873 | أسرار الوحدة، مجهول | مزامنة الملفات |
| Telnet | 23 | كلمة المرور | الأنظمة القديمة، أجهزة IoT |
| VNC | 5900 | كلمة المرور | أسطح المكتب البعيدة |
| RDP | 3389 | NLA/CredSSP، كلمة المرور | خوادم Windows، محطات العمل |
| SNMP | 161 | سلسلة المجتمع | أجهزة الشبكة، الطابعات |
| IPMI | 623/udp | RMCP | BMC / الإدارة عن بُعد |
| OPC UA | 4840 | رمز اسم المستخدم، مجهول | ICS/SCADA |

### خدمات الويب
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| HTTP | 80 | المصادقة الأساسية | لوحات الإدارة (Grafana، Jenkins، إلخ) |
| HTTPS | 443 | المصادقة الأساسية | لوحات الإدارة الآمنة |
| المتصفح | 80/443 | نموذج | تسجيل الدخول عبر المتصفح لـ Microsoft/Entra |

### البنية التحتية للمؤسسات
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| SMB | 445 | كلمة المرور، NTLM | شبكات Windows، مشاركات الملفات |
| LDAP | 389/636 | Bind DN | Active Directory، الهوية |
| WinRM | 5985/5986 | NTLM | إدارة Windows عن بُعد |

### قواعد البيانات
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| MySQL | 3306 | كلمة المرور | تطبيقات الويب |
| PostgreSQL | 5432 | كلمة المرور | التطبيقات الحديثة |
| MSSQL | 1433 | كلمة المرور | تطبيقات المؤسسات |
| MongoDB | 27017 | كلمة المرور | خلفيات NoSQL |
| Redis | 6379 | كلمة المرور | التخزين المؤقت، الجلسات |
| Memcached | 11211 | SASL، مجهول | التخزين المؤقت |
| Neo4j | 7687 | كلمة المرور | قواعد بيانات الرسم البياني |
| Cassandra | 9042 | كلمة المرور | قواعد البيانات الموزعة |
| CouchDB | 5984 | HTTP Basic | مخازن المستندات |
| Elasticsearch | 9200 | HTTP Basic | محركات البحث |
| InfluxDB | 8086 | HTTP Basic | بيانات السلاسل الزمنية |
| Oracle | 1521 | كلمة المرور | قواعد بيانات المؤسسات |
| DB2 | 50000 | كلمة المرور | قواعد بيانات المؤسسات |
| Firebird | 3050 | كلمة المرور | قواعد البيانات المُضمَّنة |

### الحاويات والتنسيق
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| Docker | 2375/2376 | بدون مصادقة | خوادم Docker المكشوفة |
| Kubernetes | 6443/10250 | بدون مصادقة | K8s API/kubelet المكشوفة |

### الاتصالات
| البروتوكول | المنفذ | طرق المصادقة | حالة الاستخدام |
|----------|------|--------------|----------|
| SMTP | 25/587 | كلمة المرور | ترحيل البريد |
| IMAP | 143/993 | كلمة المرور | الوصول إلى صندوق البريد |
| POP3 | 110/995 | كلمة المرور | الوصول إلى صندوق البريد |
| ActiveMQ | 61616 | كلمة المرور | وسطاء OpenWire |
| SIP | 5060/5061 | Digest | VoIP |
| TURN | 3478 | كلمة المرور | مرحّل TURN |
| ZooKeeper | 2181 | Digest، مجهول | التنسيق |
| NATS | 4222 | كلمة المرور، مجهول | المراسلة |
| XMPP | 5222 | SASL PLAIN | الدردشة |
| MQTT | 1883/8883 | كلمة المرور، مجهول | وسطاء IoT |
| AMQP | 5672/5671 | SASL PLAIN | RabbitMQ |
| Kafka | 9092 | SASL/PLAIN | الوسطاء |
| SOCKS5 | 1080 | مصادقة وكيل SOCKS5 | الوكلاء |

---

## مفاتيح SSH السيئة المُضمَّنة

نشر بملف تنفيذي واحد دون الحاجة إلى ملفات مفاتيح خارجية. يقترن كل مفتاح باسم المستخدم الافتراضي الخاص به لتعيين بيانات الاعتماد الذكي، وتمكّن تتبّع CVE من استعلامات الامتثال.

يحمل Brutus مجموعتي مفاتيح **[rapid7/ssh-badkeys](https://github.com/rapid7/ssh-badkeys)** و**[Vagrant](https://github.com/hashicorp/vagrant)** مُضمَّنتين في الملف التنفيذي:

```bash
# Test bad keys against a single target
brutus badkeys --target 192.168.1.100:22

# Pipeline mode: scan a range for compromised SSH keys
naabu -host 10.0.0.0/24 -p 22 -silent | nerva --json | brutus badkeys

# Test credentials (bad keys are NOT included in creds mode)
brutus creds --target 192.168.1.100:22 --protocol ssh -u root -p "password"
```

### جمع المفاتيح المدمجة

| المنتج | CVE | المستخدم الافتراضي | الوصف |
|---------|-----|--------------|-------------|
| Vagrant | - | vagrant, root | مفتاح HashiCorp Vagrant غير الآمن |
| F5 BIG-IP | CVE-2012-1493 | root | مفتاح SSH مضيف ثابت |
| ExaGrid | CVE-2016-1561 | root | باب خلفي لجهاز النسخ الاحتياطي |
| Monroe DASDEC | CVE-2013-0137 | root | أنظمة التنبيه الطارئ |
| Barracuda | CVE-2014-8428 | cluster | جهاز موازنة التحميل الافتراضي |
| Ceragon FibeAir | CVE-2015-0936 | mateidu | النقل اللاسلكي الخلفي |
| Array Networks | - | sync | أجهزة vAPV/vxAG |
| Quantum DXi | - | root | أجهزة إلغاء التكرار |
| Loadbalancer.org | - | root | موازنات التحميل المؤسسية |

---

## أوضاع العدوانية

يتحكم علم `--mode` العام (`-m`) في مستوى العدوانية عبر جميع الأوامر الفرعية. يحدد إعدادات ضبط الأداء المسبقة التي توازن بين التغطية والسلامة:

| الوضع | الخيوط | المهلة | حد المعدل | التذبذب | إعادة المحاولة | حالة الاستخدام |
|------|---------|---------|------------|--------|---------|----------|
| `cautious` | 5 | 15s | 2 req/s | 500ms | 1 | بيئات الإنتاج، تجنب الإغلاق |
| `default` | 10 | 10s | غير محدود | لا يوجد | 2 | الاختبار القياسي |
| `aggressive` | 20 | 10s | غير محدود | لا يوجد | 3 | بيئات المختبر/CTF، أقصى تغطية |

يتم تطبيق الإعدادات المسبقة للوضع أولاً، ثم تتجاوزها أي أعلام CLI صريحة:

```bash
# Safe mode for production Active Directory (low concurrency, rate-limited)
brutus creds --target dc.corp.local:445 --protocol smb -m cautious -U users.txt -P passwords.txt

# Maximum coverage for a CTF
brutus creds --target 10.10.10.100:22 --protocol ssh -m aggressive -U users.txt -P rockyou.txt

# Cautious mode but override threads
brutus creds --target 192.168.1.100:22 --protocol ssh -m cautious --threads 20
```

بالنسبة لـ SNMP، يتحكم الوضع أيضًا في عمق قائمة الكلمات المدمجة (انظر [اختبار سلسلة مجتمع SNMP](#snmp-community-string-testing)).

---

## دعم وكيل SOCKS5

تقوم العلامة `--proxy` بتوجيه جميع الاتصالات عبر وكيل SOCKS5. يعمل هذا عبر جميع البروتوكولات والأوامر الفرعية:

```bash
# Route SSH testing through a SOCKS5 proxy
brutus creds --target 10.0.0.100:22 --protocol ssh --proxy socks5://127.0.0.1:1080

# Proxy with authentication
brutus creds --target 10.0.0.100:3306 --protocol mysql --proxy socks5://user:[email protected]:1080

# DNS resolution on the proxy side (socks5h)
brutus creds --target internal.corp:22 --protocol ssh --proxy socks5h://127.0.0.1:1080

# Combine with pipeline input
naabu -host 10.0.0.0/24 -p 22,3306 -silent | nerva --json | brutus creds --proxy socks5://127.0.0.1:1080

# Works with all subcommands
brutus web --target 192.168.1.1:8080 --proxy socks5://127.0.0.1:1080
brutus snmp --target 192.168.1.1:161 --proxy socks5://127.0.0.1:1080
```

المخططات المدعومة:
- `socks5://` — وكيل SOCKS5 قياسي (تحليل DNS من جانب العميل)
- `socks5h://` — SOCKS5 مع تحليل DNS عن بُعد (مفيد عند استهداف أسماء المضيفين الداخلية)

---

## اختبار سلسلة مجتمع SNMP

يوفر الأمر الفرعي `snmp` اختبارًا مخصصًا لسلسلة مجتمع SNMP v1/v2c مع قوائم كلمات متدرجة يتم التحكم فيها بواسطة العلامة العامة `--mode`:

| الوضع | السلاسل | التغطية |
|------|---------|----------|
| `cautious` | ~25 | سلاسل شائعة (public، private، community، إلخ.) |
| `default` | ~25 | نفس الوضع cautious |
| `aggressive` | 200+ | شاملة (خاصة بالموردين، SCADA، كاميرات IP، التخزين، إلخ.) |

```bash
# Test with default community strings (~25)
brutus snmp --target 192.168.1.1:161

# Aggressive mode for comprehensive testing (200+)
brutus snmp --target 10.0.0.1:161 --mode aggressive

# Custom community strings
brutus snmp --target 192.168.1.1:161 -c "mycommunity,secretstring"

# Custom community string file
brutus snmp --target 192.168.1.1:161 -C community-strings.txt

# Pipeline mode
naabu -host 10.0.0.0/24 -p 161 -silent | nerva --json | brutus snmp --mode aggressive
```

---

## تكامل المكتبة

بالنسبة للمطورين الذين يبنون أدوات أتمتة الأمان، يمكن أيضًا استيراد Brutus كمكتبة Go:

```bash
go get github.com/praetorian-inc/brutus
```

```go
package main

import (
    "fmt"
    "time"

    "github.com/praetorian-inc/brutus/pkg/brutus"
    _ "github.com/praetorian-inc/brutus/pkg/builtins" // registers all protocols and analyzers
)

func main() {
    config := &brutus.Config{
        Target:        "192.168.1.100:22",
        Protocol:      "ssh",
        Usernames:     []string{"root", "admin"},
        Passwords:     []string{"password", "admin", "toor"},
        Timeout:       5 * time.Second,
        Threads:       10,
    }

    results, err := brutus.Brute(config)
    if err != nil {
        panic(err)
    }

    for _, r := range results {
        if r.Success {
            fmt.Printf("[+] Valid: %s:%s\n", r.Username, r.Password)
        }
    }
}
```

## تجريبي: الكشف عن بيانات الاعتماد المدعوم بالذكاء الاصطناعي

> **⚠️ ميزة تجريبية:** تتطلب ميزات الذكاء الاصطناعي مفاتيح API خارجية وهي قيد التطوير النشط.

### علامة `--experimental-ai`

تُفعّل علامة `--experimental-ai` الكشف التلقائي عن بيانات الاعتماد لخدمات HTTP:

---

[Read more](https://github.com/praetorian-inc/brutus)
تنزيل الأداة