
أداة سريعة لاختبار بيانات الاعتماد بدون تبعيات في لغة Go. اختراق SSH وMySQL وPostgreSQL وRedis وMongoDB وSMB وأكثر من 20 بروتوكولاً. بديل لـ Hydra مع تكامل سلس مع خط أنابيب nerva/naabu.
"وأنت يا بروتوس؟" — الكلمات الأخيرة قبل سقوط بيانات الاعتماد.
أداة اختبار حديثة لبيانات الاعتماد بلغة Go النقية
التثبيت • البداية السريعة • الأنابيب • البروتوكولات • التعداد • الوكيل • المكتبة
Brutus هي أداة اختبار مصادقة متعددة البروتوكولات صُممت لسد فجوة حرجة في أدوات الهجوم السيبراني: التحقق الفعال من صحة بيانات الاعتماد عبر خدمات الشبكة المتنوعة. بينما توجد أدوات كثيرة تركز على HTTP، فإن مختبري الاختراق وفرق العمليات الحمراء غالبًا ما يواجهون قواعد البيانات، SSH، SMB، وخدمات شبكة أخرى تتطلب إمكانيات اختبار مصادقة مصممة خصيصًا.
مبنية بلغة Go كملف ثنائي واحد بدون أي تبعيات خارجية، تتكامل Brutus بسلاسة مع Nerva لاكتشاف الخدمات تلقائيًا، مما يمكن المشغلين من تحديد واختبار ناقلات المصادقة بسرعة عبر نطاقات شبكة كاملة.
الميزات الرئيسية:
--proxy--mode cautious|default|aggressive لضبط التغطية مقابل الأمانالأدوات التقليدية مثل THC Hydra خدمت مجتمع الأمان جيدًا، لكنها تأتي مع احتكاك كبير: سلاسل تبعيات معقدة، مشكلات تجميع خاصة بالمنصة، وعدم وجود تكامل أصلي مع سير العمل الحديث للاستطلاع.
Brutus صُمم خصيصًا للأمن الهجومي الحديث:
نشر حقيقي بدون تبعيات: حمل ملفًا ثنائيًا واحدًا وشغله. لا حاجة لـ libssh-dev، لا libmysqlclient-dev، ولا أخطاء تجميع. يعمل بنفس الطريقة على Linux وmacOS وWindows.
تكامل أصلي مع الأنابيب: Brutus يتحدث JSON ويتكامل مباشرة مع Nerva وnaabu وnmap وmasscan. أرسل الخدمات المكتشفة مباشرة إلى اختبار بيانات الاعتماد دون تحويل التنسيق أو كتابة سكريبتات.
ذكاء مضمن: مفاتيح SSH الخبيثة المعروفة (Vagrant، F5 BIG-IP، ExaGrid، إلخ) مضمنة في الملف الثنائي. استخدم brutus badkeys لاختبارها ضد أهداف SSH.
تصميم يركز على المكتبة: استورد Brutus مباشرة في أدوات الأمان بلغة Go الخاصة بك. ابنِ أتمتة مخصصة دون الحاجة إلى استدعاء عمليات خارجية.```bash
naabu -host 10.0.0.0/24 -p 22,3306,5432,6379 -silent | nerva --json | brutus creds --json
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
naabu -host 10.0.0.0/24 -p 80,443,3000,8080,9090 -silent |
nerva --json |
brutus web --experimental-ai --json
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent |
nerva --json |
brutus web -c "admin:admin,root:password" --json
naabu -host 10.0.0.0/24 -p 80,443,8080 -silent |
nerva --json |
brutus web --json
### التحقق الأمني
- اختبار بيانات الاعتماد الافتراضية على الخدمات المنشورة حديثًا
- التحقق من تطبيق سياسة كلمة المرور عبر المنصات
- إنشاء سجلات تدقيق لتقييم الامتثال والأمان
---
## التثبيت
### الملفات الثنائية الجاهزة (موصى بها)
تنزيل من [GitHub Releases](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/
completions: إنشاء إكمالات الصدفةgenerate: إنشاء خطاف جديد واستلام رابط تحميل له.
shell: عكس شِل عبر TCPbinary: عكس شِل عبر TCP (ثنائي، مُجرّد، ومضغوط بـ UPX لأنظمة *nix)http: عكس شِل عبر HTTPwebsocket: عكس شِل عبر WebSocketserve: بدء خادم الاستماع ومعالجة الاتصالات الواردة.update-os: تحديث نظام تشغيل الخادم (عند تشغيله عبر Docker).upgrade: ترقية مثيل GoPHish ونظام تشغيل الخادم (عند تشغيله عبر Docker).```powershellInvoke-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
ينظم بروتوس وظائفه في ستة أوامر فرعية مركزة:```bash brutus creds # Non-HTTP credential auditing (SSH, databases, SMB, etc.) brutus web # HTTP/web panel auditing (Basic Auth, form login, AI-powered) brutus snmp # SNMP community string testing brutus badkeys # Known weak/compromised SSH key testing brutus logon # Windows logon-screen backdoor detection (sticky keys, utilman) brutus enum # Account enumeration (account-existence oracles, Kerberos, Teams auth, email generation)
كل أمر فرعي له أسماء مستعارة لسهولة الاكتشاف:
| الأمر الفرعي | الأسماء المستعارة |
|------------|---------|
| `creds` | `services`, `defaults`, `credentials` |
| `web` | `http`, `panels` |
| `snmp` | `community` |
| `badkeys` | `keys`, `ssh-keys`, `badkey` |
| `logon` | `stickykeys`, `sticky-keys`, `utilman`, `sethc`, `winlogon`, `accessibility` |
| `enum` | *(لا يوجد)* |```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