
nerva v1.69.6
CLI سريع لتعريف الخدمات لأكثر من 170 بروتوكول (TCP/UDP/SCTP) - مبني بواسطة Praetorian
Nerva
Nerva: أداة سريعة لسطر أوامر لبصمة الخدمات
الميزات • التثبيت • البدء السريع • الاستخدام • البروتوكولات • المكتبة • حالات الاستخدام • استكشاف الأخطاء وإصلاحها
بصمة خدمات عالية الأداء مكتوبة بلغة Go. حدد أكثر من 170 بروتوكول شبكة عبر وسائط النقل TCP وUDP وSCTP مع استخراج غني للبيانات الوصفية.
تكتشف Nerva وتحدد بسرعة الخدمات التي تعمل على منافذ الشبكة المفتوحة. استخدمها إلى جانب ماسحات المنافذ مثل Naabu لبصمة الخدمات المكتشفة، أو دمجها في خطوط أنابيب الأمان الخاصة بك للاستطلاع الآلي.
الميزات
- أكثر من 170 إضافة بروتوكول — قواعد البيانات، الوصول عن بُعد، خدمات الويب، المراسلة، البروتوكولات الصناعية والاتصالات
- 76 أداة بصمة HTTP — اكتشف تقنيات الويب بما في ذلك جدران الحماية وقواعد البيانات وخوادم الذكاء الاصطناعي/LLM والمزيد
- كشف سوء التكوين الأمني — حدد المشكلات الأمنية الشائعة مثل واجهات برمجة التطبيقات غير المصادق عليها والبروتوكولات النصية الصريحة (
--misconfigs) - دعم وسائط نقل متعددة — TCP (افتراضي)، UDP (
--udp)، وSCTP (--sctp، Linux فقط) - دعم الوكيل — توجيه حركة الفحص بشفافية عبر وكلاء SOCKS5 أو HTTP مع دقة DNS قابلة للتكوين
- بيانات وصفية غنية — استخراج الإصدارات والتكوينات والتفاصيل ذات الصلة بالأمان من كل خدمة
- الوضع السريع — افحص المنافذ الافتراضية فقط للاستطلاع السريع (
--fast) - إخراج مرن — تنسيقات JSON أو CSV أو قابلة للقراءة البشرية
- متوافق مع خطوط الأنابيب — التمرير من Naabu أو Nmap أو أي أداة تُخرج
host:port - مكتبة Go — استوردها مباشرة في تطبيقات Go الخاصة بك
التثبيت
الإصدارات
قم بتنزيل ملف ثنائي مُجمَّع مسبقًا من صفحة الإصدارات.
من GitHub
go install github.com/praetorian-inc/nerva/cmd/nerva@latest
من المصدر
git clone https://github.com/praetorian-inc/nerva.git
cd nerva
go build ./cmd/nerva
./nerva -h
Docker
git clone https://github.com/praetorian-inc/nerva.git
cd nerva
docker build -t nerva .
docker run --rm nerva -h
docker run --rm nerva -t example.com:80 --json
بدء سريع
بصمة هدف واحد:
nerva -t example.com:22
# ssh://example.com:22
احصل على بيانات JSON وصفية مفصلة:
nerva -t example.com:22 --json
# {"host":"example.com","ip":"93.184.216.34","port":22,"protocol":"ssh","transport":"tcp","metadata":{...}}
التوجيه من ماسح منافذ:
naabu -host example.com -silent | nerva
# http://example.com:80
# ssh://example.com:22
# https://example.com:443
المرجع الكامل — كل أمر فرعي، واسم مستعار، وعلم، بما في ذلك تلك المخفية من --help — يتم توليده في docs/CLI.md.
الاستخدام
nerva [flags]
TARGET SPECIFICATION:
Requires host:port or ip:port format. Assumes ports are open.
EXAMPLES:
nerva -t example.com:80
nerva -t example.com:80,example.com:443
nerva -l targets.txt
nerva --json -t example.com:80
cat targets.txt | nerva
أمثلة
أهداف متعددة:
nerva -t example.com:22,example.com:80,example.com:443
من الملف:
nerva -l targets.txt --json -o results.json
فحص UDP:
nerva -t example.com:53 -U
# dns://example.com:53
فحص SCTP (لينكس فقط):
nerva -t telecom-server:3868 -S
# diameter://telecom-server:3868
الوضع السريع (المنافذ الافتراضية فقط):
nerva -l large-target-list.txt --fast --json
توجيه الوكيل مع تحليل DNS عن بُعد:
nerva -t target.internal:80 --proxy socks5://127.0.0.1:1080 --dns-order p
اكتشاف الأخطاء الأمنية في الإعدادات
يمكن لـ Nerva تحديد الأخطاء الأمنية الشائعة في الإعدادات عند تمكينها باستخدام --misconfigs:
nerva -t example.com:2375 --misconfigs --json
التكوينات الخاطئة المكتشفة:
| معرّف النتيجة | الخطورة | الوصف |
|---|---|---|
docker-unauth-api | حرجة | واجهة Docker API متاحة دون مصادقة |
x11-unauth-access | حرجة | خادم X11 يسمح باتصالات غير مُصادَق عليها |
dotnet-remoting-http-exposed | عالية | قناة .NET Remoting HTTP مكشوفة (خطر إلغاء التسلسل) |
smb-signing-not-required | متوسطة | توقيع SMB غير مطلوب (خطر هجوم التمرير) |
telnet-cleartext | متوسطة | Telnet ينقل بيانات الاعتماد بنص واضح |
vnc-detected | متوسطة | تم اكتشاف VNC (غالبًا مصادقة ضعيفة) |
ssh-password-auth | متوسطة | الخادم يسمح بالمصادقة بكلمة المرور |
ssh-weak-cipher | منخفضة | الخادم يوفّر شفرات ضعيفة (RC4، 3DES، Blowfish) |
ssh-weak-kex | منخفضة | الخادم يوفّر خوارزميات تبادل مفاتيح ضعيفة |
ssh-weak-mac | منخفضة | الخادم يوفّر خوارزميات MAC ضعيفة |
ftp-cleartext | منخفضة | FTP ينقل بيانات الاعتماد بنص واضح |
مثال على المخرجات مع التكوينات الخاطئة:
{
"host": "example.com",
"port": 2375,
"protocol": "docker",
"anonymous_access": true,
"security_findings": [
{
"id": "docker-unauth-api",
"severity": "critical",
"description": "Docker API accessible without authentication",
"evidence": "Successfully queried /version endpoint without credentials"
}
]
}
دعم البروكسي
يدعم Nerva توجيه حركة الفحص عبر بروكسيات SOCKS5 وHTTP مع دقة DNS قابلة للتكوين.
مخططات البروكسي المدعومة:
socks5://- بروكسي SOCKS5 مع دقة DNS محليةsocks5h://- بروكسي SOCKS5 مع دقة DNS من جانب البروكسي (دائمًا)http://- بروكسي HTTP CONNECThttps://- بروكسي HTTPS CONNECT
مصادقة البروكسي:
# Inline authentication (URL format)
nerva -t example.com:80 --proxy socks5://username:[email protected]:1080
# Separate authentication flag
nerva -t example.com:80 --proxy socks5://127.0.0.1:1080 --proxy-auth username:password
استراتيجيات تحليل DNS (--dns-order):
| الخيار | الاستراتيجية | حالة الاستخدام |
|---|---|---|
l | محلي فقط | DNS محلي قياسي (افتراضي) |
p | الوكيل فقط | فرض تحليل DNS من جانب الوكيل |
lp | محلي، مع الرجوع إلى الوكيل | جرّب المحلي أولاً، واستخدم الوكيل عند الفشل |
pl | الوكيل، مع الرجوع إلى المحلي | جرّب الوكيل أولاً، واستخدم المحلي عند الفشل |
ملاحظة: مخطط socks5h:// يفرض تلقائيًا DNS من جانب الوكيل (مكافئ لـ --dns-order p)
مثال على فحص Tor:
# Scan .onion services through Tor (SOCKS5 proxy on port 9050)
nerva -t http://example.onion:80 --proxy socks5h://127.0.0.1:9050
UDP عبر البروكسي: