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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vaultwarden-ip-header-spoof — Vaultwarden 1.37.3 الافتراضي X-Real-IP trusted-local يتجاوز حدود معدل تسجيل الدخول على Docker NAT | Kitploit
أدوات/GitHubGitHub/abraxas/vaultwarden-ip-header-spoof
أدوات دفاعيةهجمات كلمات المرورتحليل الثغرات الأمنيةالاستغلالأمن الويباختبار الاختراقالمصادقةالأوراق والأبحاث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
abraxas/vaultwarden-ip-header-spoof

vaultwarden-ip-header-spoof

Vaultwarden 1.37.3 الافتراضي X-Real-IP trusted-local يتجاوز حدود معدل تسجيل الدخول على Docker NAT

عرض المستودع
6منذ 13 أياملم تتم المراجعة بعد

Abraxas Labs - vaultwarden-ip-header-spoof

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vaultwarden-ip-header-spoof

vaultwarden-ip-header-spoof

Vaultwarden 1.37.3 - dani-garcia

الإعداد الافتراضي IP_HEADER=X-Real-IP مع IP_HEADER_TRUSTED_PROXIES=local يعامل أي نظير TCP غير عام كوسيط عكسي. منفذ Docker المنشور عبر NAT هو RFC1918. يصبح X-Real-IP المُرسَل من العميل هو مفتاح تحديد المعدل. القيم الفريدة لا تتشارك أبداً في الانفجار.

IDلا يوجد CVE بعد
CWECWE-307 / CWE-290
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
ProductVaultwarden
Affected1.37.3 (eb212e23). Image vaultwarden/server:1.37.3. Docker published-port / userland-proxy / Desktop NAT، أو أي نظير RFC1918.
Authunauthenticated
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 فقط

ما يمكن للمهاجم فعله

يقوم المهاجم بإزالة الحماية من القوة الغاشمة المعتمدة على IP. يرسل X-Real-IP جديداً في كل محاولة. الحاكم هو DashMap مفتاحه ذلك العنوان، لذا لا ينطلق الانفجار والفترة أبداً.

  • تخمين كلمات المرور الرئيسية دون 429. POST /identity/connect/token password-grant. الانفجار الافتراضي هو 10 لكل 60 ثانية لكل IP. الرؤوس الفريدة تعيد تعيين الدلو.
  • إحراق حكام email-2FA و admin-token بنفس الطريقة. /api/two-factor/send-email-login، POST /admin، بالإضافة إلى unauth hint / prelogin / delete-recover / auth-request / Send access كلها تعتمد على ClientIp.
  • الوصول إلى الحاوية عبر المنفذ المنشور. docker run -p 80:80 و compose 80:80 القياسيان يجعلان النظير عنوان bridge أو Desktop NAT. trusted=local هو !is_global(peer). هذا يطابق.
  • 2FA بعد كلمة مرور رئيسية صحيحة لا يزال يعمل. هذه تخمينات غير محدودة، وليست تخطياً للعامل الثاني.

الوسيط العكسي الذي يستبدل X-Real-IP بالعميل الحقيقي، وربط المضيف الذي نظيره عنوان عام، كلاهما يحافظ على أمانة الحاكم. الثغرة هي الإعداد الافتراضي بالإضافة إلى منفذ منشور بدون استبدال.

كيف وجدتها

قمت بتثبيت dani-garcia/vaultwarden 1.37.3 (eb212e23) بعد GHSAs الخاصة بـ 1.35.x / 1.36.0 / 1.37.0. GHSA-c5rv وضعت send-email-login على LIMITER_LOGIN. المتبقي هو كيفية اختيار ClientIp.

config.rs يجعل ip_header افتراضياً X-Real-IP و ip_header_trusted_proxies افتراضياً local. auth.rs ip_header_is_trusted يعامل local كـ !is_global(remote). ratelimit.rs يعتمد LIMITER_LOGIN على ذلك IpAddr. Docker bridge، Desktop VM NAT، و loopback كلها غير عامة.

قمت بتشغيل vaultwarden/server:1.37.3 القياسي على loopback 127.0.0.1:18170:80 بدون overwrite-proxy، بالإضافة إلى نسخة ثانية على 18171 مع IP_HEADER=none. سجلت [email protected]. password-grant بكلمة مرور خاطئة وبدون رأس أعاد 429 عند الطلب 11 (انفجار 10). نفس الـ grant مع X-Real-IP: 198.51.100.{n} فريد لكل محاولة بقي HTTP 400 أربع عشرة مرة، صفر 429. على نسخة none، 203.0.113.{n} الفريد لا يزال أعاد 429 عند 11.

SUCCESS VAULTWARDEN-IP-HEADER-SPOOF nohdr-429-at=11 spoof-400=14 spoof-429=0 none-429-at=11 VAULTWARDEN-IP-HEADER-SPOOF-WITNESS

المنعطفات الخاطئة المسجلة بالفعل: صورة 1.37.3 لم تكن محلية، لذا انتظر أول compose على pull؛ أول /alive كان رداً فارغاً بينما كان Rocket يربط، ثم 200 عند الانتظار 2؛ dummy register JSON (masterPasswordHash + key قصير) كان كافياً، لا إعادة محاولة بمفتاح طويل. reverse shell. مسرح. الأوراكل هو 429 بدون الرأس و 400 مع رأس فريد.

المختبر

cd lab
./run.sh

الهدف فقط http://127.0.0.1:18170 (افتراضي) و http://127.0.0.1:18171 (IP_HEADER=none). الصورة vaultwarden/server:1.37.3.

الإصلاح

اجعل IP_HEADER افتراضياً none، أو اجعل IP_HEADER_TRUSTED_PROXIES افتراضياً قائمة فارغة / CIDR وسيط صريح. local كـ "أي نظير RFC1918" هو حالة المنفذ المنشور. وجود رأس إعادة توجيه ليس دليلاً على وسيط.

المراجع

  • github.com/dani-garcia/vaultwarden tag 1.37.3
  • src/config.rs (ip_header, ip_header_trusted_proxies)
  • src/auth.rs (ip_header_is_trusted, ClientIp)
  • src/ratelimit.rs
  • CWE-307

الترخيص

GNU Affero GPL v3.0

تنزيل الأداة